ImportError: /lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.29’ not found

flyfish

解决步骤如下

一、从 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 文件中提取所有可打印的字符串,并查找其中包含 GLIBCXX 的那些行

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

strings 是一个命令行工具,用于从二进制文件中提取可打印的字符串。
/usr/lib/x86_64-linux-gnu/libstdc++.so.6 是一个库文件的路径,它是GCC编译器提供的C++标准库的一个版本。
| 是管道符号,用于将前一个命令的输出作为后一个命令的输入。
grep GLIBCXX 是用来搜索包含特定模式(这里是 GLIBCXX)的行。
请添加图片描述

二、在整个文件系统的根目录下查找所有名字以 libstdc++.so.6 开头的文件

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

find /:这是find命令的基本用法,用于在指定的目录(这里是根目录/)及其子目录中查找文件。
-name "libstdc++.so.6*":这是一个选项,用于指定要查找的文件名匹配模式。这里的libstdc++.so.6*表示任何以libstdc++.so.6开始的文件名。

请添加图片描述

找到了

 /home/oem/anaconda3/lib/libstdc++.so.6.0.29

三、从 /home/oem/anaconda3/lib/libstdc++.so.6.0.29 文件中提取所有可打印的字符串,并查找其中包含 GLIBCXX 的那些行

strings /home/oem/anaconda3/lib/libstdc++.so.6.0.29 | grep GLIBCXX

请添加图片描述
找到了

四、复制 删除旧链接 创建新链接

复制
sudo cp /home/oem/anaconda3/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

请添加图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐