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

打印 上一主题 下一主题

主题 867|帖子 867|积分 2601

首先,运行时出现的标题如下:
  1. 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)
复制代码

这个是默认路径下的libstdc++.so.6缺少GLIBCXX_3.4.29,解决方法,如下所示:
(1)利用指令先看下体系目前都有哪些版本的
  1. strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
复制代码

我这里只到3.28,所以确定是缺少GLIBCXX_3.4.29。
(2)来查看当前体系中其它的同类型文件,找到一个版本比较高的
  1. sudo find / -name "libstdc++.so.6*"
复制代码


版本比较多,就选了一个版本较高的,我这里是3.4.29,利用之前的指令看看其是否包罗需要的版本:
  1. strings /home/wuye/anaconda3/envs/tf2/lib/libstdc++.so.6.0.29 | grep GLIBCXX
复制代码

可以看到有需要的版本,接下来就是建立新的链接到这个文件上
(3)复制到指定目录并建立新的链接
  1. # 复制
  2. sudo cp /home/wuye/anaconda3/envs/tf2/lib/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/
  3. # 删除之前链接
  4. sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
  5. # 创建新的链接
  6. sudo ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.29 /usr/lib/x86_64-linux-gnu/libstdc++.so.6
复制代码
之后步伐一般是能够乐成运行的
【留意】有时候由于权限标题,我们需要查看它们的权限
  1. ll /usr/lib/x86_64-linux-gnu/libstd*
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

罪恶克星

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表