当前位置: 首页 > article >正文

CentOS 升级 gcc 版本

CentOS 升级 gcc 版本

1. 安装步骤

CentOS7 默认的 gcc 版本是4.8,有时候需要更高版本,这里介绍一下如何将 gcc 版本升级到 8.3.1

  1. 安装 centos-release-scl

    yum install centos-release-scl
    
  2. 安装devtoolset,注意,如果想安装 9.* 版本的,就改成 devtoolset-9-gcc,以此类推

    yum install devtoolset-8-gcc*
    
  3. 激活对应的devtoolset,所以你可以一次安装多个版本的devtoolset,需要的时候用下面这条命令切换到对应的版本

    scl enable devtoolset-8 bash
    
  4. 查看 gcc 版本

    gcc -v
    

2. FAQ

2.1 在执行yum install devtoolset-8-gcc*的时候报错,说找不到对应的包

解决方案:

安装完成后在 /etc/yum.repos.d 目录下会出现 CentOS-SCLo-scl.repo 和 CentOS-SCLo-scl-rh.repo 两个文件,安装后源默认启用,问题就在这两个文件上。

  1. 修改CentOS-SCLo-scl.repo文件

    vim /etc/yum.repos.d/CentOS-SCLo-scl.repo
    
  2. 修改此部分的 baseurl

    [centos-sclo-sclo]
    name=CentOS-7 - SCLo sclo
    baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/sclo/
    # mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-sclo
    gpgcheck=0
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
    
  3. 修改CentOS-SCLo-scl.repo

    vi /etc/yum.repos.d/CentOS-SCLo-scl.repo
    
  4. 修改此部分的 baseurl

    [centos-sclo-rh]
    name=CentOS-7 - SCLo rh
    baseurl=https://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
    # mirrorlist=http://mirrorlist.centos.org?arch=$basearch&release=7&repo=sclo-rh
    gpgcheck=0
    enabled=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-SIG-SCLo
    
  5. 刷新缓存

    yum repolist
    yum clean all
    yum makecache
    

2.2 安装成功后重启再次执行gcc -v发现还是旧的版本

这条scl enable devtoolset-8 bash激活命令只对本次会话有效,重启会话后还是会变回原来的4.8.5版本,要想随意切换可按如下操作。

首先,安装的devtoolset是在 /opt/rh 目录下的

在这里插入图片描述

每个版本的目录下面都有个 enable 文件,如果需要启用某个版本,只需要执行:

source ./enable

所以想要切换某个版本只需要执行:

source /opt/rh/devtoolset-8/enable

解决方案:

  1. 方案一:可以将对应版本的切换命令写个shell文件放在配了环境变量的目录下,需要时随时切换,或者开机自启

  2. 方案二:直接替换旧的gcc

    旧的gcc是运行的 /usr/bin/gcc,所以将该目录下的gcc/g++替换为刚安装的新版本gcc软连接,免得每次enable

    mv /usr/bin/gcc /usr/bin/gcc-4.8.5
    
    ln -s /opt/rh/devtoolset-8/root/bin/gcc /usr/bin/gcc
    
    mv /usr/bin/g++ /usr/bin/g++-4.8.5
    
    ln -s /opt/rh/devtoolset-8/root/bin/g++ /usr/bin/g++
    
    gcc --version
    
    g++ --version
    

http://www.kler.cn/a/396933.html

相关文章:

  • 基于PHP技术的校园站的设计与实现
  • Azure pipeline 通过git命令修改文件
  • w~视觉~合集23
  • 【Redis】Redis的一些应用场景及使用策略
  • 【从零开始的LeetCode-算法】3270. 求出数字答案
  • mybatisPlus打印sql配置
  • 项目风险管理的3大要素
  • 如何基于Tesseract实现图片的文本识别
  • Redis 持久化机制 RDB 和 AOF 区别
  • 图像重建之深度学习重建
  • 安全见闻5
  • 深入理解UML通信图:概念、构成与使用示例
  • macbook git 设置和远程克隆项目
  • 每日计划-1116
  • Linux下安装rabbitMQ
  • 知识图谱,语义分析,全文检索,neo4j,elaticsearch,知识库平台(java,vue)
  • 选择香港服务器的带宽和延迟配置时要注意的事项
  • 单向链表题库2(c++)
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】实现 MVP 架构
  • No Module named pytorchvideo.losses问题解决
  • c++设计模式之策略模式
  • 任务函数分析
  • 常用字符串和集合处理工具类
  • 微信小程序实战篇-分类页面制作
  • 【LINUX相关】
  • EHOME视频平台EasyCVR多品牌摄像机视频平台监控视频编码H.265与Smart 265的区别?