一点一刻 2011-05-24
在AIX5.3下部署SWFTOOLS0.9.1、FFMPEG、Mplayer1.0rc4成功!
第一部分介绍了在Aix5.3下部署swftools0.9.1
http://tech.sxinfo.net/jctj/article.do?curMenu=14&childMenu=16&articleId=388
第二部分介绍在Aix5.3下部署ffmpeg
http://tech.sxinfo.net/jctj/article.do?curMenu=14&childMenu=16&articleId=389
第三部分介绍在Aix5.3部署mplayer
http://tech.sxinfo.net/jctj/article.do?curMenu=14&childMenu=16&articleId=390
具体解决问题如下:
一、部署SWFTOOLS0.9.1
1、下载swftools-0.9.1.tar.gz
http://www.swftools.org/download.html
2、AIX5.3需要安装的RPM包
安装bash
#rpm-qa|grepbash
#rpm-ivhbash-3.2-1.aix5.2.ppc.rpm
安装gcc
#rpm-qa|grepgcc
#rpm-igcc-4.2.0-3.aix5.3.ppc.rpm
#rpm-ilibgcc-4.6.0-1.aix5.3.ppc.rpm
#rpm-ilibstdcplusplus-4.2.0-3.aix5.3.ppc.rpm
#rpm-ilibstdcplusplus-devel-4.2.0-3.aix5.3.ppc.rpm
#rpm-igcc-cplusplus-4.2.0-3.aix5.3.ppc.rpm
安装make
#rpm-imake-3.80-1.aix5.1.ppc.rpm
安装swftools需要的包
rpm-ilibjpeg-6b-6.aix5.1.ppc.rpm
rpm-ilibjpeg-devel-6b-6.aix5.1.ppc.rpm
rpm-izlib-1.2.3-4.aix5.2.ppc.rpm
rpm-izlib-devel-1.2.3-4.aix5.2.ppc.rpm
rpm-ifreetype2-2.3.9-1.aix5.2.ppc.rpm
rpm-ifreetype2-devel-2.3.9-1.aix5.2.ppc.rpm
rpm-ilibungif-4.1.2-1.aix5.1.ppc.rpm
rpm-ilibungif-devel-4.1.2-1.aix5.1.ppc.rpm
rpm-ilibungif-progs-4.1.2-1.aix5.1.ppc.rpm
http://www.perzl.org/aix/index.php?n=Downloads.Downloads这里可以查询包依赖和下载到相关包
个人机子打包情况不同可能需要的包也不一样
http://www-03.ibm.com/systems/power/software/aix/linux/toolbox/alpha.html
ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/
以上地址都可以下载到AIXRPM包注意其他操作系统的PPCRPM包是不能在AIX下安装的
3、gmake和gmakeinstall
gunzipswftools-0.9.1.tar.gz
tarxvfswftools-0.9.1.tar
cdswftools-0.9.1
./configure//成功
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-pointeras3/abc.c-oas3/abc.o
Infileincludedfromas3/abc.c:27:
as3/../q.h:58:error:conflictingtypesfor'map_t'
/usr/include/sys/localedef31.h:174:error:previousdeclarationof'map_t'washere
gmake[1]:***[as3/abc.o]Error1
gmake[1]:Leavingdirectory`/setup/ffmpeg/swftools-0.9.1/lib'
gmake:***[all]Error2
查看是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-pointerpdf2swf.c-opdf2swf.o
g++-DHAVE_CONFIG_Hpdf2swf.o-opdf2swf../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-224WARNING:Duplicatesymbol:.__divdi3
ld:0711-224WARNING:Duplicatesymbol:point_type
ld:0711-224WARNING:Duplicatesymbol:.__moddi3
ld:0711-224WARNING:Duplicatesymbol:.__udivdi3
ld:0711-224WARNING:Duplicatesymbol:.__umoddi3
ld:0711-224WARNING:Duplicatesymbol:.__udivmoddi4
ld:0711-345Usethe-bloadmapor-bnoquietoptiontoobtainmoreinformation.
ld:0711-317ERROR:Undefinedsymbol:.__STRING
collect2:ldreturned8exitstatus
gmake[1]:***[pdf2swf]Error1
gmake[1]:Leavingdirectory`/setup/ffmpeg/swftools-0.9.1/src'
gmake:***[all]Error2
提示Undefinedsymbol:.__STRING查看问题是swftools-0.9.1/lib/gfxpoly/poly.h文件问题
#defineassert(x)((x)?0:gfxpoly_fail(__STRING(x),__FILE__,__LINE__,__PRETTY_FUNCTION__))
修改为
#defineassert(x)
即可
gfxpoly_fail函数用来处理错误,不是必要的
错误3
这时gmake成功,gmakeinstall又发生错误提示找不到./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
错误4
给install.sh执行权限
chmodu+xinstall-sh
成功
gmakeinstll
到此安装swftools在Aix5.3下成功
/usr/local/bin下pdf2swf转换成功
修改环境变量exportPATH=$PATH:/usr/local/bin如果需要请配置系统环境变量
下载修改后的
http://tech.sxinfo.net/UserFiles/admin/File/software/swftools-0.9.1_aix5.3.tar.gz