在运维的工作内,经常要编译安装各种开源组件,以CentOS 6的用户来说,大部分时候用到gcc的时候都是4.4.7版本的,在绝大多数情况下编译一些东西还是够用的,但还是有个别软件对gcc的版本是有要求的,例如rethinkdb这个东西,就要求4.8.2以上的版本,为什么呢?因为要用c++11特性,这个在CentOS6中的默认gcc版本是不支持的。要解决这个问题一般有两种方法:
1、手动编译gcc>4.8的版本
2、安装devtoolset
第一种方法相对来说耗时耗力,适合真的想折腾的同学,第二种方法是偷懒用的,可以快速安装gcc的高版本来使用。
以下就说下devtoolset的安装方法
devtoolset目前有4个版本:devtoolset-1.1 devtoolset-2 devtoolset-3 devtoolset-4,以上版本分别对应gcc的版本为4.7、4.8、4.9、5.2
devtoolset-2的安装
touch /etc/yum.repos.d/devtools-2.repo,devtools-2.repo的内容:
[devtools2]
name=testing 2 devtools for CentOS $releasever
baseurl=http://people.centos.org/tru/devtools-2/$releasever/$basearch/RPMS
enabled=1
gpgcheck=0
备用的升级源
[devtoolset2]
name=RedHat DevToolset v2 $releasever - $basearch
baseurl=http://puias.princeton.edu/data/puias/DevToolset/$releasever/$basearch/
enabled=1
gpgcheck=0
yum check-update
yum install devtoolset-2-gcc devtoolset-2-gcc-c++
devtoolset-3和devtoolset-4的安装要更简单了,执行命令
yum install centos-release-scl-rh centos-release-scl
yum check-update
yum install devtoolset-3-gcc devtoolset-3-gcc-c++
yum install devtoolset-3-gcc devtoolset-3-gcc-c++
安装起来自己所需要的devtoolset后,接下来就需要启用了
source /opt/rh/devtoolset-2/enable
source /opt/rh/devtoolset-3/enable
source /opt/rh/devtoolset-4/enable
可通过gcc -v来验证当前gcc的版本,玩的开心