Linux升级gcc到最新版本gcc-11.2.0

  • 当前环境
  • 更新方法
    • 1. 下载最新的源码包并解压缩
    • 2.下载依赖及配置文件
    • 3. 配置
    • 4. 编译
    • 5. 安装
    • 6. 验证gcc版本
    • 7. 删除旧版本
    • 8. 配置新版本全局可用
    • 9. 更新动态库

当前环境

系统:centos 7 x86_64
gcc版本:gcc version 4.8.5 20150623 (Red Hat 4.8.5-44) (GCC)
make版本:GNU Make 4.3

更新方法

1. 下载最新的源码包并解压缩

gcc-11.2.0.tar.gz
可在该地址寻找自己需要的版本http://ftp.gnu.org/gnu/gcc/

wget http://ftp.gnu.org/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
# 腾讯软件源 https://mirrors.cloud.tencent.com/gnu/gcc/gcc-11.2.0/gcc-11.2.0.tar.gz
tar -zxvf gcc-11.2.0.tar.gz

2.下载依赖及配置文件

yum -y install bzip2 #已安装可以跳过这一步
# 中标麒麟系统需要以下依赖
# yum -y install gmp mpfr mpc isl bzip2
cd gcc-11.2.0
./contrib/download_prerequisites

3. 配置

mkdir build
cd build/
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib# --prefix=/usr/local 配置安装目录
#–enable-languages表示你要让你的gcc支持那些语言,
#–disable-multilib不生成编译为其他平台可执行代码的交叉编译器。
#–disable-checking生成的编译器在编译过程中不做额外检查,
#也可以使用*–enable-checking=xxx*来增加一些检查

4. 编译

make
#这一步需要时间非常久 可以使用 make -j 4 让make最多运行四个编译命令同时运行,加快编译速度(建议不要超过CPU核心数量的2倍)

5. 安装

make install

6. 验证gcc版本

gcc -vUsing built-in specs.
COLLECT_GCC=/usr/local/bin/gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/11.2.0/lto-wrapper
Target: x86_64-pc-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)验证:gcc -v;或者g++ -v,如果显示的gcc版本仍是以前的版本,就需要重启系统;
或者可以查看gcc的安装位置:which gcc;
然后在查看版本 /usr/local/bin/gcc -v
确定以及配置成功后可以将原先的版本删除

7. 删除旧版本

yum -y remove gcc g++

8. 配置新版本全局可用

ln -s /usr/local/bin/gcc /usr/bin/gcc
ln -s /usr/local/bin/g++ /usr/bin/g++

9. 更新动态库

#查看当前的动态库
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
rm -f /usr/lib64/libstdc++.so.6
ln -s /usr/local/lib64/libstdc++.so.6.0.29 /usr/lib64/libstdc++.so.6
#查看更新后的动态库
strings /usr/lib64/libstdc++.so.6 | grep CXXABI
# 安装后的动态库会位于/usr/local/lib64目录下,
#其他版本在该目录下寻找对应的动态库libstdc++.so.6.X.XX

Linux升级gcc到最新版本gcc-11.2.0相关推荐

  1. 升级 MacOS 到最新版本 macOS Ventura 13.0 后,Parallels Desktop 不可用

    这两天收到了苹果推送的最新版本 macOS 系统,于是手贱升级了一下.然后悲剧发生了,用的好好的 Parallels Desktop 不能用了.老是提示下图,重启了 N 遍也不好使. 没有办法,只能重 ...

  2. Linux升级gcc到最新版本--gcc-9.1.0

    Linux升级gcc到最新版本–gcc-9.1.0详细步骤 一.下载gcc最新的源码包–>wget http://ftp.gnu.org/gnu/gcc/gcc-9.1.0/gcc-9.1.0. ...

  3. linux centos升级php_CentOS使用yum升级php到最新版本

    CentOS的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到最新版本,比较常见的是升级到5.2.6版本 ...

  4. 打造前端 Deepin Linux 工作环境——安装最新版本的火狐firefox浏览器

    打造前端 Deepin Linux 工作环境--安装最新版本的火狐firefox浏览器 尝试使用 apt-get 命令安装火狐浏览器,但是,居然是 55 的版本,而最新的已经是 56 了.当然,这并不 ...

  5. centos上升级node_如何升级nodejs到最新版本

    最近在用NPM安装一个nodejs工具时发现,我的nodejs的版本有些旧了.这不是大问题,只要升级就可以了,当然,重新从nodejs.org最新版本是一种方法,但我想应该有更简单的方法,那就是使用 ...

  6. yum如何升级php,CentOS 5.3 通过yum升级 php到最新版本的方法

    方法一 CentOS5.3的php版本默认为5.1.6,然后在5.2.9版本之前的的php都存在一个漏洞,但是目前网上很多地方都无法使用yum update php*升级到5.2.9,比较常见的是升级 ...

  7. pip show pip可以查看pip的版本以及升级pip到最新版本

    输入命令:pip show pip可以查看pip的版本,如果不是最新版最后会有提示如下: 输入命令:python -m pip install --upgrade pip可以升级pip到最新版本.

  8. 升级bugzilla 到最新版本成功 bugzilla 3.2

    升级bugzilla 到最新版本成功 bugzilla 3.2 Stable Release (3.2) Bugzilla 3.2 is our current stable release in t ...

  9. linux单机到单机adg环境,Oracle 11.2.0.4 DataGuard 环境打PSU,OJVM PSU补丁快速参考

    环境:RHEL6.5 + Oracle 11.2.0.4 DataGuard physical standby 主库和备库都是单节点. 需求:主备库同时应用160719的PSU和OJVM PSU补丁. ...

最新文章

  1. Leecode 1583.统计不开心的朋友
  2. python3语法错误-【Python3之异常处理】
  3. Java Script基础(九) 下拉列表对象
  4. 前端学习(2951):上午回顾
  5. mysql中nchar_浅谈SQL Server、MySQL中char,varchar,nchar,nvarchar区别
  6. 二鸟在林不如一鸟在手
  7. android自动触发返回,ionic4处理android返回按钮事件
  8. [工具] CuteMarkEd
  9. Linux 硬盘管理
  10. 前端实现动画的6种方式详解
  11. 【语音识别】基于matlab DWT算法0~9数字语音识别【含Matlab源码 1726期】
  12. 淘宝类目运营方法 怎么快速获取流量和销量
  13. VLAN tag格式
  14. python程序运行进程、使用时间、剩余时间显示
  15. Spring是什么意思?
  16. FastReport动态改变字体颜色
  17. 正在移除icloud数据久_数据集中存储、安全备份好帮手,上德数据天忆宝盒PDP-SA104 NAS...
  18. Windows实现快捷键熄屏功能
  19. jbpm工作流动态会签
  20. MySQL 查看表结构 显示表内容 使用语句区别

热门文章

  1. BootStrap笔记-下拉菜单的使用
  2. 西电 计算机学院 博后流动站,西电7个博士后科研流动站接受专家组综合评估检查...
  3. 跨域的这三种解决方案你知道吗?
  4. FME中的栅格数据操作之一——转换器小结
  5. [python]使用python实现Hadoop MapReduce程序:计算一组数据的均值和方差
  6. Unity背包系统-2:数据库存储方法ScriptableObject和显示背包物品InventoryManager
  7. android语音输入文字,盘点好用的语音输入APP,懒得打字的时候就说话吧!
  8. PHP根据经纬度查询地理位置
  9. 全球手机芯片产业格局未定,LTE和中国是最大变数
  10. HCIE - Routing Switching v3.0 Outline