AIX5.3下部署SWFTOOLS、FFMPEG、Mplayer 第一部分SWFTOOLS

在AIX5.3下部署SWFTOOLS 0.9.1、FFMPEG、Mplayer 1.0rc4 成功!
第一部分介绍了在Aix 5.3下部署swftools 0.9.1
http://tech.sxinfo.net/jctj/article.do?curMenu=14&childMenu=16&articleId=388
第二部分 介绍在Aix 5.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

具体解决问题如下:
一、 部署SWFTOOLS 0.9.1
1、 下载 swftools-0.9.1.tar.gz

http://www.swftools.org/download.html

2、 AIX5.3 需要安装的RPM包

安装bash
#rpm -qa | grep bash
#rpm -ivh  bash-3.2-1.aix5.2.ppc.rpm

安装 gcc
#rpm -qa|grep gcc
#rpm -i 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
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
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/
以上地址都可以下载到AIX RPM包 注意 其他操作系统的PPC RPM包是不能在AIX下安装的
3、 gmake 和gmake install 
  gunzip swftools-0.9.1.tar.gz
  tar xvf swftools-0.9.1.tar
  cd swftools-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-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

错误4
   
给install.sh 执行权限
chmod u+x install-sh

成功

gmake instll


到此安装swftools 在Aix 5.3 下成功

/usr/local/bin   下pdf2swf 转换成功
修改环境变量 export  PATH=$PATH: /usr/local/bin   如果需要请配置系统环境变量

下载修改后的
http://tech.sxinfo.net/UserFiles/admin/File/software/swftools-0.9.1_aix5.3.tar.gz

你可能感兴趣的:(C++,C#,gcc,bash,AIX)