boost编译失败

概述

本文档介绍再编译 openGauss-third_party 三方库时候,boost 编译失败解决方法。 目前在 1.1.0 2.0.0 版本都适用。

错误分析和处理

在编译 openGauss-third_party 三方库时候,我们首先在 build 目录下执行sh build.sh,三方库自行编译。 但是经常遇到在编译到 boost 的时候,脚本终止掉了。很明显,这里面编译出错了。

dependency 依赖的编译日志在 dependency/build 目录下 demo.log,这里面可以很明显的看到错误信息。 也可以进入到dependency/boost目录下,单独编译,看看报错。

sh build.sh -m all

可以看到缺少了 pyconfig.h 头文件。 使用 yum provides */pyconfig.h 查找下,发现在 python-devel 包里面,需要安装下python2-devel包。 

yum install python2-devel
yum install python3-devel

其实我们在编译前,已经安装过这两个依赖。但是还是出现了这个问题。。。。

我们在开始编译的时候,做了这个操作,将 python 链接到 python3: ln -s /usr/bin/python3 /usr/bin/python

这里是因为,三方库里面有很多需要使用 python3 编译的三方库,但是脚本中写的/usr/bin/python的执行环境,所以需要做这个链接操作,将 python 指向 python3。
但是 boost 编译,依赖的头文件是 python2-devel 的,这里需要将 python 链接到 python2 上。如下:

unlink /usr/bin/python
ln -s /usr/bin/python2 /usr/bin/python

再次编译 sh build.sh -m all,编译成功。

在 dependency/build/build_dependency.sh 里面,注释掉已经编译好的脚本片段,执行 sh build_dependency.sh 继续编译未完成的三方库。

注意:在编译完 boost 后,还需要将 python 再链接到 python3,以完成后面三方库的编译工作。

unlink /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python
  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值