該文章參考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 如果需要請配置系統內容變數