gcc降版本方法 - [學習]

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

html

週末折騰了一下午加一晚上,終於弄明白了!失敗的緣由是網上着的帖子不少都是互相複製,其中由於每一個人的設置路徑之類的不同,做者複製時沒有注意,所以記錄以下,關鍵位置儘可能解釋清楚。c++

首先要明白前後次序,m4—>gmp—>mpfr—>mpcweb

一、準備工做(此部分是安裝三個庫的先決條件) :shell

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

二、安裝gmp、mpfr和mpc,均可以在 ftp://gcc.gnu.org/pub/gcc/infrastructure/ 中下載,我這裏分別下載gmp4.3.2,mpfr2.4.2和mpc0.8.1, 以後切換到root用戶(sudo -i) ,此爲如下步驟的前提!bash

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

    cd /usr/local/ui

    mkdir gmp432idea

    mkdir mpfr242spa

    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安裝在哪這個地方就要寫哪,由於是依存關係!建議統一安裝在gmp43二、

  mpfr24二、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

三、安裝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

相關文章
相關標籤/搜索