报错信息ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9‘ not found (required by............)

出现这些问题,是因为升级 gcc 时,生成的动态库没有替换老版本 gcc 的动态库。

查看动态库:

strings /usr/lib64/libstdc++.so.6 | grep CXXABI

结果如下:

CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3


发现最高版本只有1.3.3,没有1.3.9的。 说明出现这些问题,是因为升级 gcc 时,生成的动态库没有替换老版本 gcc 的动态库。

ls -l /usr/lib/libstdc++.so.6
/usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.13


我们发现libstdc++.so.6是个软连接,是连接到libstdc++.so.6.0.13上的,而libstdc++.so.6.0.13是老版本的动态库。所以下面我们要做的就是将libstdc++.so.6连接到新版本的动态库上去。
 执行以下命令,查找编译 gcc 时生成的最新动态库:(有时找不到最新的动态库,可以参考方案二)

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

将上面命令得到的最新目录复制到/usr/lib64/目录下: 

cp /home/user/anaconda3/pkgs/libstdcxx-ng-8.2.0-hdf63c60_1/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.25 /usr/lib64/

将 libstdc++.so.6连接到libstdc++.so.6.0.25上去:

cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.25 libstdc++.so.6

升级完成,重新运行以下命令检查动态库:

strings /usr/lib64/libstdc++.so.6 | grep 'CXXABI'

方案二:
进行到方案一中b时,如果找不到gcc中的最新的动态库,可以将anaconda3/lib 中的 最新的动态库libstdc++.so.6.0.24” (可能有的版本不一样,只要是版本最新的即可) ,拷贝到“ /usr/lib64”目录下。

strings /anaconda3/lib/libstdc++.so.6 | grep 'CXXABI'

再将libstdc++.so.6连接到libstdc++.so.6.0.24上去。

参考:

ImportError: /lib64/libstdc++.so.6: version ‘CXXABI_1.3.9’ not found_Slientsake的博客-CSDN博客

报错信息ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by............)_追求卓越583的博客-CSDN博客

你可能感兴趣的:(linux,运维,服务器)