天天看點

CentOS6.3更新GCC到GCC4.8.2

伺服器上安裝的GCC版本過舊,已經不滿足個人使用的版本需求,故決定對其進行更新操作,由目前版本3.4.6更新到4.8.2,然受權限制約,隻能安裝到個人目錄,是以如果您的伺服器可以連接配接外網,并且有root或者sudo權限的話,可使用自助安裝服務,為節省您的寶貴時間,可忽略本文。

所謂“工欲善其事必先利其器”,在權限受限,并不能連接配接外網的情況下,操作Linux環境的程式安裝着實蛋疼,可沒辦法,系統需要。當祖國需要你的時候,你要站出來大聲說,“請找别人!”,麻煩歸麻煩,結果是好的。

準備好GCC的壓縮包gcc-4.8.2.tar.gz(105MB左右)後不再啰嗦,進入主題:

1、檢視系統環境和gcc版本,确認目前系統是否已經可以滿足自身需要

$lsb_realease -a 

$gcc -v

2、解壓gcc-4.8.2.tar.gz到目前目錄下

$tar -zvxf gcc-4.8.2.tar.gz

3、進入gcc目錄,檢視編譯需要的依賴檔案

$cd gcc-4.8.2/

$vim ./contrib/download_prerequisites

CentOS6.3更新GCC到GCC4.8.2

4、根據上述位址,分别下載下傳mpfr/gmp/mpc三個檔案,并解壓安裝。由于mpc依賴于mpfr和gmp,mpfr依賴于gmp,故安裝順序依次為gmp、mpfr、mpc。

gmp-4.3.2.tar.bz2

mpfr-2.4.2.tar.bz2

mpc-0.8.1.tar.gz

5、編譯安裝gmp

$tar -jvxf ~/gmp-4.3.2.tar.bz2

$cd gmp-4.3.2

$./configure --prefix=~/gcclib/gmp432(自定義配置路徑)

$make && make install

6、編譯安裝mpfr

$tar -jxvf ~/mpfr-2.4.2.tar.bz2 

$cd mpfr-2.4.2/

$./configure --prefix=~/gcclib/mpfr242 --with-gmp=~/gcclib/gmp432/ (依賴于gmp)

$make && make install

7、編譯安裝mpc

$tar -zxvf ~/mpc-0.8.1.tar.gz

$cd mpc-0.8.1/

$./configure --prefix=~/gcclib/mpc081 --with-gmp=~/gcclib/gmp432/ --with-mpfr=~/gcclib/mpfr242/ (依賴于gmp與mpfr)

$make && make install

8、編譯安裝gcc

$tar -zvxf ~/gcc-4.8.2.tar.gz 

$cd gcc-4.8.2

$./configure --prefix=~/gcc482 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=~/gcclib/gmp432/ --with-mpfr=~/gcclib/mpfr242/ --with-mpc=~/gcclib/mpc081/(注意千萬不要拼寫錯誤,在這吃了很多虧,導緻浪費很多時間,解決各種報錯,反反複複,最終發現是參數寫錯,如"multilib"誤寫成"mutilib",參數這樣寫沒錯的,後面的--with指定gcc依賴包的路徑)

--enable-threads=posix//可用線程

-disable-checking//禁用檢查

--disable-multilib//預設gcc 能在32位系統上将代碼編譯成64位程式,或者在64位系統上編譯成32位程式,如果加上這個編譯選項則表示關閉這個gcc的交叉編譯功能。

--enable-languages //指定 gcc 能編譯哪些語言的檔案,每種語言用逗号分隔, 例如 c,c++,java

詳細的參數介紹可以在官網看到:https://gcc.gnu.org/install/configure.html

$如果此時執行"make"指令的話,那後果會相當的痛苦,預設安裝情況,所有lib共享庫都會被放到系統目錄下如64位的/usr/lib64/,而我們手動指定目錄的形式,系統在編譯建構的時候是找不到的,就是說GCC找不到之前我們安裝的三個lib庫,so我們這樣做,即使沒權限,仍可以建立全局的臨時路徑。

$export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/gcclib/gmp432/lib:~/gcclib/mpfr242/lib:~/gcclib/mpc081/lib(保證原有的參數正确,加上新的共享路徑,用冒号分隔)

$make(别傻等在螢幕前,聽哥一句勸,這個過程的時間你可以欣賞一Hollywood大片啦,至少1.5小時,當然如果你的伺服器牛逼的不行超級快請忽略)

$make install

$~/gcc482/bin/gcc -v (檢視安裝版本,驗證是否安裝成功)

9、Complete!

在安裝過程中,遇到的奇葩問題不少于10個,這裡沒有記錄,因為沒有原圖,說服力不夠,而且記錄比較麻煩,是以如果你在安裝過程中遇到什麼問題,仔細看看錯誤提示,谷歌一下,就很容易解決,當然特别歡迎你留言,很樂意幫你解決。關于自安裝GCC的使用歡迎您閱讀下一篇博文,MonaServer的安裝使用。

繼續閱讀