1)下載GCC9.3.0源碼並解壓
從GCC官方FTP下載地址可以看到GCC最新版本為9.3.0。由於官網下載速度慢,實際上用清華大學的鏡像站進行下載,代碼如下:
wget -c /opt/tmp/ https://mirrors.tuna.tsinghua.edu.cn/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz #考慮到安裝失敗的可能性,創建一個臨時文件夾來安裝GCC sudo mkdir /opt/tmp cd /opt/tmp #解壓安裝包到臨時文件夾里 sudo tar -zxvf /home/paul/Downloads/gcc-9.3.0.tar.gz
我是通過迅雷直接下載:https://ftp.gnu.org/gnu/gcc/gcc-9.3.0/gcc-9.3.0.tar.gz 然后上傳到服務器
2)下載依賴文件
cd gcc-9.3.0/ #下載gmp mpfr mpc等供編譯需求的依賴項 ./contrib/download_prerequisites
--------------------------------------------------------------------------------------------------------------------------------------
沒有出現錯誤可以略過以下操作
執行命令會出現如下的錯誤,可能原因是從清華大學鏡像下的安裝包有過改動,不能通過sha512驗證
gmp-6.1.0.tar.bz2: FAILED sha512sum: WARNING: 1 computed checksum did NOT match error: Cannot verify integrity of possibly corrupted file gmp-6.1.0.tar.bz2
查看download_prerequisites源碼后, 在gcc-9.3.0目錄下輸入以下命令:
#刪除上一命令安裝失敗產生的gmp壓縮包和目錄 rm gmp-6.1.0.tar.bz2 rm gmp-6.1.0 #加--noverify選項禁止邊下邊驗證 ./contrib/download_prerequisites --no-verify
--------------------------------------------------------------------------------------------------------------------------------------
3)創建預編譯目錄
mkdir build && cd build
4)設置編譯選項並編譯
../configure --prefix=/usr/local/gcc-9.3.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
–-enable-languages表示你要讓你的gcc支持哪些編程語言;
-–disable-multilib表示編譯器不編譯成其他平台的可執行代碼;
-–disable-checking表示生成的編譯器在編譯過程中不做額外檢查
–-enable-checking=xxx 表示編譯過程中增加XXX檢查
–prefix=/usr/local/gcc-9.3.0 指定安裝路徑
–enable-bootstrap 表示用第一次編譯生成的程序進行第二次編譯,然后用再次生成的程序進行第三次編譯,並且檢查比較第二次和第三次結果的正確性,也就是進行冗余的編譯檢查工作。 非交叉編譯環境下,默認已經將該值設為 enable,可以不用顯示指定;交叉編譯環境下,需要顯示將其值設為 disable。
5)安裝
#編譯生成makefile文件 make #安裝GCC sudo make install
6)安裝后的設置
#設置環境變量 touch /etc/profile.d/gcc.sh sudo chmod 777 /etc/profile.d/gcc.sh sudo echo -e '\nexport PATH=/usr/local/gcc-9.3.0/bin:$PATH\n' >> /etc/profile.d/gcc.sh && source /etc/profile.d/gcc.sh #設置頭文件 sudo ln -sv /usr/local/gcc/include/ /usr/include/gcc #設置庫文件 touch /etc/ld.so.conf.d/gcc.conf sudo chmod 777 /etc/ld.so.conf.d/gcc.conf sudo echo -e "/usr/local/gcc/lib64" >> /etc/ld.so.conf.d/gcc.conf #加載動態連接庫 sudo ldconfig -v ldconfig -p |grep gcc
7)測試版本號
#測試 gcc -v
敲入命令后,終端顯示如下文字,說明已成功安裝GCC9.3.0
Target: x86_64-pc-linux-gnu
Configured with: …/configure --prefix=/usr/local/gcc-9.3.0 --enable-bootstrap --enable-checking=release --enable-languages=c,c++ --disable-multilib
Thread model: posix
gcc version 9.3.0 (GCC)
原文地址:https://blog.csdn.net/pauljjf/article/details/105171154