ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26‘ not found

在运行程序的时候报错:

import cv2
ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.26’ not found (required by /home/dongyitong/anaconda3/envs/torch-ngp/lib/python3.10/site-packages/cv2.cpython-310-x86_64-linux-gnu.so)
(torch-ngp)

后面使用conda uninstall opencvpip install opencv-python 重新安装opencv,仍旧报错:

ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found (required by /home/yitong/anaconda3/envs/torch-ngp/lib/python3.10/site-packages/google/protobuf/pyext/_message.cpython-310-x86_64-linux-gnu.so)

解决:

网上资料显示调用的高版本的gcc,生成的动态库没有替换老版本gcc的动态库导致。解决方法分别有以下几种:
1、重新安装scipy

pip uninstall scipy
pip install scipy

但是这种方法对我没用

2、查找当前环境有没有GLIBCXX_3.4.29

strings /home/name/acaconda3/envs/torch-ngp/lib/libstdc++.so.6 | grep GLIBC

发现是有的(之前查找没有对应版本,猜测可能是因为重新安装opencv以及scipy生成了)
在环境中添加:

export LD_LIBRARY_PATH=/home/name/anaconda3/envs/torch-ngp/lib

解决问题!

你可能感兴趣的:(linux,gnu,c++)