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

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐