天天看點

centos install gcc

YUM 安裝 GCC

不錯的GCC編譯過程        CentOSX64-V6.4系統下GCC-4.8 源碼編譯記錄

VMWare_Centos安裝GCC,g++,gdb

                                             VMWare_Centos安裝GCC,g++,gdb

CentOS 是開源的類linux 是Redhat(商業版) 的開源版 ,RedHat是我接觸到的第一個linux ,後面接觸了很多linux 的開源版本,發現CentOs 非常好,也是現在企業用的很多的一個開源版本。

由于在虛拟機中是裝的 CentOS6.4桌面版,沒有裝gcc,g++,gdb,導緻裝一些軟體時安裝不了,現在方法記在此:

1.先在VMWare 中

 選擇第一個安裝DVD.iso , 注意上面兩個都要打勾,

然後在你的 虛拟機中就能看到CentOS6.4_Final

2. 起一個終端,進入到:

/media/CentOS_6.4_Final

裡面就有内容了,因為GCC,g++,gdb 都有很多的 依賴包 ,如果用rpm 來安裝的話,要安裝很多,

中間會有報錯, 是以就用 YUM 來安裝, 又YUM 要到網上去下載下傳包,如果虛拟機中不能上網,就用如下方式,給YUM 配一個 本地源

配置如下:

1、虛機挂在DVD.iso檔案,能夠在media目錄裡看到CentOS_6.4_Final目錄

2、編輯/etc/yum.repo.d下的CentOS-Media.repo檔案

cd /etc/yum.repos.d/   #進入yum配置目錄

vi  CentOS-Media.repo   #編輯配置檔案,添加以下内容

 [XXXXX]

 name=CentOS-$releasever - Media #自定義名稱

 baseurl=file:///media/CentOS_6.4_Final #本地CD光牒挂載路徑

 gpgcheck=0 #檢查GPG-KEY,0為不檢查,1為檢查

 enabled=1 #啟用yum源,0為不啟用,1為啟用

3、CentOS需要将/etc/yum.rpos.d/目錄下的CentOS-Base.repo和CentOS-Debuginfo.repo檔案進行改名,

這樣就可以繞過網絡進行本地源的安裝。具體指令如下:

cd /etc/yum.repos.d/

mv CentOS-Base.repo CentOS-Base.repo123

mv CentOS-Debuginfo.repo CentOS-Debuginfo.repo123

4、清除yum緩存,使用yum install自動安裝軟體     

      yum clean all #清除yum緩存       

      yum install php #安裝php

      yum install gcc

      yum install gcc-c++

      yum install gdb

5、安裝:yum install php  #php是安裝組建的名稱

6、如果不需要以CD光牒為源進行軟體安裝時,隻需要将/etc/yum.repos.d目錄下的

CentOS-Base.repo123和CentOS-Debuginfo.repo123檔案改回原來的名字就可以了。

衆所周知:CentOS雖然好用,但是它自己的yum源很小也比較滞後,安裝工具往往需要自己下載下傳源碼編譯。(貌似RedHat和Fedora的源中el版本一緻的rpm也可以用,但是沒有試過)

其他工具慢一點也就算了,最讓人不能認的就是它的gcc版本居然也這麼滞後,到現在(2012-12-21)最新的CentOS版本是6.3,官方源上最新的gcc版本是4.4.6!而現在gcc的最新穩定版本是4.7.2,開發版已經到了4.8!

了解c++的朋友都知道,這段版本更新的時間正是各種編譯器們想c++11标準飛速靠近的時期,也是越來越多的人來時使用c++11特性的時期,是以更新一個功能更完善的gcc實在不行。

好了,重要性談完了,下面開始談正事。

相關閱讀:

VMware虛拟機安裝CentOS 6.3 見 ​​ http://www.linuxidc.com/Linux/2012-12/76583.htm​​

樓主的環境是CentOS 6.3版,使用預設的gcc 4.4.6,編譯安裝gcc 4.7.2。

網上關于更新編譯gcc的教程中步驟很多也很繁瑣,慘痛的過程我就不說了,我隻說一點,其實事情可以很簡單。

首先是依賴的庫,官方文檔說需要gmp、mpc、mpfr,并且提供了下載下傳位址,很多教程都說了自己編譯安裝,以及這一過程中的一些問題,其實完全不必這麼麻煩。難道大家就沒有想過gcc作為一個發展多年且很成熟的項目,難道就沒有提供一些自動化的解決方案嗎?

步驟1:

yum install glibc-static libstdc++-static -y

安裝c和c++的靜态庫(據說如果系統中缺少libc.a和libstdc++.a編譯時會出錯,但是我沒有那麼多閑情逸緻去試,實踐過的朋友可以回複一下,分享一下經驗,讓大家都長長見識)

步驟2:

下載下傳解壓gcc,我的gcc目錄是gcc-4.7.2。

步驟3:

進入gcc目錄,執行:

./contrib/download_prerequisites

這個神奇的腳本檔案會幫我們下載下傳、配置、安裝那三個依賴的庫。可以節約我們大量的時間和精力。

步驟4:

你以為這三個庫自動下載下傳了、自動make install了就沒事了嗎?錯!

很多人在編譯gcc的時候出現各種奇奇怪怪的錯誤就是這步沒有做好。

它們還不在.so檔案的搜尋路徑裡面,需要加進去,最後切記切記一定要執行一下ldconfig。

大緻做法為:

1,找到你的共享庫檔案被install到哪個目錄了(updatedb+locate指令)。

2,如果你的庫不是直接放在/lib或/usr/lib下,需要修改/etc/ld.so.conf檔案,加入你的共享庫的路徑

3,如果在2中添加了共享庫路徑,切記要執行一下ldconfig,更新響應cache檔案讓系統能找到你的共享庫。

步驟5:

建立臨時目錄,這個目錄用以存放編譯時的大量臨時檔案,是文檔要求中必須的。

我是在gcc-4.7.2下建立了一個名為build的目錄,進入它。

mkdir build

cd build

步驟6:

配置gcc編譯選項

強烈建議閱讀INSTALL目錄下的說明文檔,尤其是configure.html,以确定你的編譯選項。

比較基本的選項有--enable-languages,說明你要讓你的gcc支援那些語言,--disable-multilib不生成編譯為其他平台可執行代碼的交叉編譯器。--disable-checking生成的編譯器在編譯過程中不做額外檢查,也可以使用--enable-checking=xxx來增加一些檢查。

網上還說了什麼--with-gmp、--with-mpfr、--with-mpc這三個選項,但是如果你3,4步做好了,就不要配了,反之你還是老實點吧别抱僥幸心理了。

調用gcc-4.7.2目錄下的configure檔案:

例如:

../configure --disable-checking --disable-multilib --enable-languages=c,c++

步驟7:

執行

../make #不解釋

#你就等吧少年,建議晚上睡覺前做

../make install #完事!

上一篇: js易混淆點

繼續閱讀