Centos使用devtoolset安装gcc4.9.2

博文背景:想在Centos7上面安装gcc4.9.2, 我的腾讯云服务器 版本是Centos7,自带gcc版本4.8.5,我的服务器版本如下:

尝试过各种失败,踩过N个坑,最终再买了一台Centos6.8服务器,通过更新repo源,下载devtoolset-3-gcc.***,yum install, 方才成功安装上gcc4.9.2

尝试一:使用Centos7自带的devtoolset安装gcc

使用 yum list | grep devtoolset | grep gcc 查看一下系统自带的gcc版本:

Centos使用devtoolset安装gcc4.9.2_第1张图片
Centos7自带的 devtoolset-7 对应gcc版本是7.3.1,devtoolset-8 对应gcc版本更高。如果使用devtoolset安装gcc7.3.1或者更高版本,只需使用下面几条命令:

#1.使用devtoolset-7安装gcc7.3.1
yum install devtoolset-7-gcc.x86_64 devtoolset-7-gcc-c++.x86_64 devtoolset-7-gcc-gdb-plugin.x86_64
	
#2.查看当前可用的gcc版本
scl -l

#3.设置生效的gcc版本(需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统)
scl enable devtoolset-7 bash	
			
#4.修改bash的环境变量,设置长期使用
echo 'source /opt/rh/devtoolset-7/enable' >> /etc/profile

尝试二:直接下载gcc4.9.2.tar.gz安装包,使用Makefile编译源码,生成gcc程序,并且下载安装了相关的依赖库(gmp、mpc、mpfr等)(如何下载的?博客园、CSDN上查找各种安装教程)

Centos使用devtoolset安装gcc4.9.2_第2张图片

经过一个多小时(甚至更长时间)的编译,最终下载过来的源码使用自带的gcc4.8.5根本编译不过,还是提示缺失这些依赖库,真是心累!

尝试三:Centos7, 更新repo源,安装devtoolset-3-gcc.***,yum instal, 结果提示缺失必要安装的依赖包:libgmp.so.3(), libmpfr.so.1()等,其实我已经在尝试二中已经安装了这些依赖包,但还是提示缺失,心累+1 

#1.下载yum源
wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/devtools-3.repo
 
#2.yum安装gcc4.9.2
yum install devtoolset-3-gcc devtoolset-3-binutils devtoolset-3-gcc-c++

Centos使用devtoolset安装gcc4.9.2_第3张图片

尝试四:购买centos6.8, 自带gcc版本gcc4.4.7。

再次更新repo源,下载devtoolset-3-gcc.***,yum install , 我的天!终于成功了!!!

#1.下载yum源
wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/devtools-3.repo
 
#2.yum安装gcc4.9.2
yum install devtoolset-3-gcc devtoolset-3-binutils devtoolset-3-gcc-c++
 
 
#以下为替换系统GCC
#3.设置环境变量 (可以不设置)
export CC=/opt/rh/devtoolset-3/root/usr/bin/gcc
export CPP=/opt/rh/devtoolset-3/root/usr/bin/cpp
export CXX=/opt/rh/devtoolset-3/root/usr/bin/c++
 

#4.使用软链接替换本地gcc版本
ln -s /opt/rh/devtoolset-3/root/usr/bin/* /usr/local/bin/ 

#5.查看gcc版本
gcc --version

总结:

1. 如果要安装低版本软件,要考虑使用低版本的Ceotos系统。Centos7已经删除了gmp、mpc、mpfr等依赖库,所以不支持自行安装gcc4.9、gcc5.4等gcc版本。

2. 不建议在Centos系统,通过下载并编译源码(例如gcc4.9.2.tar.gz,mysql5.7.*.tar.gz等等) 来安装软件。其一编译时间很长,再者如果源码编译不过,提示缺失依赖库等,会非常棘手。

3. Centos系统,建议通过更新repo源,使用 yum install 安装所需要的软件。(mysql,httpd, gcc等等)

 

你可能感兴趣的:(devtoolset,gcc4.9.2,centos部署,centos,gcc/gdb编译调试)