linux下gcc安裝

 

 

1、準備工作

 

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

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

先查看已有的gcc版本


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

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

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

 

 

[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. //=======================================  
  2. configure: error: no acceptable C compiler found in $PATH  
  3. //=======================================  


 

 

 

2、下載


gcc下載地址
 

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

 

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

 

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

 

 

[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片

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

 

 

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

 

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

 

3、安裝及錯誤解決

 

 

 

[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. //1、解壓gcc  
  2. $tar -jxvf gcc-4.8.2.tar.bz2  
  3. $cd gcc-4.8.2  
  4.   
  5. //2、解壓安裝gmp  
  6. $tar -jxvf gmp-4.3.2.tar.bz2  
  7. $cd gmp-4.3.2  
  8. $./configure --prefix=/usr/local/gmp-4.3.2 //gmp安裝路徑  
  9. $make  
  10. $make check  
  11. $sudo make install  
  12.   
  13. //3、解壓安裝mpfr  
  14. $tar -jxvf mpfr-2.4.2.tar.bz2  
  15. $cd mpfr-2.4.2  
  16. //congfigure後面是mpfr安裝路徑及依賴的gmp路徑  
  17. $configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-4.3.2  
  18. $make  
  19. $make check  
  20. $sudo make install  
  21.   
  22. //4、解壓安裝mpc  
  23. $tar -zxvf mpc-0.8.1.tar.gz  
  24. $cd mpc-0.8.1  
  25. //congfigure後面是mpc安裝路徑及依賴的gmp和mpfr路徑  
  26. $configure --prefix=/usr/local/mpc-0.8.1  
  27. --with-gmp=/usr/local/gmp-4.3.2 --with-mpfr=/usr/local/mpfr-2.4.2  
  28. $make  
  29. $make check  
  30. $sudo make install  
  31.   
  32.   
  33. 若沒有下面的配置,則會出現如下的mpc庫錯誤及其他庫錯誤等等,所以需要進行一系列配置  
  34.   
  35. //================================出現錯誤======================================  
  36. gcc error while loading shared libraries: libmpc.so.2:  
  37. cannot open shared object file:No such file or directory  
  38. //===============================================================================  
  39.   
  40. //5、配置庫路徑  
  41.   
  42. #vi /etc/profile  //向/etc/profile文件末尾添加下面的語句(root權限下):  
  43.   
  44. export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/gmp-4.3.2/lib:  
  45. /usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/lib  
  46.   
  47. #source /etc/profile //使其立即生效  
  48.   
  49. #echo $LD_LIBRARY_PATH //查看配置是否成功  
  50.   
  51. /usr/local/gmp-4.3.2/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/mpc-0.8.1/lib //顯示這個表示成功  
  52.   
  53.   
  54. #vi /etc/ld.so.conf //編輯這個文件,添加下面路徑  
  55.   
  56. /usr/local/mpc-0.8.1/lib  
  57. /usr/local/gmp-4.3.2/lib  
  58. /usr/local/mpfr-2.4.2/lib  
  59.   
  60. $sudo ldconfig  
  61.   
  62.   
  63.   
  64. //6、安裝gcc  
  65. $./configure --prefix=/usr/local/gcc4.8.2 --enable-threads=posix --disable-checking --disable-multilib   
  66. --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  
  67.   
  68.   
  69. $make  
  70. $sudo make install  
  71.   
  72. //7、配置gcc  
  73. #vi /etc/profile  //向/etc/profile文件末尾添加下面的語句(root權限下):  
  74.   
  75. export PATH=$PATH:/usr/local/gcc4.8.2  
  76.   
  77. #source /etc/profile //使其立即生效  
  78.   
  79. #rm /usr/bin/gcc    //刪除舊的軟連接  
  80. #ln -s /usr/local/gcc4.8.2/bin/gcc /usr/bin/gcc  //使新版本建立軟連接  
  81.   
  82. //下面的同理  
  83. #rm /usr/bin/g++  
  84. #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下可以:

 

[cpp] view plaincopy在CODE上查看代碼片派生到我的代碼片

  1. $sudo yum remove gcc-* -y  
  2. $sudo yum groupinstall "Development Tools"  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章