该文章参考http://tech.sxinfo.net/jctj/article.do?curMenu=14&childMenu=16&articleId=388,再结合我在实际上在Aix6.1上的安装经验来编写:
#########################相关文件的下载:
ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/
或者直接到我的网盘下载:
http://115.com/folder/f33df610af0#,如过期可以留言。
################################
安装bash
#rpm -qa | grep bash
#rpm -ivh bash-3.2-1.aix5.2.ppc.rpm
安装 gcc
#rpm -qa|grep gcc
#rpm -ivh gcc-4.2.0-3.aix5.3.ppc.rpm
#rpm -i libgcc-4.6.0-1.aix5.3.ppc.rpm
#rpm -i libstdcplusplus-4.2.0-3.aix5.3.ppc.rpm
#rpm -i libstdcplusplus-devel-4.2.0-3.aix5.3.ppc.rpm
#rpm -i gcc-cplusplus-4.2.0-3.aix5.3.ppc.rpm
安装make
#rpm -i make-3.80-1.aix5.1.ppc.rpm
安装 swftools 需要的包
rpm -i libjpeg-6b-6.aix5.1.ppc.rpm
rpm -i libjpeg-devel-6b-6.aix5.1.ppc.rpm
rpm -i zlib-1.2.3-4.aix5.2.ppc.rpm
rpm -i zlib-devel-1.2.3-4.aix5.2.ppc.rpm
rpm -i freetype2-2.3.9-1.aix5.2.ppc.rpm
rpm -i freetype2-devel-2.3.9-1.aix5.2.ppc.rpm //这个安装不成功!提示: pkg-config is needed by freetype2-devel-2.3.9.1
########################找到gz包安装: pkg-config-0.24.tar.gz报错:
见截图:
那么就找rpm安装包吧,幸好也找到了:pkg-config-0.19-6.aix5.2.ppc.rpm,安装,安装成功。
然后重新安装freetype2-devel-2.3.9-1.aix5.2.ppc.rpm ,安装成功。
###################
rpm -i libungif-4.1.2-1.aix5.1.ppc.rpm
rpm -i libungif-devel-4.1.2-1.aix5.1.ppc.rpm
rpm -i libungif-progs-4.1.2-1.aix5.1.ppc.rpm
3、 gmake 和gmake install
gunzip swftools-0.9.1.tar.gz
tar xvf swftools-0.9.1.tar
cd swftools-0.9.1
./configure // 成功
####我的configure:
./configure --prefix=/usr/local/swftools-0.9.1 --exec-prefix=/usr/local/swftools-0.9.1 --bindir=/usr/local/swftools-0.9.1/bin --sbindir=/usr/local/swftools-0.9.1/sbin --libexecdir=/usr/local/swftools-0.9.1/libexec libdir=/usr/local/swftools-0.9.1/lib
#######
gmake //注意 这里是gmake 不是make 需要安装 make-3.80-1.aix5.1.ppc.rpm
错误1
gcc -c -DHAVE_CONFIG_H -I/usr/local/include -I/usr/local/swftools-0.9.1/include -I/opt/freeware/include/freetype2 -I/opt/freeware/include -fPIC -Wimplicit -Wreturn-type -Wno-write-strings -Wformat -O -fomit-frame-pointer as3/abc.c -o as3/abc.o
In file included from as3/abc.c:27:
as3/../q.h:58: error: conflicting types for 'map_t'
/usr/include/sys/localedef31.h:174: error: previous declaration of 'map_t' was here
gmake[1]: *** [as3/abc.o] Error 1
gmake[1]: Leaving directory `/setup/ffmpeg/swftools-0.9.1/lib'
gmake: *** [all] Error 2
查看是lib/q.h 下的 map_t 类型与/usr/include/sys/localedef31.h 里的map_t类型定义冲突
解决办法:
修改 q.h 和q.c 文件
将 map_t 的类型 全部修改为 map_t_t 后边可下载修改后的swftools.0.9.1
错误2
gcc -c -DHAVE_CONFIG_H -I/usr/local/include -I/usr/local/swftools-0.9.1/include -I/opt/freeware/include/freetype2 -I/opt/freeware/include -fPIC -Wimplicit -Wreturn-type -Wno-write-strings -Wformat -O -fomit-frame-pointer pdf2swf.c -o pdf2swf.o
g++ -DHAVE_CONFIG_H pdf2swf.o -o pdf2swf ../lib/libgfxswf.a ../lib/librfxswf.a ../lib/libgfxpdf.a ../lib/libgfx.a ../lib/libbase.a -L/usr/local/lib -L/usr/local/lib -L/usr/local/swftools-0.9.1/lib -lungif -ljpeg -lz -lm -L/opt/freeware/lib -lfreetype -lz -lstdc++
ld: 0711-224 WARNING: Duplicate symbol: .__divdi3
ld: 0711-224 WARNING: Duplicate symbol: point_type
ld: 0711-224 WARNING: Duplicate symbol: .__moddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivdi3
ld: 0711-224 WARNING: Duplicate symbol: .__umoddi3
ld: 0711-224 WARNING: Duplicate symbol: .__udivmoddi4
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
ld: 0711-317 ERROR: Undefined symbol: .__STRING
collect2: ld returned 8 exit status
gmake[1]: *** [pdf2swf] Error 1
gmake[1]: Leaving directory `/setup/ffmpeg/swftools-0.9.1/src'
gmake: *** [all] Error 2
提示 Undefined symbol: .__STRING 查看问题是swftools-0.9.1/lib/gfxpoly/poly.h 文件问题
#define assert(x) ((x)?0:gfxpoly_fail(__STRING(x), __FILE__, __LINE__, __PRETTY_FUNCTION__))
修改为
#define assert(x)
即可
gfxpoly_fail 函数用来处理错误,不是必要的
错误3
这时gmake 成功,gmake install 又发生错误 提示找不到./install.sh 文件
swftools-0.9.1/install.sh 其实是存在的
这时修改 swftools-0.9.1/Makefile.common 文件
INSTALL= ./install-sh –c
为
INSTALL = 你的安装路径/swftools-0.9.1/install-sh –c
###我的: /home/bes/klcapp_test/SWFTools/swftools-0.9.1
错误4
给install.sh 执行权限
chmod u+x install-sh
成功
gmake instll
###我的:usr/local除了root用户进不去,修改权限:
修改local:chown -f bin:bin local
修改swftools-0.9.1: chown -R bes:staff swftools-0.9.1
测试:
进入pdf2swf所在目录:
./pdf2swf /home/bes/klcapp_test/SWFTools/testdir/test.pdf -o /home/bes/klcapp_test/SWFTools/testdir/test.swf
到此安装swftools 在Aix 5.3 下成功
/usr/local/bin 下pdf2swf 转换成功
修改环境变量 export PATH=$PATH: /usr/local/bin 如果需要请配置系统环境变量