centos安裝配置安裝多版本的gcc
阿新 • • 發佈:2021-01-08
(先寫一個簡單的處理思路後期補充)
自己出現的問題:因安裝其他軟體需要,本人將gcc升級到9.1,但是安裝apex的時候,告訴我gcc版本不能高於8.0。相隔就一天。心態差點爆炸。(順便加一句我改了之後告訴我要求gcc5.0以上版本。。。)
我安裝的時候使用的是手動編譯安裝,另外一個是系統自帶
系統自帶版本:4.8.5
後來手動編譯版本:9.1.0
檢視gcc版本的命令:gcc -v
當然和這個一起的還有g++,c++都一樣加-v查版本
檢視系統帶的(或者說是yum安裝的gcc):rpm -q gcc
如果這個和系統中gcc -v的不一樣可以按照我下面的步驟來
方法一,使用devtoolset
一,更新yum:
sudo yum update
二,安裝centos-release-scl:
sudo yum install centos-release-scl
三,安裝devtoolset:
sudo yum install devtoolset-7-gcc*
你想安裝哪個版本的就把7改成哪個版本
四,啟用這個環境:
scl enable devtoolset-8 bash
五,檢視環境:
gcc -v
每次使用這個版本的gcc時候都需要啟用一下,安裝的devtoolset是在 /opt/sh 目錄下的
可以使用devtools中的enable進行啟用如
source /opt/rh/devtoolset-7/enable
方法二,使用軟連線
主要思路就是使用sudo find / -name gcc
查詢老的在哪裡,然後用軟連線,放到/usr/local/bin/
裡面(如果已經多安裝了一個的話)
一,編譯並安裝一個gcc版本
這個網上有很多,就是去官網下載一個gcc,然後下載依賴包,然後編譯。回頭我再加這部分內容。
二,檢視系統當前版本(nvcc -v
)
如果你想要使用的不是這個版本可以進行替換
三,查詢系統中gcc的位置
sudo find / -name gcc
一般會顯示兩個
我們只用管在bin下面的那個就好了。一般系統預設安裝的在/usr/bin/gcc
中。
來看一下是不是系統預設安裝的,使用命令/usr/bin/gcc -v
而我們使用
gcc -v
所用的都是/usr/local/bin/gcc
中的,(放在usr/loacl/bin下面的你在任何地方輸入都可以執行)四,最後一步就是把系統的gcc9.1.0更換為4.8.5(這個比較重要前兩個只是個解釋,可能有人跟我遇到的不是一個問題這個也能有個思路)
其實就跟windows的環境變數一樣,你裝了兩個,然後你指哪個他就用哪個。
第一步:將/usr/local/bin/gcc進行換名,也就是相當於備份。(系統預設使用gcc,所以換完名字之後想要再用9.1.0就可以使用
gcc-9.1.0 -v
等命令)
sudo mv /usr/local/bin/gcc /usr/local/bin/gcc-9.1.0
之後我們把我們要用的在/usr/bin/gcc
拿過來設定為環境變數。
sudo ln -s /usr/bin/gcc /usr/local/bin/gcc
這樣就相當於系統預設使用/usr/bin/gcc的gcc
這樣還沒有結束,因為gcc,g++,c++都是配套的。所以按照上面那兩個命令把g++和c++也進行配置。
sudo mv /usr/local/bin/g++ /usr/local/bin/g++-9.1.0
sudo ln -s /usr/bin/g++ /usr/local/bin/g++
sudo mv /usr/local/bin/c++ /usr/local/bin/c++-9.1.0
sudo ln -s /usr/bin/c++ /usr/local/bin/c++