处理CentOS的报错信息 version "CXXABI_1.3.9" not found
字数 519 字 阅读时长 ≈ 2 分钟
特别说明,升级glibc属于系统核心操作,极易造成系统崩溃,一旦崩溃,重启都无效。
如果没有十足把握,建议参考 CentOS7下升级GLIBC2.31 这篇文章进行操作。完全保姆级的,全避坑。
以下是我自己的操作,过程中出现了报错,出现了重启无法进入系统。进行了一系列修复,才成功升级。
NodeJs测试服务端总是重启,日志又没有任何异常,就很绝望。在不断细化日志也没有找到问题以后,只能怀疑内存和堆栈了。于是查了一圈,发现heapdump似乎还不错,准备使用。
反正不顺利是常态,在本地测试ok后,就部署到测试服准备等结果。结果是直接报错了。
1 | ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found |
网上还是很容易查到相关信息,但实际上解决起来并不简单,问题都是一环扣一环的。
首先发现需要更新glibc,那么就在官网地址:http://ftp.gnu.org/gnu/glibc/ 下载了一个版本。然后尝试编译安装。
1 | tar -xf glibc-2.32.tar.gz |
然而make是过不了的,提示说:
1 | *** These critical programs are missing or too old: make compiler |
又继续上网查资料,说make和gcc版本又太低。这……
好吧,那么又开始更新make和gcc,可以参考这两个链接来处理:
上面gcc编译非常耗费时间,能不等就不要等,差一点的服务器直接是按小时计算的。
更新结束以后,回来继续编译glibc。
1 | make & make install |
最后检测一下
1 | ls -l /lib64/libc.so.6 |
如果找不到,或者发现链接有问题,就手动链接一下
1 | cd /usr/local/lib64 |
♦ 本文固定连接:https://www.gsgundam.com/archive/2022-06-03-cxxabi-1.3.9-not-fount-libstdc-so-6-centos/
♦ 转载请注明:GSGundam 2022年06月03日发布于 GSGUNDAM砍柴工
♦ 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
♦ 原创不易,如果页面上有适合你的广告,不妨点击一下看看,支持作者。(广告来源:Google Adsense)
♦ 本文总阅读量次