环境:aix5.3
gcc版本:4.7.0 (下载地址AIX Open Source Packages | Main / GCC)
boost版本:1.53
逐个编译:./bootstrap.sh --with-libraries=***; ./b2 (其中***为库名。如thread生成libboost_thread.so)
************************************************
1、编译报错internal compiler error: Segmentation fault,极有可能现有gcc版本与boost版本不符,先卸载当前的gcc所有相关rpm包(命令rpm -qa | grep gcc , rpm -qa | grep std查找包),再从AIX Open Source Packages | Main / GCC下载最新版本的gcc,根据系统版本查找最新gcc包。
其中需要大量依赖包,具体如下图,依次安装即可。
2、生成libboost_thread
报错:libs/thread/src/pthread/thread.cpp:439: error: invalid conversion from 'const timespec*' to 'timespec*'
修改方法:添加一个临时对象tmp获取原const对象ts的值,再次传参
3、生成libboost_iostream
报错:libs/iostreams/src/zlib.cpp:20:76: fatal error: zlib.h: No such file or directory
修改方法:下载zlib-devel包进行安装,下载地址AIX Open Source Packages | Main / zlib,之后rpm -ivh安装即可。
报错:libs/iostreams/src/bzip2.cpp:20:56: fatal error: bzlib.h: No such file or directory
修改方法:下载bzip库,下载地址Index of /aix/freeSoftware/aixtoolbox/RPMS/ppc/bzip2
4、生成libboost_python
问题:编译没有报错,却没生成库文件,原因是没有安装python
修改方法:下载python的rpm包进行安装,地址AIX Open Source Packages | Main / Python
依赖如下图(其他依赖在安装gcc是已安装)
报错:./boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory
修改方法:下载安装devel开发库,地址AIX Open Source Packages | Main / Python
未编译成功库libboost_context