如何解决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)

在这里插入图片描述这个是默认路径下的libstdc++.so.6缺少GLIBCXX_3.4.29,解决方法,如下所示:

(1)使用指令先看下系统目前都有哪些版本的

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

在这里插入图片描述
在这里插入图片描述
我这里只到3.28,所以确定是缺少GLIBCXX_3.4.29。
(2)来查看当前系统中其它的同类型文件,找到一个版本比较高的

sudo find / -name "libstdc++.so.6*"

在这里插入图片描述在这里插入图片描述
版本比较多,就选了一个版本较高的,我这里是3.4.29,使用之前的指令看看其是否包含需要的版本:

strings /home/yunjie/anaconda3/envs/mmaction2/lib/libstdc++.so.6.0.29 | grep GLIBCXX 

在这里插入图片描述
可以看到有需要的版本,接下来就是建立新的链接到这个文件上
(3)复制到指定目录并建立新的链接

# 复制
sudo cp /home/yunjie/anaconda3/envs/mmaction2/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*

在这里插入图片描述

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
version GLIBCXX_3.4.29 not found是一个错误消息,意味着你的系统中缺少GLIBCXX_3.4.29版本的libstdc++. 这个错误通常在安装某些软件时出现,比如AWVS Acunetix Web Vulnerability Scanner或Anaconda。解决这个问题的方法如下: 1. 首先,你需要找到当前系统中libstdc++.so.6文件的位置和版本。可以使用以下命令来查找: ``` locate libstdc++.so.6 ``` 或者使用以下命令来查看当前系统中libstdc++.so.6文件的版本: ``` strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX ``` 2. 找到对应的GLIBCXX版本后,你可以将该版本的libstdc++.so.6文件复制到指定目录,并创建软链接。假设你需要复制的文件是libstdc++.so.6.0.29,指定目录是/usr/lib/x86_64-linux-gnu/,你可以使用以下命令完成: ``` 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 ``` 注意替换文件路径和版本号为你实际的路径和版本号。 3. 如果在第二步中没有找到所需版本的libstdc++.so.6文件,你可以尝试使用以下命令安装所需的版本: ``` sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt update sudo apt install gcc-9 sudo apt install libstdc++6 ``` 这将安装gcc-9和libstdc++.6,并提供所需的GLIBCXX版本。 这些方法应该能够解决version GLIBCXX_3.4.29 not found的问题
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值