Redhat7上安装Red Hat Developer Toolset并自由切换gcc和g++的版本

news2024/12/23 7:14:58

Redhat7上安装Red Hat Developer Toolset并自由切换gcc和g++的版本

  • 一、Red Hat Developer Toolset 概述
  • 二、使用Red Hat Software Collections
    • 2.1 获取pool ID
    • 2.2 将pool ID 附加到本地系统中
    • 2.3 获取仓库列表
    • 2.4 使能上述仓库
  • 三、安装 Red Hat Developer Toolset
  • 四、升级Red Hat Developer Toolset
  • 五、切换gcc或者g++版本

一、Red Hat Developer Toolset 概述

本文环境是RHEL 7.6, 演示了如何在7.6的版本上安装Red Hat Developer Toolset。

在Redhat中,提供了专门的工具包来管理gcc版本,通过使用工具包的方式,就可以随时切换gcc版本,而不破坏原有的gcc环境。例如:

gcc-toolset-12对应gcc12.x.x版本
gcc-toolset-11对应gcc11.x.x版本
gcc-toolset-10对应gcc10.x.x版本
gcc-toolset-9对应gcc9.x.x版本
以此类推

关于Red Hat Developer Toolset的说明:

Red Hat Developer Toolset delivers the latest stable versions of essential GCC C, C++, Fortran, and supporting development tools to enhance developer productivity and improve deployment times.

Red Hat Developer Toolset是作为Red Hat Software Collections的一部分提供的。

想要使用Red Hat Developer Toolset,还必须通过Redhat的订阅管理系统。如何通过Red Hat Subscription Management注册你的系统,可以参考下面这个guide。

Red Hat Subscription Management

关于如何注册成为Redhat的开发者,参考我的另一篇博文, 里面有一节对此有介绍:
Redhat rpm常用命令以及如何配置yum软件仓库使用yum install

二、使用Red Hat Software Collections

2.1 获取pool ID

执行以下命令,以获取你的订阅系统所拥有的pool ID

[root@192 rh]# subscription-manager list --available

20221225234231

2.2 将pool ID 附加到本地系统中

将上一步获取的pool ID,通过以下命令附加到本地系统

subscription-manager attach --pool=xxxxx

20221225234617

可以随时通过以下命令查看你本地已经附加成功的订阅清单:

subscription-manager list --consumed

2.3 获取仓库列表

通过以下命令获取可用的yum仓库列表:

[root@192 ~]# subscription-manager repos --list

20221225235332

这个命令会列出/etc/yum.repos.d/redhat.repo中全部的Available Repositories,有一大堆, 不过我们不用理会,只需要关心如下固定格式的即可:

rhel-variant-rhscl-version-rpms
rhel-variant-rhscl-version-debug-rpms
rhel-variant-rhscl-version-source-rpms

rhel-version-variant-optional-rpms
rhel-version-variant-optional-debug-rpms
rhel-version-variant-optional-source-rpms

由于我的系统是RHEL7.6, 所以将version替换成(7),将variant替换成(server or workstation), 我这里是server,替换好后变成:

rhel-server-rhscl-7-rpms
rhel-server-rhscl-7-debug-rpms
rhel-server-rhscl-7-source-rpms

rhel-7-server-optional-rpms
rhel-7-server-optional-debug-rpms
rhel-7-server-optional-source-rpms

这几条记录在刚刚输出的一堆结果中都是唯一存在的。

2.4 使能上述仓库

通过下述命令将上述步骤中的repository仓库逐一使能。

subscription-manager repos --enable repository

其中的repository分别替换成上面那6个结果。也就是:

subscription-manager repos --enable rhel-server-rhscl-7-rpms
subscription-manager repos --enable rhel-server-rhscl-7-debug-rpms
subscription-manager repos --enable rhel-server-rhscl-7-source-rpms

subscription-manager repos --enable rhel-7-server-optional-rpms
subscription-manager repos --enable rhel-7-server-optional-debug-rpms
subscription-manager repos --enable rhel-7-server-optional-source-rpms

20221226003148

至此,准备工作结束。

三、安装 Red Hat Developer Toolset

通过以下命令可以一次性安装全部的devtoolset-12 package:

yum install devtoolset-12

当然了,你也可以安装指定的package,比如:

yum install devtoolset-12-toolchain

这里我们安装完整的devtoolset-12,完成安装后/opt/rh/目录下会有对应的devtoolset-12目录

20221226004442

四、升级Red Hat Developer Toolset

使用以下命令进行升级:

yum update

五、切换gcc或者g++版本

可以按照下述格式指定gcc版本进行编译,这里指定的是devtoolset-12,对应gcc12版本:

scl enable devtoolset-12 'gcc -o output_file source_file...'

也可以直接执行以下命令,将当前的shell session设置为指定的devtoolset-12版本,那么当前会话中就可以一直使用该版本。

scl enable devtoolset-12 'bash'

20221226004802

对于g++,也是同理

20221226004930

如果想长期使用高版本gcc的话,可以将其写入环境变量

echo "source /opt/rh/devtoolset-12/enable" >>/etc/profile
source /etc/profile

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/115259.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

大数据分析案例-基于决策树算法构建员工离职预测模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…

在windows操作系统上安装mysql数据库

背景 写这个数据库的安装教程,是为了后续文章中在windows系统中搭建测试环境要用到数据库做铺垫,不是所有的人都有云服务器,有的觉得去虚拟机里面安装太麻烦了,电脑会更卡,因此,还不如直接在自己电脑上安装…

客户管理繁,库存盘点难?明道云让你准点下班

文/张占胜 程哲 赵香英 编辑/杜逸敏 一、行业背景 随着疫情的扩散,经济形势日益复杂多变,进销存管理无疑成为了国内企业的焦点。如何利用新时代的先进技术把这一传统管理方式现代化和智能化,已经引起了国内业界的重视,这也是企…

Infleqtion与Morningstar合作探索量子计算的新途径

(图片来源:网络) 量子计算服务商Infleqtion宣布,将Infleqtion的旗舰量子软件SuperstaQ整合到Morningstar投资和投资组合分析平台Morningstar Direct中。借助SuperstaQ的整合,通过Morningstar的实验室分析模块&#xff…

12.20工作学习记录 力扣 罗马文转数字

每日一题:罗马文转数字 定义两个指针 不断后移 每一次让前一个指针的值累加为sum 最后返回sum 力扣https://leetcode.cn/problems/roman-to-integer/ 最长公共前缀 主要是subString方法 力扣https://leetcode.cn/problems/longest-common-prefix/solutions/现在分词与形容…

【Linux学习】之systemd与systemctl

文章目录一、systemd1. systemd 守护进程管理 Linux 的启动2. systemd 提供的功能:3. systemd 使用单元来管理不同类型的对象。4. 服务单元信息二、systemctl1. systemctl输出中的服务状态2. 列出servera上安装的所以服务单元3. 列出servera上所有活动和不活动的套接字单元4.1 …

Activiti7-任务分配

上面这些已经在流程变量设置的时候学会了 ,这里略。 参考:Activiti7-流程变量_ZHOU_VIP的博客-CSDN博客 错别字:认领任务 设计一个流程,设置候选人 错了,应该设置在候选人那里 由于修改了流程设计,需要重…

被勒索后的72 小时“生死时速”

编者按 数字化浪潮蓬勃兴起,企业面临的安全挑战亦日益严峻。 腾讯安全近期将复盘2022年典型的攻击事件,帮助企业深入了解攻击手法和应对措施,完善自身安全防御体系。 本篇是第四期,复盘了一次勒索病毒的紧急应对事件。一旦染上…

【ML】异常检测、PCA、混淆矩阵、调参综合实践(基于sklearn)

【ML】异常检测、PCA、混淆矩阵、调参综合实践(基于sklearn)加载数据可视化数据异常点检测PCA降维使用KNN进行分类并可视化计算混淆矩阵调节n_neighbors参数找到最优值加载数据 数据集:https://www.kaggle.com/datasets/yuanheqiuye/data-cl…

数据分析之描述性统计

当我们打开一份有十几列,几万行的明细数据时,那种感觉我相信用铺天盖地、头晕目眩来形容是再合适不过了。 面对如此令人崩溃的场景,必须要求我们要求能够快速找到数据的特征。描述性统计正是为此而生,它通过几个简单的分析方法就…

k8s——基于集群部署工具kubeadm部署k8s

角色和IP 通过网络镜像下载和配置k8s 操作系统初始化 关闭防火墙: $ systemctl stop firewalld $ systemctl disable firewalld关闭 selinux: $ sed -i s/enforcing/disabled/ /etc/selinux/config # 永久 $ setenforce 0 # 临时关闭 swap&#xff1…

OpenCV C++实现 图片批量重命名、格式转换

方法一:以0~n数字序命名方法二:指定字长 数字序命名方法三:指定前缀 数字序重命名全部源码下载通常拍摄的一组数据集,图片命名会比较长,不方便人眼查看; 可以按照制定规则重命名, 本文方法,可以重命名,也可以格式转换(不是简单的换后缀,这样图片有时会出问题,而是以…

[JavaEE] 线程与进程的区别详解

专栏简介: JavaEE从入门到进阶 题目来源: leetcode,牛客,剑指offer. 创作目标: 记录学习JavaEE学习历程 希望在提升自己的同时,帮助他人,,与大家一起共同进步,互相成长. 学历代表过去,能力代表现在,学习能力代表未来! 目录 认识线程(Thread) 1. 线程是什么? 2. 为什么要有…

java 对接百度AI文字识别第三方接口--(api方式以及sdk方式)

平时在工作当中难免会需要对接第三方接口。今天就带领大家来实践一下百度ai的文字识别技术。我使用的是文字识别中名片识别服务,别问为什么,因为是免费的,其他的服务要钱。。。。。。 一:准备工作 首先需要在百度ai官方网站注册账…

【案例实践】基于Citespace和vosviewer文献计量学可视化SCI论文高效写作方法

【点击观看视频】基于Citespace和vosviewer文献计量学可视化SCI论文高效写作方法 文献计量学是指用数学和统计学的方法,定量地分析一切知识载体的交叉科学。它是集数学、统计学、文献学为一体,注重量化的综合性知识体系。特别是,信息可视化技…

如何定位线上问题?

面试官:「你是怎么定位线上问题的?」 这个面试题我在两年社招的时候遇到过,前几天面试也遇到了。我觉得我每一次都答得中规中矩,今天来梳理复盘下,下次又被问到的时候希望可以答得更好。 下一次我应该会按照这个思路…

景联文科技2D3D融合标注案例分享|数据标注

在自动驾驶场景中,激光雷达生成的点云数据可用于测量物体的形状和轮廓,并估算出周围物体的位置和速度,但由于激光雷达生成的点云数据缺少RGB数据中存在的纹理和颜色信息,无法精确地识别出路上的汽车、行人、障碍物、信号灯等。而2…

网络流及几种算法FF、EK、Dinic

终于要开始学习&&复习这个知识点了,说句实话半年多之前就该写这篇文章来加强理解,但是一直没有落实,因为又去练习了很多学过的算法,感觉这个算法不太常用哦,传说中的省选算法,比赛比较少见&#xf…

在2022 CCF上获得两项大奖!

喜报!      在日前举行的      2022全国高性能计算学术年会上      戴尔科技集团      获得两项大奖!      戴尔科技PowerEdge绿色数据中心      液冷解决方案荣获“解决方案奖”    PowerEdge R750 DAOS      高性能分布式存储系统荣获“产品…

基于springboot+mybatis+mysql+jsp网上书城管理系统

基于 springbootmybatismysqljsp 网上书城管理系统一、系统介绍二、功能展示1.主页(客户)2.登陆(客户)3.我的购物车(客户)4.我的订单(客户)5.我的图书(商家)6.新书上架(商家)7.订单管…