【Linux Ops】如何替换 libstdc++ 提升 GLIBCXX 版本
1.【Linux Ops】如何替换 libstdc++ 提升 GLIBCXX 版本
【环境】kos5.8sp2, kernel5.10
还是上一篇提到的那个软件环境,其依赖的 GLIBCXX 版本较高,因此在安装时给出了以下错误:
xxx: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.29' not found (required by xxx)
执行 strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX,查看当前环境中的 GLIBCXX,发现确实没有
示例:

思路一:
可以先查一下系统中有没有现成的 libstdc++.so.6.xx (6.0.29 及以上),如果有的话,直接重新将 /usr/lib64/libstdc++.so.6 链接过去。
网上有很多教程步骤,这里不再赘述。
思路二
如果思路一中并没有找到合适的 so,那么建议更新 gcc 的版本。这里仅仅下载 gcc 高版本是不行的,需要重新编译。
1)下载新版本 gcc
wget https://ftp.gnu.org/gnu/gcc/gcc-12.2.0/gcc-12.2.0.tar.gz
tar -zxvf gcc-12.2.0.tar.gz
cd gcc-12.2.0/
2)安装相关依赖
./contrib/download_prerequisites
输出类似如下信息即为成功:
[terark@3afe42f77751 gcc-12.2.0]$ ./contrib/download_prerequisites
gmp-6.2.1.tar.bz2: OK
mpfr-4.1.0.tar.bz2: OK
mpc-1.2.1.tar.gz: OK
isl-0.24.tar.bz2: OK
All prerequisites downloaded successfully.
这里可能会遇到的问题:
./contrib/download_prerequisites: line 261: bzip2: command not found解决方法:
sudo yum install -y bzip2
3)开始编译
mkdir build && cd build
../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib
make -j50
make install
这里如果编译不过,看情况,可能需要切换高版本 gcc 环境。
如果需要切换高版本环境,建议直接安装 gcc-toolset-11/12,然后使用 scl 工具切换。
scl enable gcc-toolset-12 bash
编译通过后,记得退出 scl 环境:
exit
到这里,GCC 的安装就结束了,我们可以通过 gcc -v 检查版本:
4)更新软链接
可以查看 /usr/lib64/libstdc++.so.6 的软链接
ll /usr/lib64/libstdc++.so.6

找到我们安装后的 libstdc++.so 位置:
find /usr -name libstdc++.so*

更新链接:
unlink /usr/lib64/libstdc++.so.6
ln -s /usr/local/lib64/libstdc++.so.6.0.30 /usr/lib64/libstdc++.so.6
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 上周热点回顾(2.17-2.23)
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章