1. 程式人生 > 實用技巧 >gcc 9.3.0 離線安裝

gcc 9.3.0 離線安裝

1.下載安裝包

ftp://gnu.mirror.iweb.com/gcc/gcc-9.3.0/gcc-9.3.0.tar.xz

2.解壓

tar xvf gcc-9.3.0.tar.xz

3.安裝

cdgcc-9.3.0

./contrib/download_prerequisites ---此步驟會下載依賴包,如無無法連線外網可通過連結下載

連結:https://pan.baidu.com/s/1JHv1WAS43S89LXA6PkevTg 
提取碼:nb35

包名如下

gmp-6.1.0.tar.bz2
mpfr-3.1.4.tar.bz2
mpc-1.0.3.tar.gz
isl-0.18.tar
.bz2

使用方式:

將包cp到gcc-9.3.0目錄下即可

然後執行

./contrib/download_prerequisites ---與上一步相同無需重複執行

mkdir build

cd build

../configure --prefix=/opt/gcc9 --enable-languages=c,c++   --disable-multilib

export THREADS=$(grep -c ^processor /proc/cpuinfo)

make -j $THREADS

make install

編譯所需時間較長=。=

4.後續操作

由於gcc 升級之後會造成類似如下報錯

ninja: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ninja)

解決辦法如下

find / -name "libstdc++.so.6*"

找到系統中版本最搞的gcc目錄,例如此前的安裝目錄

/opt/gcc9/lib64/libstdc++.so.6.0.28
/opt/gcc9/lib64/libstdc++.so.6
/opt/gcc9/lib64/libstdc++.so.6.0.28-gdb.py

備份報錯的 libstdc++.so

mv /lib64/libstdc++.so.6 /lib64/libstdc++.so.6_bak

將高版本的libstdc++複製到/lib64目錄下

 
cp /opt/gcc9/lib64/libstdc++.so.6 /lib64/libstdc++.so.6
 
 
 
ln -s /opt/gcc9/lib64/libstdc++.so.6.0.28  /lib64/libstdc++.so.6      ----(一般執行上一步就可以了)

驗證

[root@mini test]# ./ninja --version        
1.9.0