有时编译需要用到4.8以上版本的GCC,由于CentOS源没有提供高版本的GCC安装包,这时就不能通过安装包安装。通常的解决方案就是通过编译安装高版本的GCC。
这里介绍一个更高级、更好用、更简单的方法来升级系统GCC,本文将介绍如何利用CentOS的新特性SCL进行高版本GCC的安装。
什么是SCL
请参考:如何在CentOS上启用软件集Software Collections一文
通过SCL安装GCC
官方SCL仓库
devtoolset-3: https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/
1 | $ sudo yum install centos-release-scl |
三方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
- CentOS 6
安装软件源
1 | $ 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
1 | $ yum --disablerepo='*' --enablerepo='rhscl-devtoolset-3' list |
启用SCL环境中新版本GCC
1 | $ scl enable devtoolset-3 bash |
验证GCC版本
1 | $ gcc --version |
- CentOS 7
安装软件源
1 | $ 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
1 | $ yum --disablerepo='*' --enablerepo='rhscl-devtoolset-3-el7' list |
启用SCL环境中新版本GCC
1 | $ scl enable devtoolset-3 bash |
验证GCC版本
1 | $ gcc --version |
devtoolset-4仓库
- CentOS 6
安装软件源
1 | 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
1 | yum --disablerepo='*' --enablerepo='hhorak-devtoolset-4-rebuild-bootstrap' list |
启用SCL环境中新版本GCC
1 | $ scl enable devtoolset-4 bash |
验证GCC版本
1 | gcc --version |
- CentOS 7
安装软件源
1 | 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
1 | yum --disablerepo='*' --enablerepo='hhorak-devtoolset-4-rebuild-bootstrap' list |
启用SCL环境中新版本GCC
1 | $ scl enable devtoolset-4 bash |
验证GCC版本
1 | gcc --version |
参考文档
http://www.google.com
https://www.softwarecollections.org/en/scls/rhscl/devtoolset-3/
http://m.blog.csdn.net/article/details?id=50474355