1.程序包編譯
? 程序包編譯安裝: (需要gcc、make工具)
建議安裝 包組: development tools
?Application-VERSION-release.src.rpm –> 安裝后,使
用rpmbuild命令制作成二進制格式的rpm包,而后再安裝
? 源代碼–>預處理–>編譯(gcc)–>匯編–>鏈接–>執行
? 源代碼組織格式:
多文件:文件中的代碼之間,很可能存在跨文件依賴關系
C、 C++: make (項目管理器, configure –>
Makefile.in –> makefile)
java: maven
? C代碼編譯安裝三步驟: (各平臺的區別,查看目錄下install 文檔)
1. 獲取源碼并展開歸檔,進入對應文件夾(勿切換去其他文件夾)
2、 ./configure:
(1) 通過選項傳遞參數,指定啟用特性、安裝路徑等;執
行時會參考用戶的指定以及makefile.in文件生成makefile
(2) 檢查依賴到的外部環境
3、 make:根據makefile文件,構建應用程序
4、 make install:復制文件到相應路徑
? 開發工具:
autoconf: 生成configure腳本
automake:生成Makefile.in
? 注意:安裝前查看INSTALL, README
? 開源程序源代碼的獲?。?/p>
官方自建站點:
apache.org (ASF)
mariadb.org
…
代碼托管:
SourceForge.net
Github.com
code.google.com
? c/c++編譯器: gcc (GNU C Complier)
? 編譯C源代碼:
前提:提供開發工具及開發環境
開發工具: make, gcc等
開發環境:開發庫,頭文件
glibc:標準庫
通過“包組”提供開發組件
CentOS 6: "Development Tools",
"Server Platform Development",
? 第一步: configure腳本
選項:指定安裝位置、指定啟用的特性
–help: 獲取其支持使用的選項
選項分類:
安裝路徑設定:
–prefix=/PATH: 指定默認安裝位置,默認為/usr/local/
–sysconfdir=/PATH:配置文件安裝位置
System types:支持交叉編譯
? Optional Features: 可選特性
–disable-FEATURE
–enable-FEATURE[=ARG]
? Optional Packages: 可選包,
–with-PACKAGE[=ARG],依賴包
–without-PACKAGE,禁用依賴關系
? 第二步: make
? 第三步: make install
? 安裝后的配置:
(1) 二進制程序目錄導入至PATH環境變量中;
編輯文件/etc/profile.d/NAME.sh
export PATH=/PATH/TO/BIN:$PATH
(2) 導入庫文件路徑
程序安裝完成后,在安裝路徑下有lib目錄,將此目錄地址導入系統,即
編輯/etc/ld.so.conf.d/NAME.conf
添加新的庫文件所在目錄至此文件中;
eg: 添加apache 的庫地址
vim /etc/ld.so.conf.d/http2.conf (新建http2.conf )
文件中添加 /usr/local/apache2/lib
即可
讓系統重新生成緩存:
ldconfig [-v]
? (3) 導入頭文件
程序安裝路徑下有include目錄,即為頭文件目錄,一般需要軟鏈接至
/usr/include中
基于鏈接的方式實現:
ln -sv
eg:apache 頭文件添加:
進入apache 安裝路徑下的include
ln -sv /usr/local/http2/include /usr/include/http2
? (4) 導入幫助手冊
程序安裝完成后,在安裝路徑下有man目錄,將此路徑加入man配置文件即可
編輯/etc/man.config|man_db.conf文件
添加一個MANPATH
apache 編譯安裝示例:
1. 安裝編譯工具
2. 獲取源碼文件
3. 解壓源碼
4.當前目錄下,進入httpd-2.2.29目錄,查看install 文檔(官方安裝指南)
5.當前目錄下執行 ./configure
6.當前目錄下,繼續執行 make
7.當前目錄下,繼續執行 make install
8.添加PATH:添加 /etc/profile.d/http.sh,加入apachectl程序路徑
9.添加頭文件
9. 添加man 幫組路徑
編輯/etc/man.config 或 /etc/mandb.conf, 加入程序對應的man路徑
10.開啟服務
11.測試
原創文章,作者:ldt195175108,如若轉載,請注明出處:http://www.www58058.com/39817
章思路清晰,從yum源的配置,到httpd編譯完成,一氣呵成,圖文并貌,讓人一目了然,但是少了編譯安裝完成后的后續操作,這部分也是需要熟練配置的。