linux源碼編譯的過程__linux

來源:互聯網
上載者:User
1、   Tar:解壓這個源碼軟體包。tar zxvf abc.gz
這步沒什麼好說的,把源碼包解壓開就好了,接下來第二步。 2、  cd :進入到這個源碼包。

現在ls一下mrtg這個目錄下多了一個藍色字型的httpd-2.2.11這個目錄,這個目錄就是我們剛解壓開的,然後cd進入到這個目錄下面。如果不進入到這個目錄下而是直接 ./configure 則會出現下圖的提示。 3、   ./configure : “configure” 會在你的系統上測試存在的特性 ( 或者 bug!) 然後 來建立 Makefile 檔案來完成 make 。 “configure”指令碼有大量的命令列選項,對不同的軟體包來說,這些選項可能會有變化,但是許多基本的選項是不會改變的。而我們用的最多的也就是下面這條命令: ./configure --prefix=/ 軟體要安裝的路徑 但是我們也可以直接./configure而不指定路徑,通常通過從源碼包編譯安裝的軟體預設路徑都是/usr/local/,如果./configure不成功而直接去make的話,就會出現下圖的錯誤: 當我們解決完 ./configure 的錯誤,然後重新./configure成功後,我們就可以編譯器了。 再說幾個能關係到能否編譯成功的檔案:/etc/ld.so.conf、ldconfig 首先說一下/etc/ld.so.conf,這個檔案中記錄的編譯時間使用的動態連結程式庫的路徑,預設情況下編譯器只會使用/lib和/usr/lib這兩個目錄下的庫檔案,如果你安裝了其他的庫,那麼安裝完成後就在/etc/ld.so.conf把這個庫檔案中的絕對路徑寫進去就OK了。 再來看看ldconfig是個什麼東西吧: 他是一個程式,它的作用就是將/etc/ld.so.conf中的路徑緩衝到/etc/ld.so.cache中,因此在安裝完一些庫檔案或者修改ld.so.conf增加新的路徑後需要運行一下/sbin/ldconfig使所有的庫檔案都緩衝都ld.so.cache中,如果沒有運行/sbin/ldconfig,即使庫檔案就在/etc/ld.so.conf中,也是不會被使用的,結果在編譯的過程中同樣報錯缺少XXX庫。 4 、 Make :編譯器。 在編譯的時候, gcc 個版本之間存在著差異,所以有時候用不同版本的 gcc 去編譯,有的版本能編譯成功,有的就編譯失敗,這樣的錯誤只是版本問題。 另外在 make 的時候會出現的另一個錯就是比較難辦的,遇到這樣的問題就只能憑經驗尋找原因,比如說某個標頭檔沒有找到,這個時候就要順著出錯的位置一行一行的往上找,比如顯示 XXXXXX.h………no such file or directory ,說明缺少標頭檔,或者找到你覺得有價值的錯誤資訊去搜尋引擎裡搜尋,從這裡可能會找到對你有用的資訊,最重要的就是在安裝之前仔細的去看 README 、 INSTALL 檔案,這兩個檔案裡會告訴你程式應該怎樣去安裝,需要什麼依賴檔案等等。 有的時候在編譯時間不知道是否編譯成功,而在沒有編譯成功就去 make  install 肯定會出錯,這樣就增加了問題的複雜性,俗話說的好“道高一尺魔高一丈”,這樣我們可以在 make 結束的時候通過一條命令來檢查是否成功編譯: echo   $? 輸入這條命令斷行符號後,輸出的結果是 0 ,那麼就說明成功編譯,否則就是出錯了, echo   $? 表示檢查上一條命令的退出狀態,程式正常退出返回 0 。 5、   Make install :安裝檔案。 它也從 Makefile 中讀取指令,然後安裝到指定的位置。 看到上圖輸出 0 之後我們就可以 make  install 來安裝了,運行完之後輸入 echo   $? 檢查看看是否有錯誤,只要輸出結果為 0 ,那就說明我們的安裝成功 其實 ./configure 、 make 、 make  install 這三個命令,我們可以用 && 來把命令串連起來執行,表示當前一條命令正常結束後,後面的命令才會執行,這個辦法很好,既節省時間,又可以防止發生錯誤。例: ./configure   &&   make   &&   make   install
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.