解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found

问题描述:
解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found_第1张图片
这个是默认路径下的libstdc++.so.6缺少GLIBCXX_3.4.22,你有可能缺少其它版本的比如3.4.23,解决方法一样,如下所示:

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

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

解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found_第2张图片
我这里只到3.21,所以确定是确实这个文件

(2)使用sudo find / -name "libstdc++.so.6*"来查看当前系统中其它的同类型文件,找到一个版本比较高的,
我这里列出如下:
解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found_第3张图片
比较多,我就选了一个版本较高的使用之前的指令看看其是否包含需要的版本,我这里是3.22

strings /root/anaconda3/envs/list/lib/libstdc++.so.6.0.27 | grep GLIBCXX

运行后得到如下结果
解决ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `GLIBCXX_3.4.22‘ not found_第4张图片
可以看到有需要的版本,接下来就是建立新的链接到这个文件上
(3)复制到指定目录并建立新的链接
复制

cp /root/anaconda3/envs/list/lib/libstdc++.so.6.0.27 /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.27 /usr/lib/x86_64-linux-gnu/libstdc++.so.6

之后程序成功运行

你可能感兴趣的:(Linux,linux)