Ubuntu16.04下运行TensorRT样例PyCUDA导入报boost未定义符号错误求助
导入pycuda触发未定义符号报错问题
尝试运行Nvidia TensorRT的Python样例时,在导入pycuda环节遇到如下错误:ImportError: .../pycuda-2020.1-py3.6-linux-x86_64.egg/pycuda/_driver.cpython-36m-x86_64-linux-gnu.so: undefined symbol: _ZN5boost6detail12set_tss_dataEPKvPFvPFvPvES3_ES5_S3_b
当前运行环境
- Nvidia驱动版本:460.73.01
- CUDA版本:10.0
- CUDNN版本:7.6.4
- 操作系统及版本:Ubuntu 16.04
- Python版本:3.6.13
pycuda安装执行步骤
- 安装指定版本numpy:
pip install numpy==1.16 - 安装系统级编译依赖库:
sudo apt-get install build-essential python-dev python-setuptools libboost-python-dev libboost-thread-dev -y - 手动编译安装boost库,依次执行以下命令:
./bootstrap.sh --with-libraries=python ./b2 --with-python include=".../include/python3.6m/" sudo ./b2 install - 源码编译安装pycuda:
- 执行初始化配置命令:
./configure.py --cuda-root=/usr/local/cuda-10.0 - 修改生成的siteconf.py配置:将
USE_SHIPPED_BOOST设置为False,BOOST_PYTHON_LIBNAME设置为['boost_python36'] - 执行编译安装命令:
make sudo make install
- 执行初始化配置命令:
问题表现
完成PyCuda安装后,额外部署了TensorFlow 1.15与TensorRT 7,当前错误在执行from pycuda._driver import * # noqa语句时触发,需要定位解决该导入报错问题。
内容的提问来源于stack exchange,提问作者Alex Fu
相关产品推荐
相关产品推荐

