AIX的iso镜像中没有gcc的软件包,需要我们自己下载,我们可以在
Index of /download/rpmdb/deplists/aix72
下载对应gcc和g++版本的依赖文件deps
我们使用的是4.9.4版本的软件包
我们首先安装gcc,在http://www.oss4aix.org/download/everything/RPMS/下载所有的依赖包
使用rpm -ivh *安装所有依赖包的rpm文件
安装完成后gcc就被安装到了/usr/bin/目录下,然后我们在下载gcc-c++的所有依赖包
但是这个时候我们再执行rpm的时候可能就存在问题了,在调用rpm的一个库文件的时候会报错
exec(): 0509-036 Cannot load program /usr/opt/freeware/bin/rpm because of the following errors:
0509-150 Dependent module libintl.a(libintl.so.1) could not be loaded.
0509-022 Cannot load module libintl.a(libintl.so.1).
0509-026 System error: A file or directory in the path name does not exist.
我们可以参考:https://www.it610.com/article/1288352795635818496.htm
造成这一原因的问题在于我们在一台已经安装了rpm.rte 4.13.0以上的版本的AIX系统上安装了gettext-0.10.40-8.ppc
rpm使用的libintl.a中包括了
# ar -X32_64 -tv /usr/opt/rpm/lib/libintl.a
rwxr-xr-x 0/0 86741 Jun 02 08:56 2016 libintl.so.8
rwxr-xr-x 0/0 94425 Jun 02 08:50 2016 libintl.so.8
rwxr-xr-x 0/0 114582 Apr 06 13:53 2017 libintl.so.1
rwxr-xr-x 0/0 130986 Apr 06 13:53 2017 libintl.so.1
而gettext使用的libintl.a只包括了
# ar -X32_64 -tv /opt/freeware/lib/libintl.a | grep libintl
rwxr-xr-x 203/1 114582 Jan 04 14:38 2008 libintl.so.1
rwxr-xr-x 203/1 130986 Jan 04 14:40 2008 libintl.so.1
最简单的办法就是找一台正常的机器,将/opt/freeare/lib/libintl.a替换掉