之前寫過在linux下升級gcc 4.8至gcc 4.9的過程,現在gcc最新的版本是8,有些軟件必須是gcc 7或者以上的版本才可以編譯,比如clickhouse,gcc 7的安裝過程和之前基本上一樣,但是安裝要獨立安裝,不要覆蓋系統的gcc,因為大部分軟件還是使用系統的gcc編譯,這里gcc 7是分開使用,下面簡單說一下安裝的過程,
這里安裝的是gcc 7.3,下載頁面:http://mirrors.ustc.edu.cn/gnu/gcc/gcc-7.3.0/,下載的包為:gcc-7.3.0.tar.xz
1). 安裝gcc所需要的依賴
新版的gcc同樣是依賴gmp,mpfr,mpc這3個包,版本要求不需要太高,編譯出錯時會給出提示,具體參考之前的文章安裝即可,除了編譯源碼安裝之外還可以使用下面的yum在線安裝:
yum install gmp-devel yum install mpfr-devel yum install libmpc-devel
這樣很快就搞定了.
2). 編譯gcc 7.3
釋放安裝包:
xz -d gcc-7.3.0.tar.xz tar -xvf gcc-7.3.0.tar cd gcc-7.3.0/
編譯源碼:
./configure --prefix=/monchickey/gcc7 --disable-multilib # 注意指定到自己的目錄,第二個參數是關閉32位指令,僅使用64位. make -j4 make install
然后又是漫長的等待,比gcc 4的編譯還要慢,基本上需要1個多小時
3). 相關配置
編譯完成之后執行 /monchickey/gcc7/bin/gcc -v 就可以看到版本號了,為了便於使用,可以執行下面命令建立軟鏈接:
ln -s /monchickey/gcc7/bin/gcc /usr/bin/gcc-7 ln -s /monchickey/gcc7/bin/g++ /usr/bin/g++-7
這樣就可以直接執行gcc-7或者是g++-7調用命令了,很多軟件編譯時一般不直接調用gcc或者g++命令,而是用CC和CXX代替,所以需要使用gcc 7進行編譯時可以執行命令 export CC=gcc-7 CXX=g++-7 臨時導入環境變量,這樣本次編譯就可以使用gcc 7了,下次進入shell時變量消失,不影響原有的環境,當然具體配置還需要參考軟件的文檔,不過很多軟件編譯時都用了這種方式.