centos7离线升级gcc , 报错:/lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found
因为需要依赖gcc高版本 但是目前服务器版本是4.8.5的 然后服务器又是内网 所以只能离线升级gcc
分别下载
https://ftp.gnu.org/gnu/gcc/gcc-8.3.0/gcc-8.3.0.tar.gz
https://ftp.gnu.org/pub/gnu/gmp/gmp-6.1.0.tar.bz2
https://ftp.gnu.org/gnu/mpc/mpc-1.0.3.tar.gz
http://www.mirrorservice.org/sites/sourceware.org/pub/gcc/infrastructure/isl-0.18.tar.bz2
解压并移动
tar -zxvf gcc-8.3.0.tar.gz
mv gcc-8.3.0 /usr/local/gcc-8.3.0
解压其他几个
tar jxvf gmp-6.1.0.tar.bz2 tar jxvf isl-0.18.tar.bz2 tar -zxvf mpc-1.0.3.tar.gz tar jxvf mpfr-3.1.4.tar.bz2
移动
mv gmp-6.1.0 /usr/local/gcc-8.3.0/gmp mv isl-0.18 /usr/local/gcc-8.3.0/isl mv mpc-1.0.3 /usr/local/gcc-8.3.0/mpc mv mpfr-3.1.4 /usr/local/gcc-8.3.0/mpfr
进入目录 执行编译
cd /usr/local/gcc-8.3.0 ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib make -j4 make install
其中 第三步可能需要很久
之后打开新窗口 查看gcc -v 就可以看到版本变了
至此gcc升级完成
搜索一下包
find / -name "libstdc++.so*"
会发现多了几个gcc8.3.0版本的
然后找到后缀是so.6的路径的包
strings /usr/local/gcc-8.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6 | grep CXXAB
可以看到已经有这个版本了
但是原本的软连接执行的时候还是没有 所以要把原本的软连接换掉
删除原来软连接
rm -f /usr/lib64/libstdc++.so.6
替换成这个新的 这个路径要看对不对 根据自己的来
ln -s /usr/local/gcc-8.3.0/stage1-x86_64-pc-linux-gnu/libstdc++-v3/src/.libs/libstdc++.so.6 /usr/lib64/libstdc++.so.
然后在执行下 这样就有了
strings /usr/lib64/libstdc++.so.6 | grep CXXAB
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
(蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
2023-06-19 JAVA中将两个byte[]文件数据添加到压缩包中进行下载、压缩包设置密码