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

Centos 7 升级 GCC

一、环境准备

1. 检查当前 GCC 版本

gcc --version

2. 清理系统环境

sudo yum clean all

sudo yum update -y

二、安装 SCL 仓库

此处我们使用scl来切换gcc版本

SCL(Software Collections)提供高版本软件包,且与系统默认工具链隔离。

sudo yum install -y centos-release-scl

三、安装 GCC 9.3

1. 安装 devtoolset-9

sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++

 如果报错如下,是因为CentOS 7 的SCL仓库已停止维护,默认的镜像服务器已失效,导致无法通过yum安装

解决方案 (切换为阿里云镜像环境)

1、查看自己的源环境

主要查看 base是否为阿里云环境 以及 sclo rh 是否为阿里云环境(以下是配图)

yum repolist

2、切换配置信息

# 使用阿里云镜像
sudo wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

修改所有仓库配置为阿里云地址:
sudo sed -i 's|vault.centos.org|mirrors.aliyun.com/centos|g' /etc/yum.repos.d/*.repo

3、验证scl源 (如果和我的不一致可能回导致404 小伙伴可直接复制粘贴)

sudo vi /etc/yum.repos.d/CentOS-SCLo-scl-rh.repo

[centos-sclo-rh]
name=CentOS-7 - SCLo rh
baseurl=http://mirrors.aliyun.com/centos/7/sclo/x86_64/rh/
enabled=1
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/centos/RPM-GPG-KEY-CentOS-SIG-SCLo

4、重新构建

切记一定要多  

sudo yum clean all # 清除
sudo yum update -y # 更新

sudo yum makecache #构建

sudo yum clean all
sudo yum makecache

 证明没有任何问题

 5、手动下载安装文件

理论上各位不需要执行这个步骤 重新执行  sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++  命令即可 如果出现像我一样 可依照我如此下载将文件名称换成自己对于的即可

注意:我当时不知道为什么没有下载下下来 在执行命令时显示有五个文件404不找到  这是我手动配置的地址可以直接下载下来

wget http://vault.centos.org/centos/7/sclo/x86_64/rh/Packages/d/devtoolset-9-runtime-9.1-0.el7.x86_64.rpm
wget http://vault.centos.org/centos/7/sclo/x86_64/rh/Packages/d/devtoolset-9-binutils-2.32-16.el7.x86_64.rpm
wget http://vault.centos.org/centos/7/sclo/x86_64/rh/Packages/d/devtoolset-9-gcc-9.3.1-2.2.el7.x86_64.rpm
wget http://vault.centos.org/centos/7/sclo/x86_64/rh/Packages/d/devtoolset-9-gcc-c++-9.3.1-2.2.el7.x86_64.rpm
wget http://vault.centos.org/centos/7/sclo/x86_64/rh/Packages/d/devtoolset-9-libstdc++-devel-9.3.1-2.2.el7.x86_64.rpm

 6、安装环境

sudo yum install -y policycoreutils-python
sudo yum install -y scl-utils

7、编译安装文件

注意:如果你有其他文件 也仿照此格式添加上

sudo rpm -Uvh --force --nodeps devtoolset-9-runtime-9.1-0.el7.x86_64.rpm \
           devtoolset-9-binutils-2.32-16.el7.x86_64.rpm \
           devtoolset-9-gcc-9.3.1-2.2.el7.x86_64.rpm \
           devtoolset-9-gcc-c++-9.3.1-2.2.el7.x86_64.rpm \
           devtoolset-9-libstdc++-devel-9.3.1-2.2.el7.x86_64.rpm
 8、验证 GCC 是否安装成功
sudo yum install -y devtoolset-9-gcc devtoolset-9-gcc-c++ 

2. 激活 GCC 9.3 环境

scl enable devtoolset-9 bash

# 验证版本
gcc --version

切换成功 


四、永久切换为GCC 9.3

正常上述步骤后你的机器已经拥有了 9.3的环境,但是因为  scl enable devtoolset-9 bash  只是当前会话有效 当你新开会话之后 gcc 版本就会失效(小伙伴们可以打开一个新的窗口验证一下),所以建议设置成永久使用

1. 修改用户环境变量

# 写入配置信息
echo 'source /opt/rh/devtoolset-9/enable #This is  gcc version' >> ~/.bashrc

# 验证是否添加成功
vim ~/.bashrc

# 刷新配置
source ~/.bashrc

2. 验证生效

打开新客户端 验证 gcc 版本是否生效

亲测可用

注:这里如果不想启动 只需要把 写入的数据删除掉,打开新窗口就回变回原来的版本


注:大家安装时 一定要注意自己的环境,目前我安装redis用到了 9.X的GCC环境就不做其他演示,个人理解如果想要升级至 GCC 11 也是此流程,文件不同罢了。


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

相关文章:

  • 找第一个只出现一次的字符(信息学奥塞一本通-1130)
  • 基于大模型的智能客服搭建
  • doris:安全概览
  • R语言:初始环境配置
  • 【实战解析】smallredbook.item_get_video API:小红书视频数据获取与电商应用指南
  • 大语言模型基础--task2:大模型技术基础
  • 【Java】高频面试题
  • 图解多头注意力机制:维度变化一镜到底
  • 完整的模型验证套路
  • NPU的工作原理:神经网络计算的流水线
  • 计算机二级Python资料
  • RabbitMQ(补档)
  • Hive SQL 精进系列:解锁 Hive SQL 中 KeyValue 函数的强大功能
  • 微信小程序刷题逻辑实现:技术揭秘与实践分享
  • sensor数据在整个rk平台的框架流程是怎么样,
  • 业务幂等性设计的六种方案
  • 蓝桥杯[阶段总结] 二分,前缀和
  • 华为云容器引擎应用场景
  • 游戏成瘾与学习动力激发研究——多巴胺脉冲式释放与奖赏预测误差机制的神经科学解析
  • ccf3501密码