RHEL 6.5升级GCC 4.9.3

前提:保证旧版的gcc,g++存在! root用户


1. 下载源码和依赖包源码:新建目录bak
wget http://ftp.gnu.org/gnu/gcc/gcc-4.9.3/gcc-4.9.3.tar.gz

#Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+
wget http://www.multiprecision.org/mpc/download/mpc-0.9.tar.gz
wget http://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.gz
wget http://ftp.gnu.org/gnu/mpfr/mpfr-3.1.0.tar.gz

$ ls bak/*.gz
bak/gcc-4.9.3.tar.gz bak/gmp-5.0.1.tar.gz bak/mpc-0.9.tar.gz bak/mpfr-3.1.0.tar.gz

 

2. 编译
解压tar包,并新建编译目录 t t1 t2 t3,分别进行以上源码编译
$ ls bak
t t1 t2 t3

cd t1
../gmp-5.0.1/configure --prefix=/usr/local/gmp-5.0.1
make
make install

cd t2
../mpfr-3.1.0/configure --prefix=/usr/local/mpfr-3.1.0 --with-gmp=/usr/local/gmp-5.0.1
make
make install

cd t3
../mpc-0.9/configure --prefix=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0
make
make install

#设置链接,在/etc/profile文件末尾加上,注意修改后运行#source /etc/profile 使其生效即可
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-3.1.0/lib

cd t
../gcc-4.9.3/configure --prefix=/usr/local/gcc-4.9.3  --with-mpc=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.0 --disable-multilib --enable-languages=c,c++ --enable-threads=posix --disable-checking
make
make install
编译安装

 

3. 切换GCC到新版:
[root@localhost bin]# pwd
/usr/bin
[root@localhost bin]# mv gcc gcc-4.4.7
[root@localhost bin]# ln -s /usr/local/gcc-4.9.3/bin/gcc /usr/bin/gcc
[root@localhost bin]# mv g++ g++-4.4.7
[root@localhost bin]# ln -s /usr/local/gcc-4.9.3/bin/g++ /usr/bin/g++

 

4. ok,确认版本
gcc -v
g++ -v

 

 

----补充:

若可以联网的话,有以下两个参考,未测试过

1.下载供编译需求的依赖项

参考文献[1]中说:这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力。

cd gcc-4.9.3 
./contrib/download_prerequisites 


2. 编译(注意:此步骤非常耗时)

make -j4
-j4选项是make对多核处理器的优化,如果不成功请使用 make,相关优化选项可以移步至参考文献[2]。

如果报错错误集中在 x86_64unknown-linux-gnu/32/libgcc 和 x86_64-unknown-linux-gnu/libgcc
根据参考文献[3],安装如下两个软件包(仅用于CentOS6.X):
yum -y install glibc-devel.i686 glibc-devel

1. 安装静态库,如果没有安装静态库,后面编译不会通过;

yum groupinstall "Development Tools" 
yum install glibc-static libstdc++-static -y
yum -y install glibc-devel.i686 glibc-devel

 

4. 进入目录;

cd gcc-x.x.x

5. 运行脚本download_prerequisites,此脚本会自动下载依赖库;

./contrib/download_prerequisites

6. 新建临时目录,用于存放编译过程中的临时文件;

mkdir gcc-build

cd gcc-build

7. 配置编译选项;

../configure --enable-checking=release --enable-languages=c,c++ --disable-multilib

8. 编译安装,过程十分漫长,在我的小霸王上足足编了2个多小时;

make & make install


 

posted on 2016-01-12 11:31  光标  阅读(3119)  评论(0编辑  收藏  举报

导航