解决服务器报错:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found

一、解决服务器报错:ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by /home/lm/anaconda3/envs/pytorch/lib/python3.9/site-packages/PIL/../../../.

这个错误是说:默认路径下的libstdc++.so.6缺少GLIBCXX_3.4.29,解决方法,如下所示:

1、指令先看下系统目前都有哪些版本的

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

操作如下:

这里只到3.4.21,所以确定是缺少GLIBCXX_3.4.29。

2、查看当前系统中其它的同类型文件,找到一个版本比较高的

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

操作如下:

选一个版本较高的,如3.4.31,使用之前的指令看看其是否包含需要的版本:

strings /home/linyi/anaconda3/pkgs/libstdcxx-ng-13.1.0-hfd8a6a1_0/lib/libstdc++.so.6.0.31 | grep GLIBCXX

3、复制适配版本到自己的系统路径下:

sudo cp /home/linyi/anaconda3/pkgs/libstdcxx-ng-13.1.0-hfd8a6a1_0/lib/libstdc++.so.6.0.31 /home/lm/anaconda/envs/py-gnu/
# 删除之前链接
sudo rm /usr/lib/x86_64-linux-gnu/libstdc++.so.6
# 创建新的链接
sudo ln -s /home/linyi/anaconda3/pkgs/libstdcxx-ng-13.1.0-hfd8a6a1_0/lib/libstdc++.so.6.0.31 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

这里会有一个权限问题:cp: cannot create regular file '/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.31': Read-only file system。

需要修改文件权限。

ll /usr/lib/x86_64-linux-gnu/libstd*

补充内容:

122为自己建立的一个txt文档.

发现libstdc++.so.6.0.31已经存在了。

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的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值