该机器(aix6.1)没有C/C++环境,请支持安装gcc
咨询800,xlC编译环境是收费的,而且该机器没有购买C++服务
随机带的toolbox工具盘中有gcc相关包,为4.2.0-3版本
网址:ftp://ftp.software.ibm.com/aix/freeSoftware/aixtoolbox/RPMS/ppc/gcc/也可以下载到gcc各种rpm包,经验证,目前在IBM机器运行较好的是4.2.0-3版本
处理进程:
下载gcc-4.2.0版本rpm包安装,编译不能通过
当前系统中gcc关联的lib*等rpm包安装版本为4.2.4,
下载gcc-4.2.4版本,安装发现很多错误,不能安装
将gcc关联的lib*等包降级到4.2.0版本,
rpm -qa
rpm -e libstdc++-4.2.4
……
rpm -ivh libgcc-4.2.0-3.aix6.1.ppc.rpm
并分步骤补齐以下包:
# rpm -qa
libgcc-4.2.0-3
libstdc++-4.2.0-3
bash-4.1-3
gcc-4.2.0-3
gcc-c++-4.2.0-3
libgcj-4.2.0-3
gcc-locale-4.2.0-3
libffi-4.2.0-3
libstdc++-devel-4.2.0-3
libffi-devel-4.2.0-3
libgomp-4.2.0-3
gcc-java-4.2.0-3
gcc-gij-4.2.0-3
zlib-1.2.3-4
zlib-devel-1.2.3-4
libgcj-devel-4.2.0-3
编译报错少了,但是仍不能通过
报错如下:
ld: 0711-317 ERROR: Undefined symbol: .__sync_fetch_and_add_4
ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
collect2: ld returned 8 exit status
gmake[1]: *** [libTAO_IDL_BE.so.5.6.0] Error 1
gmake[1]: Leaving directory `/opt/ace/ACE_wrappers/TAO/TAO_IDL'
以上错误经过调整程序后,定位到如下问题,此问题IBM需要给系统打补丁来解决
主要是补丁包bos.adt.include(当前该补丁包版本为:bos.adt.include 6.1.0.1
)的版本的bug:
Fix pack information for: EXTERN \\"BUILTIN\\" NOT RECOGNIZED IN /USR/INCLUDE/MA
包括系统维护版本:6100-00,6100-02,6100-03,6100-04
参考网址:
http://www-01.ibm.com/support/docview.wss?uid=isg1IZ37269
针对不同的系统版本,下载补丁:
#oslevel -s
6100-00-01-0748,对应的维护补丁集为6100 TL0 SP10
http://www-01.ibm.com/support/docview.wss?uid=isg1fixinfo112913
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/17065702/viewspace-662019/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/17065702/viewspace-662019/