罪恶克星 发表于 2024-6-20 20:28:56

如何解决version `GLIBCXX_3.4.29‘ not found的标题

首先,运行时出现的标题如下:
ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/wuye/anaconda3/envs/tf2/lib/python3.8/site-packages/google/protobuf/pyext/_message.cpython-38-x86_64-linux-gnu.so)
https://img-blog.csdnimg.cn/02924884b9194ff4bca70607cb2187ee.png
这个是默认路径下的libstdc++.so.6缺少GLIBCXX_3.4.29,解决方法,如下所示:
(1)利用指令先看下体系目前都有哪些版本的
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
https://img-blog.csdnimg.cn/0bdf0a59a4c5451fbe794333c43a2f33.png
我这里只到3.28,所以确定是缺少GLIBCXX_3.4.29。
(2)来查看当前体系中其它的同类型文件,找到一个版本比较高的
sudo find / -name "libstdc++.so.6*"
https://img-blog.csdnimg.cn/3890a5bc8794458c94dc5a92cef42a25.png
https://img-blog.csdnimg.cn/2b5c405e4bee498d9cf702e88114a74d.png
版本比较多,就选了一个版本较高的,我这里是3.4.29,利用之前的指令看看其是否包罗需要的版本:
strings /home/wuye/anaconda3/envs/tf2/lib/libstdc++.so.6.0.29 | grep GLIBCXX
https://img-blog.csdnimg.cn/aeaef65ca4fa42cf8d26f89bb0e3e9f3.png
可以看到有需要的版本,接下来就是建立新的链接到这个文件上
(3)复制到指定目录并建立新的链接
# 复制
sudo cp /home/wuye/anaconda3/envs/tf2/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/
# 删除之前链接
sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
# 创建新的链接
sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
之后步伐一般是能够乐成运行的
【留意】有时候由于权限标题,我们需要查看它们的权限
ll /usr/lib/x86_64-linux-gnu/libstd*

https://img-blog.csdnimg.cn/9ee44fc650ed4a62854f4ceffdebdbed.png

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 如何解决version `GLIBCXX_3.4.29‘ not found的标题