CentOS7 手動編譯升級GCC至9.3.0


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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM