本文将介绍如何利用CentOS的特性SCL进行高版本GCC的安装,本文所介绍的内容将做学习参考。 有时编译需要用到4.8以上或者更高版本的GCC,由于CentOS源中没有提供高版本的GCC安装包,这时就不能通过安装包安装了。通常的解决方案就是通过编译安装高版本的GCC。这里介绍一个更高级、更好用、更简单的方法来升级系统GCC。
什么是Software Collections 简称为SCL(Software Collections)可以让你在同一个操作系统上安装和使用多个版本的软件,而不会影响整个系统的安装包。 SCL为社区的以下需求而设计: 1.创建和使用软件集合生产系统、概念验证系统、开发测试平台。SCL目前已经支持Fedora和RHEL(衍生版本如CentOS也包含在内)。 2.SCL的创建就是为了给RHEL/CentOS用户提供一种以方便、安全地安装和使用应用程序和运行时环境的多个(而且可能是更新的)版本的方式,同时避免把系统搞乱。与之相对的是第三方源,它们可能会在已安装的包之间引起冲突。
安装SCL 在CentOS下使用 SCL,需要安装CentOS Software Collections。 Centos 7:# yum install centos-release-scl Centos 6:# yum install centos-release-SCL 注:要启用和运行SCL中的应用,你还需要安装下列包: # yum install scl-utils scl-utils-build
通过SCL安装GCC 官方SCL仓库 devtoolset-3: https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/ $ sudo yum install centos-release-scl $ sudo yum-config-manager --enable rhel-server-rhscl-7-rpms $ sudo yum install devtoolset-3 $ scl enable devtoolset-3 bash
三方SCL仓库 copr.fedoraproject.org提供了第三方构建的devtoolset-3/4的仓库, 可直接添加yum源repo后体验devtoolset-3(gcc-4.9.2)、devtoolset-4(gcc-5.2.1)。 devtoolset-3: https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/ devtoolset-4: https://copr.fedoraproject.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap/
devtoolset-3仓库 1.CentOS 6 安装软件源: $ wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/rhscl-devtoolset-3-epel-6.repo 安装devtoolset-3 $ yum --disablerepo='*' --enablerepo='rhscl-devtoolset-3' list $ yum --disablerepo='*' --enablerepo='rhscl-devtoolset-3' install devtoolset-3-gcc devtoolset-3-gcc-c++ 启用SCL环境中新版本GCC: $ scl enable devtoolset-3 bash 验证GCC版本: $ gcc --version gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 2.CentOS 7 安装软件源: $ wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3-el7/repo/epel-7/rhscl-devtoolset-3-el7-epel-7.repo -O /etc/yum.repos.d/rhscl-devtoolset-3-el7-epel-7.repo 安装devtoolset-3: $ yum --disablerepo='*' --enablerepo='rhscl-devtoolset-3-el7' list $ yum --disablerepo='*' --enablerepo='rhscl-devtoolset-3-el7' install devtoolset-3-gcc devtoolset-3-gcc-c++ 启用SCL环境中新版本GCC: $ scl enable devtoolset-3 bash 验证GCC版本: $ gcc --version gcc (GCC) 4.9.2 20150212 (Red Hat 4.9.2-6) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
devtoolset-4仓库 1.CentOS 6 安装软件源: wget https://copr.fedoraproject.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap/repo/epel-6/hhorak-devtoolset-4-rebuild-bootstrap-epel-6.repo -O /etc/yum.repos.d/hhorak-devtoolset-4-rebuild-bootstrap-epel-6.repo 安装devtoolset-4: yum --disablerepo='*' --enablerepo='hhorak-devtoolset-4-rebuild-bootstrap' list yum --disablerepo='*' --enablerepo='hhorak-devtoolset-4-rebuild-bootstrap' install devtoolset-4-gcc devtoolset-4-gcc-c++ 启用SCL环境中新版本GCC: $ scl enable devtoolset-4 bash 验证GCC版本: gcc --version gcc (GCC) 5.2.1 20150902 (Red Hat 5.2.1-2) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 2.CentOS 7 安装软件源: wget https://copr.fedoraproject.org/coprs/hhorak/devtoolset-4-rebuild-bootstrap/repo/epel-7/hhorak-devtoolset-4-rebuild-bootstrap-epel-7.repo -O /etc/yum.repos.d/hhorak-devtoolset-4-rebuild-bootstrap-epel-7.repo 安装devtoolset-4: yum --disablerepo='*' --enablerepo='hhorak-devtoolset-4-rebuild-bootstrap' list yum --disablerepo='*' --enablerepo='hhorak-devtoolset-4-rebuild-bootstrap' install devtoolset-4-gcc devtoolset-4-gcc-c++ 启用SCL环境中新版本GCC: $ scl enable devtoolset-4 bash 验证GCC版本: gcc --version gcc (GCC) 5.2.1 20150902 (Red Hat 5.2.1-2) Copyright (C) 2018 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
相关主题 |