• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            面對現實,超越自己
            逆水行舟,不進則退
            posts - 269,comments - 32,trackbacks - 0
            為了在Ubuntu下安裝那令人悲催的GCC,小弟可是絞盡腦汁,連干三天。。。當我搞清楚那些破軟件m4,gmp mpfr,mpc等之間的依賴關系,依照強大的度娘提示下,安裝了一遍又一邊一邊又一邊·····它就是不成!shit!就當俺不得不做出拋棄GCC的念頭之時,又是度娘! <!--[if !vml]--><!--[endif]--> 原來Ubuntu11.04自帶GCC的?。?! 在此建議各位大蝦,在安裝GCC之前,先check一下你的Linux中是否自帶了GCC <!--[if !vml]-->

            <!--[endif]-->

            下面是小弟,在這悲催的三天所學到如何在Ubuntu下安裝GCC的過程:

            安裝過程

            第一步,從網站http://gcc.gnu.org 上下載文件gcc-4.6.0.tar.bz2

            第二步,將該文件拖至tmp目錄下。然后解壓縮,在命令行tar vxjf gcc-4.1.1.tar.bz2,

            解壓后你可以看到在tmp目錄下有gcc-4.6.0文件

            第三步,對源文件進行配置,用命令

            mkdir gcc-build

            cd   gcc-build

            ../gcc-4.6.0/configure --prefix=/usr/local/gcc-4.6.0 --enable-threads=posix --disable-checking --disable-multilib --enable-languages=c,c++

             編譯錯誤提醒:

            <!--[if !vml]--><!--[endif]-->

            提醒信息:configure: error: Building GCC requires GMP 4.2+, MPFR 2.3.1+ and MPC 0.8.0+.

            說明要安裝gcc需要GMP、MPFR、MPC這三個庫,于是又從網上下了三個庫的壓縮包。由于MPFR依賴GMP,而MPC依賴GMPMPFR,所以要先安裝GMP,其次MPFR,最后才是MPC。這里三個庫我用的版本分別是gmp5.0.1,mpfr2.4.2mpc0.8.1。

              先開始安裝GMP。解壓GMP的壓縮包后,得到源代碼目錄gmp-5.0.1。在該目錄的同級目錄下建立一個臨時的編譯目錄,這里命名為gmp-build。然后開始配置安裝選項,進入gmp-build目錄,輸入以下命令進行配置:

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

            這里--prefix選項代表要將該庫安裝在哪里,我是裝在/usr/local/gmp-5.0.1目錄下,后面的安裝都會用到這個選項。不過這里又出現問題了,系統提示缺少m4: gmp configure: error: No usable m4 in $PATH or /usr/5bin。m4是一個宏處理器。

             在網上查了一下這個問題的解決辦法,輸入以下命令進行安裝:

            sudo aptitude install build-essential m4

            或在系統自帶的軟件中心尋m4

            <!--[if !vml]--><!--[endif]-->

            再經歷這一切之后在度娘的幫助下,終于明白其實正確的安裝過程如下:

            linux下軟件的“安裝”一般是需要3個步驟:

            configuremakemake install這三個命令編譯,而安裝的任何一個命令有疑問或者想查看命令相關的參數,都可以在命令后加” --help”參數來查看安裝命令需要的參數。

            其次需要說明的是,由于可能存在任何可能的情況,configure,makemake install這三個命令都有可能報錯,如果出錯,終端會給出錯誤的信息,也就是error的提示,你需要針對錯誤的類型去解決安裝中存在的問題,有問題的話可以在baidu或者google上搜搜出錯信息看看,應該有你要的答案,但是建議在google上搜。Linux是開源的,全世界的客戶多不勝數。遇到和你同樣的問題的人一定存在。所以,有什么error有什么問題,盡管找度娘,股溝。上面的資料十分的多。也可以到相關的Ubuntu論壇上去找,例如:http://forum.ubuntu.org.cn/index.php?sid=c9ccb2d7adcf8fdb78ac99d75581a332 好了,繼續話題。。。。。

            1,安裝GCC需要四個相關的軟件:

            m4(an implementation of the traditional Unix macro processor)、

            gmp(GNU Multiple Precision Arithmetic Library)、

            mpfr(multiple-precision floating-point computations with correct rounding)

                mpc(C library for the arithmetic of complex numbers with arbitrarily high precision and correct rounding

            下載3個軟件包及安裝參考http://www.comdyn.cn/from-web/68-server-setup/164-centos-48-gcc450.html

                他們的依賴關系如右圖-----------

            按照從內圈到外圈的順序安裝(gmp的安裝需要m4,而mpfr依賴gmp,而mpc依賴gmpmpfr,所以要先安裝m4,其次裝gmp,再其次mpfr,最后是mpc)

             

            我安裝的后三個庫的版本分別是 <!--[if !vml]--><!--[endif]-->

            <!--[if !supportLists]-->(I)           <!--[endif]-->m4的安裝,首先需要說明的是,如果不安裝m4,在安裝gmp的時候系統會提示“m4: gmp configure: error: No usable m4 in $PATH or /usr/5bin”的錯誤。因此首先需要安裝m4,命令如下

               tar –zxvf m4.tar.gz      先解壓縮,然后進入到m4目錄       

                ./configure CC=”cc”

                make

                make install

                由于沒有指定安裝目錄,因此安裝好后,可以查看默認的/usr/local/bin目錄下,有一個m4的可執行文件,網上資料說這是一個宏處理器。

            <!--[if !supportLists]-->(II)      <!--[endif]-->gmp的安裝,后面的安裝都是裝到了指定目錄下,所以我都是用root超級用戶操作的,用su命令切換到超級用戶。由于我是將gmp,mpfrmpc分別安裝到了/usr/local/gmp432,/usr/local/mpfr242/usr/local/mpc082目錄下,因此需要先進入/usr/local/目錄下,以超級用戶運行

                mkdir gmp432 mkdir是創建目錄命令,即先創建安裝目錄,你也可以在任意目錄下建

                mkdir mpfr242 

                mkdir mpc081

            完成以后,進入到gmp-4.3.2.tar.gz所在的目錄下,開始安裝gmp,

                tar –vxzf gmp-4.3.2.tar.bz2    再壓縮,然后進入到gmp-4.3.2目錄

                cd  gmp-4.3.2   (不知道怎么安裝的可以看一下解壓縮后該目錄下的INSTALL文件)

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

                make

                make check

                make install

                安裝好后,可以查看/usr/local/gmp432目錄下有三個文件夾

            <!--[if !supportLists]-->(III)    <!--[endif]-->mpfr的安裝,

                tar –vxzf mpfr-2.4.2.tar.bz2    先解壓縮,然后進入到mpfr-2.4.2目錄

                cd mpfr-2.4.2

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

                make

                make check

                make install

            mpc的安裝,(仍然在超級用戶下操作),同樣,不知道怎么安裝的可以看一下解壓縮后的INSTALL文件,

                tar –zxvf mpc-0.8.1.tar.gz    先解壓縮,然后進入到mpc-0.8.2目錄

                cd mpc-0.8.1

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

                make

                make check

            make install

             

            安裝好這三個庫之后,就可以正式開始安裝gcc了。

            與此前一樣,在gcc解壓后的文件夾的同級目錄下,建一個編譯gcc的臨時目錄:gcc-build。

             mkdir gcc-build

            cd   gcc-build

            <!--[if !vml]--><!--[endif]-->

            進入該目錄后配置安裝選項:

            ../gcc-4.6.0/configure --prefix=/usr/local/gcc-4.6.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.8.1

               gcc的配置選項有很多,具體可以參考gcc源文件目錄下的安裝說明。這里只安裝了cc++的編譯器。然后開始make編譯。本來以為就可以大功告成了,結果在編譯途中又出現了錯誤:error while loading shared libraries: libmpc.so.2: cannot open shared object file: No such file or directory

              在網上找到了解決方法,需要添加環境變量LD_LIBRARY_PATH以指出前面三個庫的位置,鍵入以下命令:

              export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-2.4.2/lib 

            然后運行

            make   

            然后就耐心等待。。。。。。。。。

             在經過漫長的2小時等待后,終于編譯完成。在安裝說明里面還有測試這一步,不過那是可選的,我也沒耐心去測試了。直接make install安裝,至此gcc就全部安裝完成了。不過目前還不能使用新版本的gcc,因為新版的可執行文件還沒加到命令的搜索路徑中。在這里我為新版的gccg++命令分別建立了一個軟鏈接。進入/usr/bin目錄后,鍵入如下命令建立軟鏈接。

              sudo ln -s /usr/local/gcc-4.5.0/bin/gcc gcc45
              sudo ln -s /usr/local/gcc-4.5.0/bin/g++ g++45

              這樣我使用新版本gcc的時候就可以用gcc45g++45命令,同時也可使用原來的gcc編譯程序。當然這里也可以直接將/usr/bin目錄下gcc,g++命令重新鏈接到新版本的gcc可執行文件。在正式使用之前還有最后一個工作要做,就是將前面安裝的三個庫的路徑加進環境變量LD_LIBRARY_PATH中,不然在編譯程序的時候會出錯。由于我不想每次編譯程序都生成環境變量,所以需要編輯/etc目錄下的bash.bashrc文件配置shell環境。在這個文件中添加以下語句:

              LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-4.5.0/lib
              export LD_LIBRARY_PATH

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

             

            需要說明的是,gcc的配置選項有很多,具體可以參考gcc源文件目錄下的安裝說明。這里只安裝了cc++的編譯器。然后開始make編譯。

            在正式使用之前還有最后一個工作要做,就是將前面安裝的三個庫的路徑加進環境變量LD_LIBRARY_PATH中,不然在編譯程序的時候會出錯。由于我不想每次編譯程序都生成環境變量,所以需要編輯/etc目錄下的bash.bashrc文件配置shell環境。在這個文件中添加以下語句:

            LD_LIBRARY_PATH=:/usr/local/mpc-0.8.1/lib:/usr/local/gmp-5.0.1/lib:/usr/local/mpfr-2.4.2/lib:/usr/local/gcc-4.5.0/lib

            export LD_LIBRARY_PATH

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

            需要說明的是,如果make出錯,需要重新configure的話,先運行一下make distclean來清除make的信息,再重新configure

            解壓縮*.tar.gz的命令是tar –zxvf *.tar.gz

            解壓縮*.tar.bz2的命令是tar -jxvf *.tar.bz2

            安裝完成好以后可以用 which gcc查看是否安裝好,命令運行后終端顯示出安裝gcc的路徑。

            <!--[if !vml]--><!--[endif]-->


             打完,收工·······
            本文轉自:http://ohyeahbbs.blog.51cto.com/1775490/568462

            posted on 2012-07-28 22:56 王海光 閱讀(1665) 評論(1)  編輯 收藏 引用 所屬分類: Linux

            FeedBack:
            # re: Linux下安裝GCC
            2012-07-28 23:09 | aa
            oh my god . what r u doing  回復  更多評論
              
            亚洲国产成人久久精品动漫| 精品久久久无码人妻中文字幕| 久久亚洲私人国产精品vA| 日韩久久久久久中文人妻| 久久精品国内一区二区三区| 久久国产视频99电影| 亚洲AV无码1区2区久久| 亚洲国产精品婷婷久久| 精品国产99久久久久久麻豆| 天天综合久久久网| 一本久久a久久精品vr综合| 国产成人久久777777| 色诱久久久久综合网ywww| 狠狠色婷婷综合天天久久丁香 | 国产A级毛片久久久精品毛片| 久久精品欧美日韩精品| 要久久爱在线免费观看| 久久精品国产一区| 蜜臀久久99精品久久久久久小说 | 狠狠色丁香久久婷婷综合_中| 国内精品伊人久久久久AV影院| 日日狠狠久久偷偷色综合0| 久久久91精品国产一区二区三区 | 蜜臀久久99精品久久久久久小说| 欧美日韩中文字幕久久久不卡| 狠狠久久亚洲欧美专区| 亚洲AV日韩AV天堂久久| 国内精品久久国产| 久久综合久久美利坚合众国| 精品久久综合1区2区3区激情| 国产精品久久久久久影院| 伊人久久大香线蕉av不变影院| 一本久道久久综合狠狠躁AV | 18岁日韩内射颜射午夜久久成人| 久久精品国产精品亚洲人人| 精品无码久久久久久久动漫| 国产成人99久久亚洲综合精品| 国产福利电影一区二区三区,免费久久久久久久精 | 久久综合九色综合97_久久久| 精品国产乱码久久久久久郑州公司 | 办公室久久精品|