GCC最新版安裝及錯誤解決

linux下gcc安裝


1、準備工作


linux一般可以從軟件包等方式直接安裝gcc,但不一般不是最新版,比如需要支持C++11

等原因,則需要安裝最新版gcc。

先查看已有的gcc版本



如果系統還沒有任何gcc被安裝,則需要從開發包中先安裝默認的低版本的gcc

centos下也可以安裝帶gcc的開發工具:yum groupinstall "Development Tools"

若不先安裝舊版本的話安裝可能會出現如下錯誤:


//=======================================
configure: error: no acceptable C compiler found in $PATH
//=======================================



2、下載


gcc下載地址

ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc


gcc在下面的 releases 文件夾內,目前最新版爲 4.8.2



若直接安裝會出現如下錯誤:


//=============================出現錯誤=====================================
configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.
Try the --with-gmp, --with-mpfr and/or --with-mpc options to specify
their locations.
//==========================================================================

因爲缺少gcc依賴的gmp、mpfr、mpc三個軟件,所以需要下載安裝他們,他們在上面的
 infrastructure 文件夾內可以找到。同時gmp與mpfr及mpc之間還有相互依賴關係,所以
 要按下面順序安裝,並在 configure後面的選項後面帶上所依賴軟件的路徑


下載好所有文件及解壓後如下:



3、安裝及錯誤解決



//1、解壓gcc
$tar -jxvf gcc-4.8.2.tar.bz2
$cd gcc-4.8.2

//2、解壓安裝gmp
$tar -jxvf gmp-4.3.2.tar.bz2
$cd gmp-4.3.2
$./configure --prefix=/usr/local/gmp-4.3.2 //gmp安裝路徑
$make
$make check
$sudo make install

//3、解壓安裝mpfr
$tar -jxvf mpfr-2.4.2.tar.bz2
$cd mpfr-2.4.2
//congfigure後面是mpfr安裝路徑及依賴的gmp路徑
$configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2
$make
$make check
$sudo make install

//4、解壓安裝mpc
$tar -zxvf mpc-0.8.1.tar.gz
$cd mpc-0.8.1
//congfigure後面是mpc安裝路徑及依賴的gmp和mpfr路徑
$configure --prefix=/usr/local/mpc-0.8.1
--with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2
$make
$make check
$sudo make install


若沒有下面的配置,則會出現如下的mpc庫錯誤及其他庫錯誤等等,所以需要進行一系列配置

//================================出現錯誤======================================
gcc error while loading shared libraries: libmpc.so.2:
cannot open shared object file:No such file or directory
//===============================================================================

//5、配置庫路徑

#vi /etc/profile  //向/etc/profile文件末尾添加下面的語句(root權限下):

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-4.3.2/lib:
/usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/lib

#source /etc/profile //使其立即生效

#echo $LD_LIBRARY_PATH //查看配置是否成功

/usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/lib //顯示這個表示成功


#vi /etc/ld.so.conf //編輯這個文件,添加下面路徑

/usr/local/mpc-0.8.1/lib
/usr/local/gmp-4.3.2/lib
/usr/local/mpfr-2.4.2/lib

$sudo ldconfig



//6、安裝gcc
$./configure --prefix=/usr/local/gcc4.8.2 --enable-threads=posix --disable-checking --disable-multilib 
--enable-languages=c,c++ --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.8.1


$make
$sudo make install

//7、配置gcc
#vi /etc/profile  //向/etc/profile文件末尾添加下面的語句(root權限下):

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

#source /etc/profile //使其立即生效

#rm /usr/bin/gcc    //刪除舊的軟連接
#ln -s /usr/local/gcc4.8.2/bin/gcc /usr/bin/gcc  //使新版本建立軟連接

//下面的同理
#rm /usr/bin/g++
#ln -s /usr/local/gcc4.8.2/bin/g++ /usr/bin/g++



4、最後



查看是否安裝更新成功:





這樣最終就安裝更新成功了,安裝過程時間不短,破費功夫,若依賴文件及配置等處理的好的話會快些,過程中會出現很多錯誤, 一定要耐心解決。

一般命令的話在一般用戶下即可解決($),需要 root 權限的,可以用 su 切換到 root 下 (#),或者在一般用戶下,命令前加  sudo  ,

關於 sudo 可以查看:

http://blog.csdn.net/wtfmonking/article/details/15494295




5、其他問題


如果不小心誤刪了 /usr/bin/gcc ,可以先刪除舊版 gcc,在從軟件包重新安裝舊版,
最後再按上面的步驟安裝新版。centos下可以:


$sudo yum remove gcc-* -y
$sudo yum groupinstall "Development Tools"


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章