歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> CentOS 6.6源碼編譯升級GCC至4.8.2

CentOS 6.6源碼編譯升級GCC至4.8.2

日期:2017/2/28 13:58:14   编辑:Linux教程

升級前提

源碼編譯需要至少要有一個可用的gcc編譯器。

可以用過yum自動安裝或者手動下載rpm包安裝。

通過yum可以看到至少需要下面這些安裝包,所以可以到許多rpm package站點中搜索下載相應的rpm包,不過版本要搞對了,這個yum搜出來的版本是針對4.4.7的。所以需要什麼版本gcc就尋找什麼版本對應的依賴包。現在的rpm站點都會說明這個軟件包依賴哪些軟件包,被哪些軟件包依賴,非常方便,不過找起來還是比較耗時的。

CentOS 6.6編譯安裝GCC4.8.2

下載gcc4.8.2源碼包

1 curl -O ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.2/gcc-4.8.2.tar.gz;

首先需要下載gcc安裝所依賴的mpc,mpfr,gmp包,gcc自帶了一個腳本幫我們下載並建立好鏈接等gcc編譯時一起編譯,你也可以自己去下載依賴包。

1 tar zxf gcc-4.8.2.tar.gz
2 cd gcc-4.8.2 
3 ./contrib/download_prerequisites

打開上面的download_prerequisites可以看到,它首先下載了3個包,所以當發現腳本卡在下載的地方可能就是無法訪問的原因了,這是需要去找一個新的下載地址,方法很簡單,google文件名就可以找到很多。

開始編譯gcc

mkdir gcc-build-4.8.2
cd gcc-build-4.8.2
../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
make
make install

安裝完成後如果發現gcc -v版本沒有變化,就再執行以下啟動腳本。

1 source /etc/profile
2 source ~/.bash_profile

安裝完之後的問題

安裝完之後雖然敲gcc g++ c++ 等版本都更新到了4.8.2但其實電腦裡裡面至少存在兩個版本的gcc

whereis或者where可以看到有多個gcc文件,which命令可以看到命令gcc對應的是usr/local/bin/gcc,而原來的gcc執行文件在/usr/bin/gcc,執行/usr/bin/gcc -v可以看到gcc的版本還是4.4,這雖然問題不大,但有些shell腳本或者Makefile中直接寫的是gcc的絕對路徑,所以很有可能會使用舊的gcc版本去編譯,從而導致失敗。所以還是需要將原來的gcc覆蓋掉。最開始想的辦法是將、usr/bin/gcc軟鏈接到usr/local/bin/gcc,對於g++,c++等也做相似的處理

這種方式看似解決了問題,但總覺得不靠譜,直到最近編譯apache thrift發現還是不太對。所以考慮在安裝gcc的時候是否可以指明安裝路徑。

執行

1 ./configure --help 

可以看到確實是有這樣的選項的

所以只需要在configure的時候帶上 --prefix=/usr 就可以將gcc編譯安裝到usr下了

Linux升級GCC 4.8.1清晰簡明教程(Ubuntu 12.04 64位版為例) http://www.linuxidc.com/Linux/2014-04/99583.htm

在CentOS 6.4中編譯安裝GCC 4.8.1 + GDB 7.6.1 + Eclipse 在CentOS 6.4中編譯安裝GCC 4.8.1 + GDB 7.6.1 + Eclipse

Ubuntu下Vim+GCC+GDB安裝及使用 http://www.linuxidc.com/Linux/2013-01/78159.htm

Ubuntu下兩個GCC版本切換 http://www.linuxidc.com/Linux/2012-10/72284.htm

CentOS6.5升級手動安裝GCC4.8.2 http://www.linuxidc.com/Linux/2015-01/112595.htm

GCC 的詳細介紹:請點這裡
GCC 的下載地址:請點這裡

更多CentOS相關信息見CentOS 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=14

Copyright © Linux教程網 All Rights Reserved