aix下编译boost库问题汇总

本文详细记录了在AIX 5.3环境下,使用GCC 4.7.0编译Boost 1.53遇到的内部编译错误、类型转换问题、缺失头文件错误以及Python依赖问题。解决方案包括升级GCC到最新版,安装必要的依赖包如zlib和bzip2,以及解决Python开发库的缺失问题。过程中涉及的步骤和错误修复对于在AIX系统上构建C++开发环境具有参考价值。
摘要由CSDN通过智能技术生成

环境: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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值