小C在这里只展示手动升级GCC到4.8.1(其他高一点的版本也是类似的方法,GCC6 和 GCC8小C都测试过)。
Centos 6如何升级GCC
手动编译安装
手动编译升级GCC到4.8.1
- 安装开发工具包
yum groupinstall "Development Tools"
- 安装 glibc-devel.i686 (需要32位glibc来编译32位GCC)
yum install glibc-devel.i686
- 下载GCC4.8.1
编译GCC需要足够大的空间(5G以上),
请确保所在磁盘有足够的剩余空间
。小C选择直接在root目录下操作。
cd /root
wget http://mirrors.nju.edu.cn/gnu/gcc/gcc-4.8.1/gcc-4.8.1.tar.bz2
- 解压并编译安装
tar -jxvf gcc-4.8.1.tar.bz2
cd gcc-4.8.1
./contrib/download_prerequisites
cd ..
mkdir objdir
cd objdir
../gcc-4.8.1/configure --prefix=/usr
make -j4
make install
采用第三方Repo库安装
SCL库
采用CentOS的一个第三方库SCL(软件选集),SCL可以在不覆盖原系统软件包的情况下安装新的软件包与老软件包共存并且可以使用scl命令切换,不过也有个缺点就是只支持64位的。还有devtoolset-4(gcc 5.2)及之前的版本都已经结束支持,只能通过其他方法安装。
yum -y install centos-release-scl
yum -y install devtoolset-8-gcc devtoolset-8-gcc-c++ devtoolset-8-binutils
scl enable devtoolset-8 bash #启动gcc8
你要哪个版本的就把第2条命令中的数字8改成你要的主版本号就可以了。这样升级到的是最新的版本,例如8升级到的是8.2.0而不是8.1。
通过scl命令启动gcc,这个只是暂时的,当你的shell关闭后或者重启就会恢复原来的版本,要想一直使用升级后的版本可以使用如下命令:
echo "source /opt/rh/devtoolset-8/enable" >>/etc/profile
source /etc/profile