关于 GCC 在 CentOS 下通过 yum 安装默认版本号,CentOS 5 是 4.1.2;CentOS 6 是 4.4.7;CentOS 7 是 4.8.3。

很多时候在编译安装软件都需要高版本的 GCC,否则就会报错。

那么如何升级 GCC 的版本呢?

首先要确认升级到的 GCC 版本号。

目前 GCC 的最新版已经到了 5.2,而 CentOS 7 则依然使用其 4.8,所以基于兼容性考虑,我选择升级到 4.8.5。

GCC 官网:https://gcc.gnu.org

下面开始一步一步来编译安装 GCC 4.8.5,需要注意的是,在编译安装 GCC 之前,系统里必须先要通过 yum 安装老版本的 GCC 和依赖库。

如果是在 x86_64 系统下编译的话,还需要安装 libgcc.i686 glibc-devel.i686 才行。

yum install -y gcc texinfo-tex flex zip libgcc.i686 glibc-devel.i686

注意:编译安装 GCC 内存不小于 1GB,Swap 不小于 1GB,硬盘最低不小于 10GB,否则极有可能会中途报错退出。

编译安装完后,目录 gcc-4.8.5 将会有 5GB 之多。

1、下载源码

wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz

2、下载依赖包

编译安装 GCC 需要依赖 mpc,mpfr,gmp包。好在 GCC 源码里自带脚本可以轻松下载依赖包。

tar zxf gcc-4.8.5.tar.gz cd gcc-4.8.5 ./contrib/download_prerequisites

CentOS6.8,编译安装,GCC

CentOS6.8,编译安装,GCC

CentOS6.8,编译安装,GCC

编译和安装

# cd gcc-4.8.1

#./gcc-4.8.1/configure--prefix=/usr/local/gcc-4.8.1 --enable-languages=c,c+

prefix=/usr/local/gcc-4.8.1表示配置安装的路径,如果不指定安装路径,执行文件会默认放在/usr/local/bin下,这样做是为了方便维护,当需要卸载时,直接删除该目录即可。

enable-languages表示安装语言,在这里表示只安装c和c++

编译

准备工作完成后,就可以编译了

# make

此过程大概2小时左右哦,如果中途报错,提示fatal error:gnu/stubs-32,No such file or directory.如下图示:

CentOS6.8,编译安装,GCC

运行下面命令,然后重新编译

# yum -y install glibc-devel.i686 --setopt=protected_multilib=false

# make