編譯原始碼安裝軟體大體步驟

來源:互聯網
上載者:User

標籤:原始碼   編譯   軟體安裝   



使用包管理方式安裝軟體與編譯原始碼的區別,包管理方式提供的(以rpm為例)軟體大多隻保留了一部分常用功能,如果我們需要使用軟體其它功能而rpm包沒有,這咱情況下就需要編譯原始碼了。編譯原始碼的方式安裝的軟體,可以自由選擇安裝那些功能,而rpm是固定好的。原始碼安裝選擇功能的靈活性好,rpm包安裝則比較簡便。而且大多數情況下,軟體以原始碼方式發行比rpm包要快。

原始碼的擷取方式,


編譯原始碼安裝軟體依賴開發環境,編譯c程式需要gcc編譯器,編譯c++需要gcc-c++編譯器,如果沒有,需要安裝。使用yum或rpm安裝。


make 工具,為了維護原始碼方便,一個代碼稍多的軟體可能分為多個檔案,而編譯時間他們之間有相互依賴的關係,編譯時間必須有先後順序。程式開發人員會用專案管理工具(make),用這個工具為make提供一個設定檔,這個設定檔中描述了make如何調用gcc和這些檔案的先後編譯順序。


configure 指令檔,此文指令碼件用會檢查編譯環境,人為設定需要啟動軟體那些功能,安裝在那個目錄等。 


configure 支援的選項,每個軟體略有不同。常用的有

    --help 擷取協助

    --prefix=/PATH 指定軟體安裝路徑。

    --sysconfdir=/PATH 指定安裝軟體的設定檔所在目錄

    --enable-特性名稱  啟用某個特性或選項,啟用某個特性可能依賴額外開發環境。

    --disable-特性名稱  禁用某個特性

    --with-FUNCTION 或 --with=/lib/filename 指定依賴的功能或特定路徑下的檔案。

    --without-FUNCTION

編譯安裝原始碼的順序,

   解壓下載的軟體包-->cd到解壓後的目錄-->./configure設定編譯選項-->make(編譯器)-->make install(把編輯好的程式放到指定目錄)


樣本:編譯安裝nginx軟體過程

# ./configure --prefix=/usr/nginx --conf-path=/etc/nginx/nginx.conf  

報錯

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/3F/76/wKioL1PJOsCB-wNAAAEqZ-tihVk404.jpg" style="float:none;" title="1.png" alt="wKioL1PJOsCB-wNAAAEqZ-tihVk404.jpg" />

./configure --prefix=/usr/nginx --conf-path=/etc/nginx/nginx.conf --without-http_rewrite_module

確認沒有報錯

#make

確認沒有報錯

#make install

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/3F/76/wKiom1PJOaXBMeUAAARkC_27Y5o167.jpg" style="float:none;" title="2.png" alt="wKiom1PJOaXBMeUAAARkC_27Y5o167.jpg" />


查看設定檔的目錄

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/3F/76/wKioL1PJOsCDvBkLAAD1yaUm6JI966.jpg" style="float:none;" title="3.png" alt="wKioL1PJOsCDvBkLAAD1yaUm6JI966.jpg" />

查看nginx安裝目錄

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/3F/76/wKiom1PJOaXxMjMPAABMuHbXna0340.jpg" style="float:none;" title="4.png" alt="wKiom1PJOaXxMjMPAABMuHbXna0340.jpg" />


啟動nginx服務

#/usr/nginx/sbin/nginx &

#ss -tnlp

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/3F/76/wKioL1PJOsDh7vrFAAERo-nT_To434.jpg" style="float:none;" title="5.png" alt="wKioL1PJOsDh7vrFAAERo-nT_To434.jpg" />


為了讓nginx像rpm安裝的程式一樣,需要做以下操作

定義PATH環境變數,在/etc/profile.d/建一個檔案名稱為nginx.sh。內容是export PATH= $PATH:/usr/nginx/sbin


添加man手冊,給/etc/man.conf檔案中添加

MAN /手冊所在的位置



如果其它其它程式依賴此程式的開發環境,則需要把此程式的庫和標頭檔匯出

編輯/etc/ld.so.conf.d/nginx.conf,在此檔案中添加庫檔案路徑,一行一個庫檔案路徑。然後執行ldconfig觸發新成生庫檔案在所在位置,匯出標頭檔只能建立連結,把此軟體所在庫的目錄連結到/usr/include/下。









本文出自 “紅顏易逝豪情長” 部落格,請務必保留此出處http://wukui.blog.51cto.com/1080241/1440093

編譯原始碼安裝軟體大體步驟

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.