天天看點

Centos使用devtoolset安裝gcc4.9.2

博文背景:想在Centos7上面安裝gcc4.9.2, 我的騰訊雲伺服器 版本是Centos7,自帶gcc版本4.8.5,我的伺服器版本如下:

Centos使用devtoolset安裝gcc4.9.2

嘗試過各種失敗,踩過N個坑,最終再買了一台Centos6.8伺服器,通過更新repo源,下載下傳devtoolset-3-gcc.***,yum install, 方才成功安裝上gcc4.9.2

嘗試一:使用Centos7自帶的devtoolset安裝gcc

使用 yum list | grep devtoolset | grep gcc 檢視一下系統自帶的gcc版本:

Centos使用devtoolset安裝gcc4.9.2

Centos7自帶的 devtoolset-7 對應gcc版本是7.3.1,devtoolset-8 對應gcc版本更高。如果使用devtoolset安裝gcc7.3.1或者更高版本,隻需使用下面幾條指令:

#1.使用devtoolset-7安裝gcc7.3.1
yum install devtoolset-7-gcc.x86_64 devtoolset-7-gcc-c++.x86_64 devtoolset-7-gcc-gdb-plugin.x86_64
	
#2.檢視目前可用的gcc版本
scl -l

#3.設定生效的gcc版本(需要注意的是scl指令啟用隻是臨時的,退出shell或重新開機就會恢複原系統)
scl enable devtoolset-7 bash	
			
#4.修改bash的環境變量,設定長期使用
echo 'source /opt/rh/devtoolset-7/enable' >> /etc/profile
           

嘗試二:直接下載下傳gcc4.9.2.tar.gz安裝包,使用Makefile編譯源碼,生成gcc程式,并且下載下傳安裝了相關的依賴庫(gmp、mpc、mpfr等)(如何下載下傳的?部落格園、CSDN上查找各種安裝教程)

Centos使用devtoolset安裝gcc4.9.2
Centos使用devtoolset安裝gcc4.9.2

經過一個多小時(甚至更長時間)的編譯,最終下載下傳過來的源碼使用自帶的gcc4.8.5根本編譯不過,還是提示缺失這些依賴庫,真是心累!

嘗試三:Centos7, 更新repo源,安裝devtoolset-3-gcc.***,yum instal, 結果提示缺失必要安裝的依賴包:libgmp.so.3(), libmpfr.so.1()等,其實我已經在嘗試二中已經安裝了這些依賴包,但還是提示缺失,心累+1 

#1.下載下傳yum源
wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/devtools-3.repo
 
#2.yum安裝gcc4.9.2
yum install devtoolset-3-gcc devtoolset-3-binutils devtoolset-3-gcc-c++
           
Centos使用devtoolset安裝gcc4.9.2

嘗試四:購買centos6.8, 自帶gcc版本gcc4.4.7。

Centos使用devtoolset安裝gcc4.9.2

再次更新repo源,下載下傳devtoolset-3-gcc.***,yum install , 我的天!終于成功了!!!

#1.下載下傳yum源
wget https://copr.fedoraproject.org/coprs/rhscl/devtoolset-3/repo/epel-6/rhscl-devtoolset-3-epel-6.repo -O /etc/yum.repos.d/devtools-3.repo
 
#2.yum安裝gcc4.9.2
yum install devtoolset-3-gcc devtoolset-3-binutils devtoolset-3-gcc-c++
 
 
#以下為替換系統GCC
#3.設定環境變量 (可以不設定)
export CC=/opt/rh/devtoolset-3/root/usr/bin/gcc
export CPP=/opt/rh/devtoolset-3/root/usr/bin/cpp
export CXX=/opt/rh/devtoolset-3/root/usr/bin/c++
 

#4.使用軟連結替換本地gcc版本
ln -s /opt/rh/devtoolset-3/root/usr/bin/* /usr/local/bin/ 

#5.檢視gcc版本
gcc --version

           
Centos使用devtoolset安裝gcc4.9.2

總結:

1. 如果要安裝低版本軟體,要考慮使用低版本的Ceotos系統。Centos7已經删除了gmp、mpc、mpfr等依賴庫,是以不支援自行安裝gcc4.9、gcc5.4等gcc版本。

2. 不建議在Centos系統,通過下載下傳并編譯源碼(例如gcc4.9.2.tar.gz,mysql5.7.*.tar.gz等等) 來安裝軟體。其一編譯時間很長,再者如果源碼編譯不過,提示缺失依賴庫等,會非常棘手。

3. Centos系統,建議通過更新repo源,使用 yum install 安裝所需要的軟體。(mysql,httpd, gcc等等)

繼續閱讀