遇到问题:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found (requ

昨天把常用的虚拟环境打乱了,然后今天跑yolov5报了错:

ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/fxp/fxp/envs/paddle/lib/python3.9/site-packages/scipy/spatial/ckdtree.cpython-39-x86_64-linux-gnu.so)

解决办法:

首先查看对应库的版本信息,终端输入:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4

出现:

遇到问题:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found (requ_第1张图片

可以看出,目前的库支持的最高版本是GLIBCXX_3.4.25;

在其他位置再查找一个高本版本的libstdc++.so.6:

find / -name libstdc++.so.6

然后尝试对找到的其他位置的libstdc++.so.6,查看支持的最高版本;如果满足支持GLIBCXX_3.4.29,就尝试将 /usr/lib/x86_64-linux-gnu/libstdc++.so.6位置的库替换掉,替换掉的命名行:

将之前的库移除:

sudo mv /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /usr/lib/x86_64-linux-gnu/libstdc++.so.6_old

将新找到的库粘贴过来:

sudo cp /home/fxp/fxp/envs/paddle/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/

制作一个软链接:

 sudo ln -s /home/fxp/fxp/envs/paddle/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

查看替换后的结果:

strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX_3.4

遇到问题:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found (requ_第2张图片

你可能感兴趣的:(C++学习,linux,linux,gnu,运维)