指定python版本,源码安装boost

当使用apt-get安装的libboost-all-dev与ATC工具包的python版本不匹配时,导致 InnerError:Failed to init tbe 错误。通过下载boost源码并使用python3.7进行编译安装来解决此问题。步骤包括下载源码,运行bootstrap.sh脚本,配置编译包含python3.7头文件和库路径,最后执行b2进行编译、安装和加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、指定python版本,编译boost源码原因:

        使用apt-get install --no-install-recommends libboost-all-dev直接安装boost时,会默认安装python3.6版本,但是在用atlas开发环境时,安装的toolkits依赖的是python3.7以上。因为之前先安装了python3.6,所以在使用atc命令时会出现如下错误(Inner Error:Failed to init tbe):

        在出现此错误时,可以在atc命令后面添加--log=debug,可以打印清楚的错误日志,就会出现提示现在使用的python版本是3.6的,而atc.bin最低使用3.7以上的版本。

        为了解决此问题,决定重新用python3.7对boost进行编译安装。 

二、在次使用的python3.7编译安装boost,这里记录一下过程:

(1)去官网先下载boost源码:Boost Version History

(2)解码boost源码,cd进入boost源码路径下;

(3)执行booststrap脚本:

./bootstrap.sh --with-python=python3 --with-python-root=/home/python3.7.5/bin/python3.7 --with-python-version=3.7

其中/home/python3.7.5/bin/python3.7为自己的python3.7编译安装路径。

(4)修改编译配置

        必须在配置中添加python的头文件路径和库路径(一定确认下libpython3.Xm.so存在,这跟编译py时的参数有关,需要加–enable-shared)。在project-config.jam中进行设置

...

# Python configuration

import python ;

if ! [ python.configured ]

{

using python : 3.7 : "/home/python3.7.5/bin/python3.7" : /home/python3.7.5/include/python3.7m : /home/python3.7.5/lib;

}

...

​​​​​​(5)编译、安装、加载

$ sudo ./b2

$ sudo ./b2 install

$ sudo ldconfig /usr/local/lib

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值