1. 程式人生 > 實用技巧 >程式包管理之編譯安裝

程式包管理之編譯安裝

程式包安裝編譯

一、編譯安裝三步驟(./configure -> make -> make install)

1、./configure:

(1) 通過選項傳遞引數,指定啟用特性、安裝路徑等;執行時會參考使用者的指定以及 Makefile.in檔案生成makefile;

--help: 獲取其支援使用的選項

(2) 檢查依賴到的外部環境,如果此時依賴的外部環境沒有配置,會導致報錯。第一 步報錯會導致make不能執行

2、make:

根據makefile檔案,構建應用程式;

3、make install

把二進位制檔案、庫檔案、配置檔案、幫助檔案複製到對應的目錄中注意事項:

configure和Makefile.in是程式設計師通過兩個工具生成並提供給我們使用的

開發工具:

autoconf: 生成configure指令碼

automake:生成Makefile.in

建議:安裝前檢視INSTALL,README

開源程式原始碼的獲取:

官方自建站點:apache.org (ASF),mariadb.org,...

程式碼託管:SourceForge,Github.com,code.google.com,...

二、編譯安裝httpd(httpd-2.4.16)

編譯安裝前提:提供開發工具及開發環境

開發工具:make, gcc等

開發環境:開發庫,標頭檔案,glibc(標準庫)

通過“包組”提供開發元件

CentOS 6: "Development Tools", "Server Platform Development",

1、通過瀏覽器下載httpd-2.2.29.tar.bz2此原始碼包,並檢視INSTALL檔案

[[email protected] ~]# tar xfhttpd-2.2.29.tar.bz2

[[email protected] ~]# cd httpd-2.2.29/

wKiom1Z6mvHQyGWcAAAkeP3-lLg353.png

[[email protected] httpd-2.2.29]# more INSTALL

wKiom1Z6m0ODBvPUAAAdp1iZJTQ998.png

#這裡建議編譯安裝的時候首先讀INSTALL或README檔案。$ ./configure->$ make->$ make install

2、因為每個原始碼提供的選項不盡相同,所以建議通過./configure --help檢視需要的選項

[[email protected] httpd-2.2.29]# ./configure --help

3、檢查開發包組是否安裝完,把缺少缺少的包組安裝完

[[email protected] ~]# yum grouplist

[[email protected] ~]# yum groupinstall "Server Platform Development" -y

4、通過./configure 跟特定需要的選擇通過Makefile.in開始構建生產makefile檔案

[[email protected] httpd-2.2.29]# ./configure --prefix=/usr/local/apache2 --sysconfdir=/etc/httpd2

wKiom1Z6nWyS3ZsOAAApcakLw-U661.png5、make通過生成的makefile檔案呼叫前處理器,編譯器等開始編譯安裝程式包

[[email protected] httpd-2.2.29]# make

wKioL1Z6ninz0d1xAAAvMkciqv0655.png

6、make install:把二進位制檔案、庫檔案、配置檔案、幫助檔案複製到對應的目錄中

[[email protected] httpd-2.2.29]# make install

wKiom1Z6nw2TSnUyAAAXOBPc_SI087.png

7、編譯完成啟動測試

wKioL1Z6oCWRcNPUAAAVQlQlsMo674.png

wKiom1Z6oBOyDviqAAAoA6f0g_M075.png

wKiom1Z6oBqSXz0tAAA5rJHo5U0210.png

瀏覽器上出現It works!表示編譯、啟動成功。

三、編譯安裝後的配置

1、 匯出二進位制程式目錄至PATH環境變數中;

編輯檔案/etc/profile.d/NAME.sh

export PATH=/PATH/TO/BIN:$PATH

[[email protected] httpd-2.2.29]# vim /etc/profile.d/

export PATH=/usr/local/apache2:$PATH

2、匯出庫檔案路徑

編輯/etc/ld.so.conf.d/NAME.conf

新增新的庫檔案所在目錄至此檔案中;

讓系統重新生成快取:

ldconfig [-v]

[[email protected] ld.so.conf.d]# vim /etc/ld.so.conf.d/httpd2.conf

/usr/local/apache2

[[email protected] ld.so.conf.d]# ldconfig

[[email protected] ld.so.conf.d]# ldconfig -v

#檢視庫檔案是否匯入

3、匯出標頭檔案

基於連結的方式實現

ln -s /usr/include/httpd /usr/local/apache2/include

4、 匯出幫助手冊

編輯/etc/man.config檔案

新增一個MANPATH

[[email protected] ~]# vim /etc/man.config

MANPATH /usr/local/apache2/man



轉載於:https://blog.51cto.com/liaodijin/1727547