CentOS6.8下编译安装GCC详解


    关于 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
    
    
    
    编译和安装
    # 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.如下图示:
    
    运行下面命令,然后重新编译
    # yum -y install glibc-devel.i686 --setopt=protected_multilib=false
    # make