關(guān)于 GCC 在 CentOS 下通過 yum 安裝默認(rèn)版本號,CentOS 5 是 4.1.2;CentOS 6 是 4.4.7;CentOS 7 是 4.8.3。
很多時(shí)候在編譯安裝軟件都需要高版本的 GCC,否則就會報(bào)錯(cuò)。
那么如何升級 GCC 的版本呢?
首先要確認(rèn)升級到的 GCC 版本號。
目前 GCC 的最新版已經(jīng)到了 5.2,而 CentOS 7 則依然使用其 4.8,所以基于兼容性考慮,我選擇升級到 4.8.5。
GCC 官網(wǎng):https://gcc.gnu.org
下面開始一步一步來編譯安裝 GCC 4.8.5,需要注意的是,在編譯安裝 GCC 之前,系統(tǒng)里必須先要通過 yum 安裝老版本的 GCC 和依賴庫。
如果是在 x86_64 系統(tǒng)下編譯的話,還需要安裝 libgcc.i686 glibc-devel.i686 才行。
yum install -y gcc texinfo-tex flex zip libgcc.i686 glibc-devel.i686
注意:編譯安裝 GCC 內(nèi)存不小于 1GB,Swap 不小于 1GB,硬盤最低不小于 10GB,否則極有可能會中途報(bào)錯(cuò)退出。
編譯安裝完后,目錄 gcc-4.8.5 將會有 5GB 之多。
1、下載源碼
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz
2、下載依賴包
編譯安裝 GCC 需要依賴 mpc,mpfr,gmp包。好在 GCC 源碼里自帶腳本可以輕松下載依賴包。
tar zxf gcc-4.8.5.tar.gz cd gcc-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表示配置安裝的路徑,如果不指定安裝路徑,執(zhí)行文件會默認(rèn)放在/usr/local/bin下,這樣做是為了方便維護(hù),當(dāng)需要卸載時(shí),直接刪除該目錄即可。
enable-languages表示安裝語言,在這里表示只安裝c和c++
編譯
準(zhǔn)備工作完成后,就可以編譯了
# make
此過程大概2小時(shí)左右哦,如果中途報(bào)錯(cuò),提示fatal error:gnu/stubs-32,No such file or directory.如下圖示:
運(yùn)行下面命令,然后重新編譯
# yum -y install glibc-devel.i686 --setopt=protected_multilib=false
# make