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


 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM