Linux:ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found
运行某代码时出现以下错误:
ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found
原因是是 /usr/lib/x86_64-linux-gnu
路径下的 libstdc++.so.6
缺少GLIBCXX_3.4.29
输入以下指令查看,当前有哪些版本
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
可以看到,确实缺少了 GLIBCXX_3.4.29
解决办法:
先查看系统下同类型文件,存在的高版本文件
find / -name "libstdc++.so.6*"
只要出现了大于等于所需版本的文件,任意选择一个即可,如:
并再次确认其是否存在需要的版本
strings /root/anaconda3/lib/libstdc++.so.6.0.29 | grep GLIBCXX
可以看到存在我们所需要的文件版本,接下来将文件拷贝过去,并建立软链接
# 拷贝文件
cp /root/anaconda3/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/
# 删除原链接
rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
# 建立新的连接
ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6