1. 报错信息

Traceback (most recent call last):
  File "/opt/model/custom_bin/test_gpu.py", line 1, in <module>
    import pycuda.driver as cuda
  File "/home/dongdong/miniconda3/envs/hugging4/lib/python3.10/site-packages/pycuda/driver.py", line 66, in <module>
    from pycuda._driver import *  # noqa
ImportError: /home/dongdong/miniconda3/envs/hugging4/bin/../lib/libstdc++.so.6: version `GLIBCXX_3.4.32' not found (required by /home/dongdong/miniconda3/envs/hugging4/lib/python3.10/site-packages/pycuda/_driver.cpython-310-x86_64-linux-gnu.so)

2. 解决问题

2.1 先判断是不是系统缺少一个特定版本的 libstdc++库。这通常是由于系统的 GCC 版本较旧,需要更新libstdc++` 库。
如果是版本较旧:则更新系统的 GCC 版本
A、 更新 GCC: 安装或更新你的 GCC 版本,以确保你有最新的 libstdc++ 库。

sudo apt update
sudo apt install gcc g++
也可以使用使用 Conda 安装合适版本的 libstdc++
conda install -c conda-forge libstdcxx-ng

B、 验证 libstdc++ 版本:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX

确保输出中包含 GLIBCXX_3.4.30。

2.2 如果出现GLIBCXX_3.4.30还是报错,那我们建立软链接

这里的报错路径需要设置的跟报错路径一样,注意一下。


cd /home/dongdong/miniconda3/envs/hugging4/bin/../lib/
mv libstdc++.so.6 libstdc++.so.6.old
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6 libstdc++.so.6

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐