linux环境gcc多版本共存和版本切换

          Software Collections(SCL)可以帮助解决 RHEL/CentOS 下的软件安装、软件依赖、多版本并存等问题,因为SCL 的创建就是为了给 RHEL/CentOS 用户提供一种以方便、安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。与之相对的是第三方源,它们可能会在已安装的包之间引起冲突。

       (此教程着重讲解gcc4.8.5、gcc4.9.1、gcc4.9.2、gcc5.3.1、gcc6.3.1、gcc7.3.1、gcc8.2.1的并存安装、版本切换

        既然SCL能够解决软件安装、软件多版本并存的问题,同样也可以解决gcc多版本并存的问题,如下:

       一、SCL的安装和配置

                    在命令行执行安装和配置SCL的命令:sudo yum install centos-release-scl scl-utils-build scl-utils

                   

       二、查看 SCL 中可用包的完整列表:

                   在命令行执行命令:yum list all --enablerepo='centos-sclo-rh'

                

  三、查看SCL支持的gcc的版本:

               在命令行执行命令:yum list all --enablerepo='centos-sclo-rh'|grep gcc

              当前支持的gcc版本如下图所示:

四、安装需要的gcc版本:

         在命令行执行命令(安装所有版本的gcc):

yum install devtoolset-3-gcc.x86_64 devtoolset-3-gcc-c++.x86_64 devtoolset-3-gcc-plugin-devel.x86_64 devtoolset-4-gcc.x86_64 devtoolset-4-gcc-c++.x86_64 devtoolset-4-gcc-gdb-plugin.x86_64 devtoolset-4-gcc-plugin-devel.x86_64 devtoolset-4-libccjit.x86_64 devtoolset-4-libgccjit-devel.x86_64 devtoolset-4-libgccjit-docs.x86_64 devtoolset-6-gcc.x86_64 devtoolset-6-gcc-cc.x86_64 devtoolset-6-gcc-gdb-plugin.x86_64 devtoolset-6-gcc-plugin-devel.x86_64 devtoolset-6-libgccjit.x86_64 devtoolset-6-libgccjit-devel.x86_64 devtoolset-6-libgccjit-docs.x86_64 devtoolset-7-gcc.x86_64 devtoolset-7-gcc-c++.x86_64 devtoolset-7-gcc-gdb-plugin.x86_64 devtoolset-7-gcc-plugin-devel.x86_64 devtoolset-7-libgccjit.x86_64 devtoolset-7-libgccjit-devel.x86_64 devtoolset-7-libgccjit-docs.x86_64 devtoolset-8-gcc.x86_64 devtoolset-8-gcc-c++.x86_64 devtoolset-8-gcc-gdb-plugin.x86_64 devtoolset-8-gcc-plugin-devel.x86_64 devtoolset-8-libgccjit.x86_64 devtoolset-8-libgccjit-devel.x86_64 devtoolset-8-libgccjit-docs.x86_64 gcc.x86_64 gcc-c++.x86_64 gcc-plugin-devel.x86_64 libgcc.i686 libgcc.x86_64

五、查看SCL已安装的软件版本:

      在命令行执行命令:scl --list 或scl -l

    

六、查看当前使用的gcc的版本:

七、切换gcc的版本:

在命令行执行命令:scl enable devtoolset-8 bash

发现gcc已经切换到了gcc 8.2.1

搞定!!!

附:SCL的常用命令:

1、scl --list 或scl -l
2、scl --help 或 scl -h
3、scl enable <scl-package-name> <command>  #使用scl来执行command命令
4、scl enable  devtoolset-4 bash  #使用scl创建一个scl包的bash会话环境
5、exit  #退出当前scl bash环境,恢复成系统bash环境

  • 7
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ztenv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值