ImportError: /usr/lib/x86_64-linux-gnu/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by

这个和上一篇文章出现的问题大同小异。

大概說一下:

(1)运行以下命令检查动态库:

cd /usr/lib/x86_64-linux-gnu

sudo strings libstdc++.so.6 | grep GLIBC
sudo strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep CXXABI(红色部分换成提示错误的地址)

# 输出结果如下:

CXXABI_1.3
CXXABI_1.3.1
CXXABI_1.3.2
CXXABI_1.3.3
CXXABI_1.3.4
CXXABI_1.3.5
CXXABI_1.3.6
CXXABI_1.3.7
CXXABI_TM_1

从以上输出可以看出,gcc的动态库还是旧版本的。说明出现这些问题,是因为升级gcc时,生成的动态库没有替换老版本gcc的动态库。即Linux升级安装GCC .

(2)执行以下命令,查找编译gcc时生成的最新动态库:

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

## 结果
/usr/share/gdb/auto-load/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19-gdb.py
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.19
/home/helloworld/anaconda3/pkgs/libstdcxx-ng-7.2.0-hdf63c60_3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
/home/helloworld/anaconda3/pkgs/libstdcxx-ng-7.2.0-hdf63c60_3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.24
/home/helloworld/anaconda3/pkgs/libstdcxx-ng-7.2.0-hdf63c60_3/lib/libstdc++.so.6
/home/helloworld/anaconda3/pkgs/libstdcxx-ng-7.2.0-hdf63c60_3/lib/libstdc++.so.6.0.24
/home/helloworld/anaconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6
/home/helloworld/anaconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.24
/home/helloworld/anaconda3/lib/libstdc++.so.6
/home/helloworld/anaconda3/lib/libstdc++.so.6.0.24

#不知道为什么 ,我这里出现的文件特别多,这只是一部分,可能是我安装次数比较吧,但文件夹的位置都是一致的.

看出 /home/helloworld/anaconda3  是之前升级gcc时的输出目录。

(3)将上面的最新动态库libstdc++.so.6.0.24复制到/usr/lib/x86_64-linux-gnu/目录下:

cp /home/helloworld/anaconda3/x86_64-conda_cos6-linux-gnu/sysroot/lib/libstdc++.so.6.0.24 /usr/lib/x86_64-linux-gnu/

(4)接下来重建默认库的软连接:

进入/usr/lib/x86_64-linux-gnu 目录,

删除原来软连接:
sudo rm -rf libstdc++.so.6

(5) 将默认库的软连接指向最新动态库:

sudo ln -s libstdc++.so.6.0.24 libstdc++.so.6

(6)默认动态库升级完成。重新运行以下命令检查动态库:

sudo strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep 'CXXABI' 

结果如下:

helloworld@helloworld-HP-Z420-Workstation:/usr/lib/x86_64-linux-gnu$ strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBC
...    #省略
CXXABI_1.3.8
CXXABI_1.3.9
CXXABI_1.3.10
CXXABI_1.3.11
CXXABI_TM_1
CXXABI_FLOAT128
CXXABI_1.3
CXXABI_1.3.11
CXXABI_1.3.2
CXXABI_1.3.6
CXXABI_FLOAT128
CXXABI_1.3.9
CXXABI_1.3.1
CXXABI_1.3.5
CXXABI_1.3.8
CXXABI_1.3.4
CXXABI_TM_1
CXXABI_1.3.7
CXXABI_1.3.10
CXXABI_1.3.3

猜你喜欢

转载自blog.csdn.net/m0_37644085/article/details/81914288