CentOS升级gcc

来源:互联网 发布:js中settimeout 编辑:程序博客网 时间:2024/05/17 07:38

补充:最简单的升级方式http://www.cnblogs.com/clor001/p/5775920.html
废话:最近需要对CentOS的gcc版本进行升级,记录一下升级的过程和经验,以便后续会用到!

系统:CentOS6.5 64位系统
原始gcc版本:version 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)
需要升级的gcc版本:gcc5.2.0

第一步:先检查系统是否安装g++,如果没有安装,需要先安装(见本文末尾有安装方法)

gcc-g++ -v

第二步:

A、去http://ftp.gnu.org/gnu/gcc/下载需要安装的对应版本gcc,我这里将5.2.0版本下载到$HOME/Downloads文件夹下,然后解压(这里的$HOME是你的用户目录路径【/home/你的用户名】)

wget http://ftp.gnu.org/gnu/gcc/gcc-5.2.0/gcc-5.2.0.tar.gz #下载tar -xzvf gcc-5.2.0.tar.gz #解压

B、切换到刚刚解压后的gcc-5.2.0文件夹下
执行以下指令检查gcc编译需要的依赖包

cd gcc-5.2.0./contrib/download_prerequisites #检查并下载需要的依赖包

有可能因为网络被墙的原因,无法下载对应的包,需要大家手动下载安装。
手动安装方法:编辑download_prerequisites文件,将以wget开头的下载连接以此替换成下面的连接
http://down1.chinaunix.net/distfiles/mpfr-2.4.2.tar.bz2

ftp://ftp.linux.ro/gnu/gmp/gmp-4.3.2.tar.bz2

http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz

http://isl.gforge.inria.fr/isl-0.14.tar.bz2
如图:
这里写图片描述
第三步:
完成第二步依赖包的安装之后就可以configure了,在执行configure之前,先在$HOME目录下新建gcc编译目录

mkdir $HOME/gcc-5.2.0-build #gcc编译文件将存放在这里

cd到刚刚新建的gcc-5.2.0-build文件夹下,然后执行configure

cd $HOME/gcc-5.2.0-buildsudo ../Downloads/gcc-5.2.0/configure --enable-checking=release --enable-languages=c,c++ --disable-multilib #这里用的gcc安装包存放的相对路径,你也可以用绝对路径

同样是在该gcc-5.2.0-build文件夹下
执行make和make install

sudo make #过程耗时极其长sudo make install

执行完,gcc安装成功!

gcc -v

版本5.2.0

可能遇到的错误:

执行make指令时出错

configure: error: error verifying int64_t uses long long
make[2]: * [configure-stage1-gcc] Error 1
make[2]: Leaving directory /home/test/gcc-5.2.0'
make[1]: *** [stage1-bubble] Error 2
make[1]: Leaving directory
/home/test/gcc-5.2.0’
make: * [all] Error 2

出错原因:系统没有安装g++
解决方案:执行指令安装g++

yum install gcc-c++  #注意CentOS里是gcc-g++,不是g++

或者以下3个命令选一个

yum install makeyum groupinstall "Development Tools"yum install gcc gcc-c++ kernel-devel