1. 程式人生 > 其它 >CentOS7 離線升級gcc到8.3.0解決‘GLIBCXX_3.4.21‘not found

CentOS7 離線升級gcc到8.3.0解決‘GLIBCXX_3.4.21‘not found

技術標籤:目標檢測深度學習

在安裝yolov5的過程中,訓練時需要’GLIBCXX_3.4.21’,這是gcc版本較低造成的,需要將自帶的4.8.5升級,記錄一下本人親測的升級步驟。

1. 下載原始碼包和依賴庫

原始地址下載慢,我在百度上手動搜尋下載好了,原始碼包和依賴庫如下:

連結:https://pan.baidu.com/s/1g8jRSAoi4CWWLS03iywEUw 
提取碼:47pm 

原始碼包和依賴庫
解壓原始碼包,用tar zxvf gcc-8.3.0.tar.gz

進入gcc資料夾,cd gcc-8.3.0 將剛才下載的另外4個壓縮包複製進去,執行 ./contrib/download_prerequisites

會自動生成gmp、isl、mpc、mpfr的軟連結。

2. 在新目錄中配置、編譯、安裝

mkdir build   # 建立build資料夾,資料夾名可隨意
cd build
…/configure --prefix=/usr/local/gcc --enable-languages=c,c++ --disable-multilib
make   # 編譯要很久,大概2小時左右
make install

3. 刪除之前的版本後檢視gcc版本

yum -y remove gcc
sudo gedit /etc/profile.d/gcc.sh       # 用文字編輯開啟該檔案
export PATH=
$PATH:/usr/local/gcc/bin # 輸入該語句 source /etc/profile.d/gcc.sh # 更新 gcc -v # 檢視版本會輸出 8.3.0表示安裝成功

4. 解決’GLIBCXX_3.4.21’ not found

sudo cp /usr/local/lib64/libstdc++.so.6.0.25 /lib64   # 複製檔案
cd /lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.25 libstdc++.so.6    # 新增軟連結

執行以下命令來檢視’GLIBCXX_3.4.21’

strings /lib64/libstdc++.so.6 | grep GLIBC

看到已經有’GLIBCXX_3.4.21’了,接下來就可以愉快的訓練YOLOv5啦。