/lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found

/lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found

来自网络

2022-04-06 17:52 阅读 847 喜欢 0 gm转pdf

绝命一击 ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.8’ not found

libstdc++.so.6 版本过低导致的

看看自己的 libstdc++.so.6 里是否包含了 CXXABI_1.3.8

# strings /usr/lib64/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版本过低,用SCL(关于scl https://linux.cn/article-6776-1.html ) 升级GCC毛用都没有,根本不能升级 libstdc++.so.6 所以我们要升级 libstdc++.so.6 ,顺便升级GCC。如果只升级GCC(通过scl)是无效的,因为gcc的版本高了,但是他的libstdc++是 require的 原来的 libstdc++.so.6

不信你看

# cat /opt/rh/devtoolset-7/root/usr/lib/gcc/x86_64-redhat-linux/7/libstdc++.so

/* GNU ld script
   Use the shared library, but some functions are only in
   the static library, so try that secondarily.  */
OUTPUT_FORMAT(elf64-x86-64)
INPUT ( /usr/lib64/libstdc++.so.6 -lstdc++_nonshared )

所以蛋疼了吧???

只有一个解决方法就是重新编译GCC。

编译GCC

命令如下:

sudo yum install gmp-devel mpfr-devel libmpc-devel -y
cd download
wget ftp://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.xz
xz -d gcc-9.2.0.tar.xz
tar -xf gcc-9.2.0.tar
cd gcc-9.2.0
./configure --disable-multilib --enable-languages=c,c++ --prefix=$HOME/local
make -j4
make -j install

安装完毕后,将新安装的路径加入到环境变量里。

export LD_LIBRARY_PATH=$HOME/local/lib64

可以在 ~/.bash_profile 里加上 PATH=$HOME/local/bin:$PATH 把local 放到前面,以防同时存在相同名称bin的时候,能调用本地的bin文件 把 LD_LIBRARY_PATH=$HOME/local/lib64 也加到 .base_profile里,可以方便以后使用。 done.

转自:https://blog.csdn.net/EI__Nino/article/details/100086157


感谢支持!

赞赏支持
提交评论
评论信息 (请文明评论)
暂无评论,快来快来写想法...
推荐
其实之前一直是有问题的,但是没有仔细查找原因,不过最近又被客户催了,赶紧找了找问题,仔细看了下,这里记录下。
昨天搬家,又重新折腾了下小主机,准备安装一个服务器管理工具,查了下比较不错的有cockpit,webmin,首先由于cockpit 官网界面不错,优先用了这个,不过安装后启动报错,这块也不太懂,也没查到,就先换了试试webmin.
前几天安装的centos8 最近还是没能逃过卸载的命运,现在安装了 centos8 stream 了,真爽,之前的网卡怎么都读取不出来,换这个秒出,连无线都能直接连了,索性直接安装了GUI版本
由于服务器底层libc升级失败,导致很多服务都无法使用了,还原又还原不回去,还不想重装系统,只能先用docker跑下这些服务。
grep 'temporary password' /var/log/mysqld.log
mysql 报错: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock
最近入手一台小机器,准备做个小服务器啥的,搞上了centos8 后,网络问题折腾了我两天...太他妈费劲了。
通过expect来实现shell交互,自动输入账号密码