Linux升级gcc到gcc-11.2.0 原创 Linux平台 2022年11月18日 20:58 夏至未至 785 当前内容 2750 字,在路上,马上到,马上到 ### 目录 [TOC] ### 升级说明 1. 这里以升级到 gcc-11.2.0 为例,更多参考开源仓库:[gcc](https://github.com/gcc-mirror/gcc/tags "gcc"). 2. 源码编译,比较耗时,闲时升级。 3. 亲测可行,亲测遇到的问题,也值得参考。 ### 安装包准备 - [点击下载](https://github.com/gcc-mirror/gcc/archive/refs/tags/releases/gcc-11.2.0.tar.gz "点击下载") - [更多下载](https://github.com/gcc-mirror/gcc/tags "更多下载") ### 安装步骤 #### 解压 tar -zxvf gcc-11.2.0.tar.gz #### 安装依赖 cd gcc-11.2.0 ./contrib/download_prerequisites 成功效果如下: ![Linux升级gcc到gcc-11.2.0](http://www.codecomeon.com:80/group1/M00/00/02/rBlbH2N3fdmAeSmNAABVzFz1GfI3788968) #### 配置 mkdir build cd build/ ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib #### 编译 make -j4 4核CPU,同时4个命令执行,减少编译时间。此过程中报错 flex 不存在,安装即可: yum install -y flex #### 安装 make install 默认安装到了 `/usr/local/bin`,到此升级基本完成,当然,系统里默认的 gcc 我们并没有动,也就是说,现在系统又两套gcc,可以分别使用。 #### 删除旧版本 yum -y remove gcc g++ #### 配置全局可用 ln -s /usr/local/bin/gcc /usr/bin/gcc ln -s /usr/local/bin/g++ /usr/bin/g++ ln -s /usr/local/bin/gcc /usr/bin/cc ln -s /usr/local/bin/g++ /usr/bin/c++ #### 更新动态库 查看当前的动态库: [root@localhost build]# 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_1.3.8 CXXABI_1.3.9 CXXABI_1.3.10 CXXABI_1.3.11 CXXABI_TM_1 [root@localhost build]# 删除原老动态库: rm -f /usr/lib64/libstdc++.so.6 软连接新动态库到原位置: ln -s /usr/local/lib64/libstdc++.so.6.0.29 /usr/lib64/libstdc++.so.6 更新后的动态库 [root@localhost build]# 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_1.3.8 CXXABI_1.3.9 CXXABI_1.3.10 CXXABI_1.3.11 CXXABI_1.3.12 CXXABI_1.3.13 CXXABI_TM_1 CXXABI_1.3 CXXABI_1.3.11 CXXABI_1.3.2 CXXABI_1.3.6 CXXABI_1.3.12 CXXABI_1.3.9 CXXABI_1.3.1 CXXABI_1.3.5 CXXABI_1.3.8 CXXABI_1.3.13 CXXABI_1.3.4 CXXABI_TM_1 CXXABI_1.3.7 CXXABI_1.3.10 CXXABI_1.3.3 [root@localhost build]# #### 全局验证 [root@localhost build]# gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/aarch64-unknown-linux-gnu/11.2.0/lto-wrapper Target: aarch64-unknown-linux-gnu Configured with: ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib Thread model: posix Supported LTO compression algorithms: zlib gcc version 11.2.0 (GCC) [root@localhost build]# 编译安装成功。 本文标题: Linux升级gcc到gcc-11.2.0 本文作者: 夏至未至 发布时间: 2022年11月18日 20:58 最近更新: 2022年11月18日 21:53 原文链接: 许可协议: 署名-非商业性-禁止演绎 4.0 国际(CC BY-NC-ND 4.0) 请按协议转载并保留原文链接及作者 gcc(8) g++(6) Linux(24) 上一个 CentOS7静态IP无法Ping通(已解决) 下一个 Cannot download repodata/repomd.xml(更换yum源) 当前文章评论暂未开放,请移步至留言处留言。