CentOS7 離線升級gcc到8.3.0解決‘GLIBCXX_3.4.21‘not found
阿新 • • 發佈:2020-12-16
在安裝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
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啦。