gcc降版本方法 - [學習]


【轉載】轉載時請以超鏈接形式標明文章原始出處和作者信息及本聲明
http://www.blogbus.com/huangw10-logs/182474992.html

周末折騰了一下午加一夜,終於弄明白了!失敗的原因是網上着的帖子很多都是互相復制,其中因為每個人的設置路徑之類的不一樣,作者復制時沒有注意,因此記錄如下,關鍵位置盡量解釋清楚。

首先要明白先后次序,m4—>gmp—>mpfr—>mpc

1、准備工作(此部分是安裝三個庫的先決條件) :

先安裝m4,輸入 sudo aptitude install build-essential m4 ,此時有可能提示沒安裝aptitude,如果沒有,根據提示,輸入 sudo apt-get install aptitude 就OK

2、安裝gmp、mpfr和mpc,都可以在 ftp://gcc.gnu.org/pub/gcc/infrastructure/ 中下載,我這里分別下載gmp4.3.2,mpfr2.4.2和mpc0.8.1, 之后切換到root用戶(sudo -i) ,此為以下步驟的前提!

在 /usr/local/下分別建立三個文件夾

    cd /usr/local/

    mkdir gmp432

    mkdir mpfr242

    mkdir mpc081

(1)安裝gmp,可以提前 把下載的三個庫的壓縮包分別放到相應的文件夾下

    cd gmp432                        *這個文件夾可理解為是將gmp安裝在這里 

    bunzip2 gmp-4.3.2.tar.bz2

    tar xf gmp-4.3.2.tar           *生成gmp-4.3.2文件夾(這個文件夾可理解為是安裝文件所在的目錄) 

    cd gmp-4.3.2

    ./configure --prefix=/usr/local/gmp432

*--prefix選項代表要將該庫安裝在哪里,我裝在/usr/local/gmp432目錄下,后面的安裝都會用到這個選項。

    make                       *如果出錯,重新configure的話,先make distclean清除make信息后再重新configure 

    make check              * 在編譯的時候,最后沒提示什么錯誤再往下進行, 建議每一次make之后都運行這個命令

    make install              *裝好后/usr/local/gmp432/目錄下有三個文件夾

    make clean 

(2)安裝mpfr,

    cd mpfr242 

    cd mpfr-2.4.2

    ./configure --prefix=/usr/local/mpfr242 --with-gmp=/usr/local/gmp432

*注意這個地方的路徑匹配,gmp安裝在哪這個地方就要寫哪,因為是依存關系!建議統一安裝在gmp432、

  mpfr242、mpc081這三個地方

    make 

    make check

    make install

(3)安裝mpc,

    cd mpc081 

    cd mpc-0.8.1

    ./configure --prefix=/usr/local/mpc081 --with-gmp=/usr/local/gmp432 --with-mpfr=/usr/local/mpfr242

*同上,注意路徑!!!

    make 

    make check

    make install

3、安裝gcc-4.4.5

在/usr/local/下新建gcc445文件夾,之后在http://gcc.gnu.org/index.html 上下載gcc壓縮包,放在/usr/local/gcc445下,解壓縮后

    cd gcc-4.4.5

    ./configure --prefix=/usr/local/gcc445 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++ --with-gmp=/usr/local/gmp432 --with-mpfr=/usr/local/mpfr242 --with-mpc=/usr/local/mpc081

*其他帖子是建立個臨時文件夾,上面的語句開頭有些細微差別,這個是我自己悟出來的,也可以參考

  http://www.comdyn.cn/from-web/68-server-setup/164-centos-48-gcc450.html 按照他的方法,但是要

  注意路徑。

為保險起見,需要在環境變量LD_LIBRARY_PATH添加前面三個庫的位置,鍵入以下命令:

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc081/lib:/usr/local/gmp432/lib:/usr/local/mpfr242/lib                                     *注意路徑!

    make                                                   *注意檢查有沒有錯誤,過程很慢,1-2個小時! 

    make check                                          *如果make沒有問題,這一步可以省略,因為時間很久

    make install

保留舊版的gcc,建立符號鏈接

    cd /usr/bin

    ln -s /usr/local/gcc445/bin/gcc gcc44

    ln -s /usr/local/gcc445/bin/g++ g44++

最后,在/etc/bashrc中(有帖子說是在/etc/profile中,這個我不確定)增加下面兩行代碼:

    LD_LIBRARY_PATH=:/usr/local/mpc081/lib:/usr/local/gmp432/lib:/usr/local/mpfr242/lib:/usr/local/gcc445/lib

    export LD_LIBRARY_PATH

保存重啟系統后,就可以使用新裝的gcc了,enjoy!

最后看到一個帖子提到以上命令可以寫個shell文件,installgcc.sh,批處理執行,great idea!記下網址,有空可以試試:http://bitterliquor.blog.hexun.com/65259015_d.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM