CentOS6.8下編譯安裝GCC
關於 GCC 在 CentOS 下通過 yum 安裝預設版本號碼,CentOS 5 是 4.1.2;CentOS 6 是 4.4.7;CentOS 7 是 4.8.3。
很多時候在編譯安裝軟體都需要高版本的 GCC,否則就會報錯。
那麼如何升級 GCC 的版本呢?
首先要確認升級到的 GCC 版本號碼。
目前 GCC 的最新版已經到了 5.2,而 CentOS 7 則依然使用其 4.8,所以基於相容性考慮,我選擇升級到 4.8.5。
GCC 官網:https://gcc.gnu.org
下面開始一步一步來編譯安裝 GCC 4.8.5,需要注意的是,在編譯安裝 GCC 之前,系統裡必須先要通過 yum 安裝老版本的 GCC 和依賴庫。
如果是在 x86_64 系統下編譯的話,還需要安裝 libgcc.i686 glibc-devel.i686 才行。
yuminstall-ygcctexinfo-texflexziplibgcc.i686glibc-devel.i686
注意:編譯安裝 GCC 記憶體不小於 1GB,Swap 不小於 1GB,硬碟最低不小於 10GB,否則極有可能會中途報錯退出。
編譯安裝完後,目錄 gcc-4.8.5 將會有 5GB 之多。
1、下載源碼
wgetftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz
2、下載依賴包
編譯安裝 GCC 需要依賴 mpc,mpfr,gmp包。好在 GCC 源碼裡內建指令碼可以輕鬆下載依賴包。
tarzxfgcc-4.8.5.tar.gzcdgcc-4.8.5./contrib/download_prerequisites
編譯和安裝
# cd gcc-4.8.1
#./gcc-4.8.1/configure--prefix=/usr/local/gcc-4.8.1 --enable-languages=c,c+
prefix=/usr/local/gcc-4.8.1表示配置安裝的路徑,如果不指定安裝路徑,執行檔案會預設放在/usr/local/bin下,這樣做是為了方便維護,當需要卸載時,直接刪除該目錄即可。
enable-languages表示安裝語言,在這裡表示只安裝c和c++
編譯
準備工作完成後,就可以編譯了
# make
此過程大概2小時左右哦,如果中途報錯,提示fatal error:gnu/stubs-32,No such file or directory.如示:
運行下面命令,然後重新編譯
# yum -y install glibc-devel.i686 --setopt=protected_multilib=false
# make
參考資料:
CentOS 6.7 下升級 g++
https://allen-kevin.github.io/2016/09/28/CentOS%206.7%E4%B8%8B%E5%8D%87%E7%BA%A7g++/
解決libc.so.6: version `GLIBC_2.14' not found問題
http://blog.csdn.net/cpplang/article/details/8462768
安裝gcc4.8.5
https://teddysun.com/432.html