CentOS升级GCC

背景

CentOS 7默认自带GCC版本4.8,而目前工作中开发环境需要用到GCC8和GCC12,这里记录一下如何升级GCC版本,以及如何多版本并存。参考:
CentOS升级gcc-知乎
Redhat7上安装Red Hat Developer Toolset并自由切换gcc和g++的版本

CentOS 7升级gcc

devtoolset对应gcc的版本

复制代码
devtoolset-7对应gcc7.x.x版本
devtoolset-8对应gcc8.x.x版本
devtoolset-9对应gcc9.x.x版本
devtoolset-10对应gcc10.x.x版本
devtoolset-11对应gcc11.x.x版本

可通过centos-release-scl源安装devtoolset包:

bash 复制代码
yum install centos-release-scl
yum install devtoolset-8

激活gcc版本,使其生效:

bash 复制代码
scl enable devtoolset-8 bash
# 或者下面这句
# source /opt/rh/devtoolset-8/enable

执行后,只在当前终端生效,要永久生效,可以将激活语句加入到~/.bashrc中。

此时通过gcc --version命令可以看到版本信息。

🎉🎉🎉🎉🎉🎉🎉

遗憾的是上述方式无法安装gcc12,devtoolset目前只提供到gcc11。于是自己找了个软件源(https://copr.fedorainfracloud.org/coprs/mlampe/devtoolset-12/),新建一个源文件:

bash 复制代码
vim /etc/yum.repos.d devtoolset-12.repo

在文件中写入以下内容:

复制代码
[copr:copr.fedorainfracloud.org:mlampe:devtoolset-12]
name=Copr repo for devtoolset-12 owned by mlampe
baseurl=https://download.copr.fedorainfracloud.org/results/mlampe/devtoolset-12/epel-7-$basearch/
type=rpm-md
skip_if_unavailable=True
gpgcheck=1
gpgkey=https://download.copr.fedorainfracloud.org/results/mlampe/devtoolset-12/pubkey.gpg
repo_gpgcheck=0
enabled=1
enabled_metadata=1
相关推荐
張萠飛13 分钟前
Linux下如何使用shell脚本导出elasticsearch中某一个index的数据为本地csv文件
linux·运维·elasticsearch
电商API_180079052471 小时前
构建高效可靠的电商 API:设计原则与实践指南
运维·服务器·爬虫·数据挖掘·网络爬虫
晓枫-迷麟2 小时前
【nano与Vim】常用命令
linux·编辑器·vim
tianyuanwo2 小时前
Ansible自动化运维全解析:从设计哲学到实战演进
运维·自动化·ansible
LucienShui2 小时前
Webhook 配置备忘
linux·运维·webhook
LanLance2 小时前
ES101系列09 | 运维、监控与性能优化
java·运维·后端·elasticsearch·云原生·性能优化·golang
Clownseven2 小时前
“轻量应用服务器” vs. “云服务器CVM”:小白入门腾讯云,哪款“云机”更适合你?(场景、配置、价格对比解析)
运维·服务器·腾讯云
Leo.yuan3 小时前
API是什么意思?如何实现开放API?
大数据·运维·数据仓库·人工智能·信息可视化
超级土豆粉3 小时前
从0到1写一个适用于Node.js的User Agent生成库
linux·ubuntu·node.js
PH_modest3 小时前
【Linux跬步积累】—— 网络编程套接字(二)
linux·运维·网络