一、前言
最近在安裝 香港中文大學-商湯科技聯合實驗室開源的基于 PyTorch 的檢測庫——mmdetection時候發現gcc版本需要在4.9以上,但是考慮到實驗室服務器集群上gcc的版本還是比較舊的,作為一個非root用戶又沒有操作權限,只能在自己的目錄下面原始碼安裝GCC了,在安裝gcc 的時候也折騰許久,現將詳細教程分享出來,
二、基本情況
1.GPU服務器系統:linux
2.聯網情況:不連接外網
3.root權限:無
4.原gcc版本:4.8.5
三、任務
在不聯網且無root權限情況下,將服務器上的gcc版本從4.8.5升級至5.4.0,
四、操作流程
1.獲取GCC原始碼
1.從官網下載gcc原始碼到本地(個人情況是:window系統的筆記本電腦),然后將gcc原始碼上傳至服務器,
gcc5.4.0下載地址:http://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2
gcc其他版本的下載地址:http://ftp.gnu.org/gnu/gcc/
2.在服務器上進行解壓:
tar -jxvpf gcc-5.4.0.tar.bz2
3.進入gcc檔案夾,然后進行安裝gcc操作,
cd gcc-5.4.0/
2.安裝GCC
1.安裝GCC需要依賴三個庫:GMP, MPFR 和 MPC三個庫,
如果可以在聯網的情況下,我們直接運行如下命令即可以安裝這三個庫,
./contrib/download_prerequisites
如果讀者和我一樣無法連接外網的話,那就只能看看download_prerequisites這個腳本到底進行了什么操作,

根據download_prerequisites這個腳本可知道,其實就是執行了下載GMP, MPFR ,MPC和ISL這四個庫,并進行解壓鏈接的操作,那么,我們可以將下載的這幾行命令注釋掉,然后將這是個包分別下載下來上傳至gcc的目錄下即可,
下載地址:
ftp://gcc.gnu.org/pub/gcc/infrastructure/gmp-4.3.2.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/isl-0.14.tar.bz2
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpc-0.8.1.tar.gz
ftp://gcc.gnu.org/pub/gcc/infrastructure/mpfr-2.4.2.tar.bz2
執行以下命令((無輸出))
./contrib/download_prerequisites
然后分別執行以下命令(這個程序可能有點久):
mkdir objdir
cd objdir
../configure --disable-checking --enable-languages=c,c++,fortran --disable-multilib --prefix=/path/to/install/gcc-5.4 --enable-threads=posix
make -j && make install
/path/to/install/gcc-5.4這個是自己想要給gcc安裝的目錄,需要自己創建好,
3.配置環境變數
export PATH=/path/to/install/gcc-5.4/bin:$PATH
export LD_LIBRARY_PATH=/path/to/install/gcc-5.4/lib/:/path/to/install/gcc-5.4/lib64:$LD_LIBRARY_PATH

4.注意事項
由于這是在非root權限下進行操作的,所以配置環境變數只能在命令列進行配置,導致終端關閉之后,這個配置資訊就會注銷,所以每次需要用到新的gcc版本時,需要仔細配置環境變數那兩行命令,(本人非root權限下無法vim /etc/profile進行添加環境變數)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/259012.html
標籤:其他
