阿里雲伺服器升級gcc

阿趟哥發表於2020-11-20

在自己的阿里雲伺服器上安裝redis6.0,發現需要gcc4.9以上的版本,阿里雲伺服器預設的是4.8.5的版本,所以需要升級一下,但是阿里雲伺服器太乾淨了啥也沒帶,所以導致yum命令升級gcc的時候不好使,只能手動去升級,這個事情花費了我一整天。

 

首先:which g++檢視一下伺服器有沒有c++環境,如果沒有,一定要執行,就因為這一句話浪費了一天的時間。

yum install gcc-c++

然後就是準備安裝的包,一共是這四個,我是在 http://ftp.gnu.org/gnu 這裡面找到的,下載速度還算可以。把這四個包下載到伺服器的 /usr/local 路徑下面。

接下來這幾個包的安裝順序一定不能搞錯,不然會很麻煩,我因為安錯了把伺服器格式化了兩次才搞定。

首先安裝gmp,注意第五個命令的路徑跟你自己包解壓的路徑匹配,後面的都是這樣,我的路徑就是/usr/local

tar -xvzf gmp-5.0.1.tar.gz
cd gmp-5.0.1/
mkdir temp
cd temp/
../configure --prefix=/usr/local/gmp-5.0.1
make
make install

然後安裝mpfr,注意第五行是mpfr和gmp的路徑

tar -xvzf mpfr-3.1.5.tar.gz
cd mpfr-3.1.5/
mkdir temp
cd temp/
../configure --prefix=/usr/local/mpfr-3.1.5 --with-gmp=/usr/local/gmp-5.0.1
make
make install

然後安裝mpc,注意第五行是mpc gmp以及mpfr三個的路徑

tar -xvzf mpc-1.0.3.tar.gz
cd mpc-1.0.3/
mkdir temp
cd temp/
../configure --prefix=/usr/local/mpc-1.0.3 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.5
make
make install

這裡的安裝順序一定要是這樣,因為先要mpfr依賴gmp,然後是mpc依賴前兩個.

接下來就是加上依賴的引數,先執行 vim /etc/profile ,編輯這個檔案,在檔案的最後一行加上

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-1.0.3/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-3.1.5/lib

儲存退出之後執行 source /etc/profile 讓環境變數生效,接下來安裝gcc,注意最後一個命令有點長,與自己本機的地址要對應。前面的都是為gcc安裝做基礎,不然gcc在編譯安裝的時候報各種問題,我就是因為沒有c++的執行環境,所以在編譯的時候一直報Error的問題。

tar -jxvf gcc-4.9.3.tar.bz2
cd gcc-4.9.3/
mkdir output
cd output/
../configure --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-3.1.5 --with-mpc=/usr/local/mpc-1.0.3

上面的搞定之後執行這兩個命令

make 
make install

make命令執行的時候會非常慢,據說執行了兩三個小時的都有,我是執行完命令之後就去睡覺了=_=  第二天執行的make install命令

 

有的人到此為止執行gcc -v,發現gcc版本已經更新到最新的了,但我的還是不行,所以還要以下的這些配置。

 

接下來配置gcc ,執行 vi /etc/profile ,在檔案末尾新增這一行配置

export PATH=$PATH:/usr/local/gcc4.9.3 

退出儲存,執行  source /etc/profile  

執行這個命令,刪除舊的軟連線執行 

rm /usr/bin/gcc

 

執行這個命令,使新版本建立軟連線

ln -s /usr/local/gcc4.9.3/bin/gcc /usr/bin/gcc

再執行這兩個命令

rm /usr/bin/g++
ln -s /usr/local/gcc4.8.2/bin/g++ /usr/bin/g++

上面全部搞定之後,執行gcc -v 檢視gcc的版本是否已經更新成最新版本,如果沒有成功,我真的不知道為啥了。

 

 

相關文章