解决libstdc++.so.6: version `GLIBCXX_3.4.29‘ not found

一、问题描述

对某个包进行版本升级后突然报错如题libstdc++.so.6: version GLIBCXX_3.4.29‘ not found

二、解决方法

原因:文件动态指向的文件有问题
(1)快速查找libstdc++.so.6

locate libstdc++.so.6

查看当前ubuntu系统中现存的GLIBCXX版本:

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

(2)找到对应的版本:

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

(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

(4)如果在第二步中没有找到所需的版本,可以进行安装,如:

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-9
sudo apt install libstdc++6

Reference

[1] 正确解决libstdc++.so.6: version `GLIBCXX_3.4.26 not found问题
[2] 解决/usr/lib/x86_64-linux-gnu/libstdc++.so.6: version GLIBCXX_3.4.21’ not found问题
[3] 如何解决version GLIBCXX_3.4.29‘ not found的问题

猜你喜欢

转载自blog.csdn.net/qq_35812205/article/details/129475497