在CentOS 6.3上安裝Gcc 4.7.0
步驟一:
yum install glibc-staticlibstdc++ -static -y 安裝C,C++靜態庫;
步驟二:
下載解壓gcc,我的gcc目錄是gcc-4.7.0;
步驟三:
進入gcc-4.7.0目錄,執行 ./contrib/download_prerequisites,這個神奇的腳本文件會幫我們下載、配置、安裝那三個依賴的庫。
*注:
“你以為這三個庫自動下載了、自動makeinstall了就沒事了嗎?錯!它們還不在.so文件的搜索路徑裡面,需要加進去,最後切記切記一定要執行一下ldconfig。大致做法是:1,找到你的共享庫文件被install到哪個目錄了(updatedb+locate命令)。2,如果你的庫不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf文件,加入你的共享庫的路徑。3,如果在2中添加了共享庫路徑,切記要執行一下ldconfig,更新響應cache文件讓系統能找到你的共享庫。詳細可參考:http://www.linuxidc.com/Linux/2012-12/76633.htm。”
這段話是別人安裝gcc時的心得,但我還不得要領,因為我那三個庫已經在.so文件的搜索路徑裡面了,即庫已經在/lib或者/usr/lib下了,可接下來的安裝還是有問題(requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0)。於是,我先裝這三個東西。
步驟四:
先開始安裝GMP。解壓GMP的壓縮包後,得到源代碼目錄gmp-5.0.1。在該目錄的同級目錄下建立一個臨時的編譯目錄,這裡命名為gmp-build。然後開始配置安裝選項,進入gmp-build目錄,輸入以下命令進行配置:
../configure --prefix=/user/local/gmp-5.0.1
make
sudo make install
mpfr和mpc的安裝方法與gmp類似。不過要注意配置的時候要把gmp與mpfr的依賴關系選項加進去,具體配置命令如下:
../configure --prefix=/user/local/mpfr-3.1.1 --with-gmp=/user/local/gmp-5.0.1
../configure --prefix=/user/local/mpc-0.9 --with-gmp=/user/local/gmp-5.0.1 --with-mpfr=/user/local/mpfr-3.1.1
安裝好這三個庫之後,就可以正式開始安裝gcc了。
步驟五:
鏈接的時候,需要剛剛編譯的3個lib。
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/user/local/mpc-0.9/lib:/user/local/gmp-5.0.1/lib:/user/local/mpfr-3.1.1/lib
注*
LIBRARY_PATH環境變量:指定程序靜態鏈接庫文件搜索路徑
LD_LIBRARY_PATH環境變量:指定程序動態鏈接庫文件搜索路徑
步驟六:
在gcc-4.7.0下建立一個gcc-build的目錄並進入該目錄,執行:
../configure --prefix=/user/local/gcc-4.7.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++
--with-gmp=/user/local/gmp-5.0.1 --with-mpfr=/user/local/mpfr-3.1.1 --with-mpc=/user/local/mpc-0.9
make
make check(可選)
sudo make install
漫長的等待。。。
安裝成功!