源码编译gcc-11.3.0更新libstdc++.so.6解决GLIBCXX_3.4.20 not foud问题

报错截图如下

报错截图

1.报错原因分析

这个报错是libstdc++.so.6版本过低导致,解决方法为用高版本gcc源码编译出来的libstdc++来替换老版本。

源码包链接:
https://mirrors.nju.edu.cn/gnu/gcc/gcc-11.3.0/gcc-11.3.0.tar.xz
https://www.mpfr.org/mpfr-current/mpfr-4.2.1.tar.xz
https://mirrors.nju.edu.cn/gnu/gmp/gmp-6.3.0.tar.xz
https://mirrors.nju.edu.cn/gnu/mpc/mpc-1.3.1.tar.gz

2.升级步骤

编译之前检查当前gcc版本必须≥4.8.5
gcc -v 
将源码包放到安装环境依次安装
gmp:
./configure --prefix=/usr/local/gmp/
make -j `nproc` && make install
mpfr:
./configure --prefix=/usr/local/mpfr/ --with-gmp=/usr/local/gmp/
make -j `nproc`  && make install
mpc:
./configure --prefix=/usr/local/mpc/ --with-gmp=/usr/local/gmp/  --with-mpfr=/usr/local/mpfr/
make -j `nproc`  && make install
gcc11:
./configure --prefix=/usr/local/gcc/ --with-gmp=/usr/local/gmp/ --with-mpfr=/usr/local/mpfr/ --with-mpc=/usr/local/mpc/
make -j `nproc`  && make install //make install非必须当前存在其它动态指向问题,可以直接找到当前目录编译好的libstdc++.so.6.0.29再往下一步骤进行软链接)
检查是否支持GLIBCXX_3.4.20:
strings /usr/local/gcc-11.3.0/lib64/libstdc++.so.6.0.29 | grep GLIBCXX_3.4.20
// 出现GLIBCXX_3.4.20打印
创建动态库软链接
ln -sf /usr/local/gcc-11.3.0/lib64/libstdc++.so.6.0.29 /usr/lib64/libstdc++.so.6
问题解决.
  • 11
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
/lib64/libstdc++.so.6是一个用于C++的标准库文件。根据您提供的引用内容,您遇到的问题是在运行某个程序时出现了`GLIBCXX_3.4.20`版本找不到的错误。要解决这个问题,有几个方法可以尝试: 方法一是检查您的系统中是否存在所需的GLIBCXX库文件。您可以使用以下命令来查看可用的GLIBCXX版本: ``` strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX ``` 如果没有找到所需的版本,您可以尝试方法二。 方法二是通过创建软链接来连接到所需的GLIBCXX版本。首先,您需要删除原有的软链接,并创建新的软链接。您可以使用以下命令来完成这些操作: ``` rm -f /usr/lib64/libstdc++.so /usr/lib64/libstdc++.so.6 cd /usr/lib64 ln -s /usr/local/gcc-10.4.0/lib64/libstdc++.so.6.0.28 libstdc++.so ln -s /usr/local/gcc-10.4.0/lib64/libstdc++.so.6.0.28 libstdc++.so.6 ``` 完成后,再次运行您的程序,应该可以找到所需的GLIBCXX版本。 如果方法二无法解决问题,您可以尝试方法三。方法三是将所需的GLIBCXX版本文件直接复制到`/usr/lib64/`目录下,并修改`libstdc++.so.6`软链接。您可以使用以下命令来完成这些操作: ``` cp /path/to/libstdc++.so.6.0.17 /usr/lib64/ cd /usr/lib64 ln -sf libstdc++.so.6.0.17 libstdc++.so.6 ``` 然后重新运行您的程序,应该可以找到所需的GLIBCXX版本。 请注意,在执行上述命令时,请根据您的实际情况进行相应的调整,确保文件路径和版本号的正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值