昨天把常用的虚拟环境打乱了,然后今天跑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
出现:
可以看出,目前的库支持的最高版本是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
将新找到的库粘贴过来: