gcc 安裝詳解

                對於剛接觸linux的人來說安裝gcc真不是那麼簡單的事,尤其是對configure命令不熟悉的那更是一個慘,

      以前也有安裝順利的時候,只要 configure、 make、 make install 一切順利,不順利的時候,報錯:少這個少那個

      真是頭疼的厲害。下面是我在redhat5.5 下碰到的一些問題。在這給那些安裝gcc遇到麻煩的同學一點啓發。

     安裝環境  gcc-4.7.0.tar.bz2 、redhat5.5 。

1、在http://gcc.gnu.org網上下載gcc壓縮包。

2、解壓gcc壓縮包:

           1)我把壓縮包放到  /usr/local/src  文件下 

           2)解壓  bzcat gcc-4.7.0.tar.bz2 | tar xvf - (如下載的是別的類型的壓縮包,那就更換壓縮命令解壓就ok這個都懂的)

           3)在src下多了個gcc-4.7.0文件夾(這是源文件)

           4)創建安裝路徑  mkdir  /usr/local/gcc (這是個臨時目錄,用於臨時存放編譯文件的目錄 )

           5)創建安裝路徑  mkdir  /usr/local/gcc-4.7.0 (這個是目標目錄,將會把gcc 安裝到該目錄中)

           6)切換到 安裝目錄下 cd  /usr/local/gcc

           7)  configure  進行軟件與系統配置(這個是關鍵,問題基本都出在這裏面,如實在解決不了請 認真查閱configure命令)

                 ../gcc-4.7.0/configure --prefix=/usr/local/gcc  --enable-threads=posix --disable-checking --enable--long-long
                 --host=i386-redhat-linux--with-system-zlib --enable-languages=c,c++,java

               》warning:If you wanted to set the --build type, don't use --host

                         出現該警告 乾脆直接不要 --host=i386-redhat-linux 設置了 讓其默認   

               》error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+

                這說明你電腦少環境  gmp 、mpfr 、mpc  如沒出現該錯誤 恭喜你可以跳過該問題

                 在這介紹   gmp 、mpfr 、mpc  的安裝

                gmp 下載地址  ftp://ftp.gnu.org/gnu/gmp/gmp-5.0.1.tar.bz2下載gmp-5.0.1.tar.bz2

                mpc 下載地址   http://www.multiprecision.org/mpc

                mpfr 下載地址  http://ftp.gnu.org/gnu/mpfr/

                安裝順序  先安裝 gmp 在安裝mpfr 再安裝mpc     這三個文件版本是有關聯 的 例如 mpc 0.9 與1.0.1 版本都要求mpfr 版本在2.4.2

                以上,在安裝的時候注意點,萬一版本不符合,根據提示下載相應的版本。

                 解壓 gmp:  tar jxvf   gmp-5.0.1.tar.bz2   得到gmp-5.0.1 文件 ,在該文件的同級目錄下創建一個臨時的編譯文件temp

                 # cd temp 文件中中或者直接打開該文件夾 在該文件夾中打開終端  執行下面命令行

            #../gmp-5.0.1/configure --prefix=/usr/local/gmp-5.0.1

                 #make

                 # sudo make install

                 這是gmp安裝完成 ----------------------------------------------------------------------------------------------------------------------------

                  在gmp-5.0.1 文件夾同級目錄下 解壓 mpfr:  tar jxvf   mpfr-2.4.2.tar.bz2 得到mpfr-2.4.0文件夾,再次切進到temp目錄 執行
                   #../mpfr-2.4.2/configure --prefix=/usr/local/mpfr-2.4.2 --with-gmp=/usr/local/gmp-5.0.1

                   # make

                   # sudo make install

                  這mpfr 安裝完成--------------------------------------------------------------------------------------------------------------------------------

                  在gmp-5.0.1 文件夾同級目錄下 解壓 mpc: tar zxvf  mpc-0.9.tar.gz 得到mpfr-2.4.0文件夾,再次切進到temp目錄 執行
                  #../mpc-0.9/configure --prefix=/usr/local/mpc-0.9 --with-gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-2.4.2

                  # make

                  # sudo make install

                 這mpc安裝完成-------------------------------------------------------------------------------------------------------------------------------- 

                 導入環境變量 # export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-2.4.2/lib

               8)在先前第4部創建的文件夾中打開終端 #../src/gcc-4.7.0/configure --prefix=/usr/local/gcc-4.7.0 --enable-threads=posix --disable-checking --disable-multilib
                  --enable-languages=c,c++ --with- gmp=/usr/local/gmp-5.0.1 --with-mpfr=/usr/local/mpfr-2.4.2 --with-mpc=/usr/local/mpc-0.9

               9)#make   這裏時間有點長 慢慢等(苦命啊 希望別在報錯了 如報錯 是以下錯誤 那你幸運了 )

                    》error:

              “checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile

               See `config.log' for more details.

              make[2]: *** [configure-stage1-target-libgcc] Error 1

              make[2]: Leaving directory `/tmp/gcc

              make[1]: *** [stage1-bubble] Error 2

              make[1]: Leaving directory `/tmp/gcc

              make: *** [bootstrap] Error 2

                    具體報錯原因我也不說了 直接看怎麼解決

                    在導入 一次 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.9/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-2.4.2/lib

                    》》 Configure:current value: -g  -O2 ”形式,

                          就是先前的值和現在的不一樣。這是由於緩存的問題需要把緩存文件產出重新編譯

              10)#make install    ok 完成安裝

              11)配置         

               GCC 4.7.0的所有文件,包括命令文件(如gcc、g++)、庫文件等都在${destdir}目錄下分別存放,如命令文件放在bin目錄下、庫文件在 lib下、頭文件在include下等。由
             於命令文件和庫文件所在的目錄還沒有包含在相應的搜索路徑內,所以必須要作適當的設置之後編譯器才能順利地找到並使用它們。

                把安裝目錄的bin放在環境變量PATH中。網上有種 用符號連接的方式實現,這樣做的好處是我仍然可以使用系統上原來的舊版本的GCC編譯器。

               首先,查看原來的gcc所在的路徑:

             # which gcc

              在我的系統上,上述命令顯示:/usr/bin/gcc。因此,原來的gcc命令在/usr/bin目錄下。我們可以把GCC 4.7.0中的gcc、g++、gcj等命令在/usr/bin目錄下分別做一個符
             號連接:

            # cd /usr/bin

           # ln -s /usr/local/gcc-4.7.0/bin/gcc gcc470

           # ln -s /usr/local/gcc-4.7.0/bin/g++ g++470

           # ln -s /usr/local/gcc-4.7.0/bin/gcj gcj470

          這樣,就可以分別使用gcc470、g++470、gcj470來調用GCC 4.1.2的gcc、g++、gcj完成對C、C++、JAVA程序的編譯了。

           同時,仍然能夠使用舊版本的GCC編譯器中的gcc、g++等命令。

            將/usr/local/gcc-4.7.0}/lib路徑添加到環境變量LD_LIBRARY_PATH中,

           例如,如果GCC 4.7.0安裝在/usr/local/gcc-4.7.0目錄下,在RH Linux下可以直接在命令行上執行
          # export LD_LIBRARY_PATH=/usr/local/gcc-4.7.0/lib

           最好添加到系統的配置文件中,這樣就不必要每次都設置這個環境變量了,在文件$HOME/.bash_profile中添加下面兩句:

           LD_LIBRARY_PATH=/usr/local/gcc-4.1.2/lib:$LD_LIBRARY_PATH

          export LD_LIBRARY_PATH

          重啓系統設置生效,或者執行命令

         # source $HOME/.bash_profile

            

 

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