1、準備編譯環境,linux中絕大多數軟體的原始碼都是用c語言寫的,少部分用c++或其他語言編寫。因此想要編譯源**需要先按照gcc編譯器和gcc-c++編譯器。
# 安裝編譯器和常用庫
yum groupinstall -y "development tools"
yum install -y gcc gcc-c++ autoconf automake make
yum instlal zlib zlib-devel openssl openss-devel pcre pcre-devel
2、獲取原始碼包
# 如nginx原始碼包
wget
3、解壓
# 解壓tarball
tar xvf nginx-1.18.0.tar.gz -c /tmp
4、編譯環境檢查
軟體開發者會寫好乙個檢查環境的程式放在tarball中,通常叫做configure或者config。主要功能的有:
# 進入原始碼包,執行configure
cd /tmp/nginx-1.18.0/
./configure --prefix=/usr/local/nginx-1.18.0
# 常用選項有:
--prefix=/usr/local/path # 定義安裝路徑
--enable- # 啟用某功能
--disable- # 禁用某功能
--help # 查詢幫助資訊
一般情況下,都應該將軟體安裝至/usr/local目錄下以程式包名+版本號命名的目錄中,這樣方便統一管理。
5、編譯和編譯安裝
編譯和編譯安裝都是使用make這個命令,make會呼叫編譯器,並讀取makefile檔案中的資訊進行系統軟體編譯。
make # 編譯
按makefile檔案編譯,可以使用-j選項指定多顆cpu編譯。
make install # 編譯安裝
# 通常為了方便,我們可以將兩條命令寫一起
make && make install
整個過程不保錯,即為安裝成功。
安裝過程中,如果出現 」error「 或 」warning「 且安裝過程停止,表示安裝失敗。如果僅出現警告資訊,但安裝過程還在繼續,這並不是安裝失敗,頂多使軟體部分功能無法使用。
如果在執行 「./configure」 或 」make「 編譯中報錯停止,通常情況下都是因為缺少某些依賴庫,按報錯資訊安裝依賴庫即可。然後在重新執行 「./configure」 之前,要先執行 make clean 命令,它會清空makefile檔案或編譯產生的 ".o" 標頭檔案,清空後再編譯安裝。
在安裝原始碼包時,我們指定了安裝路徑為/usr/local目錄下,原始碼包的解除安裝只需要找到軟體的安裝位置,直接刪除其所在目錄即可,不會遺留任何檔案。需要注意的時,在刪除前應先將軟體停止服務。
rm -rf /usr/local/nginx-1.18.0
原始碼包編譯安裝
源 預處理 編譯 彙編 鏈結 執行1 configure 1 通過選項傳遞引數,指定啟用特性 安裝路徑等 執行時會參考使用者的指定及makefile.in檔案聲稱makefile。2 檢查依賴到的外部環境,如依賴的軟體包。2 make 根據makfile檔案,構建應用程式。3 make instal...
原始碼包編譯安裝
主要優點 獲得軟體的最新版,及時修復bug 軟體功能可按需選擇 定製,有更多軟體可供選擇 原始碼包適用各種平台 rpm包 rpm yum 執行安裝 gcc make make install原始碼包 可以執行的程式 執行安裝 步驟1 安裝gcc make root svr7 yum y instal...
linux原始碼包編譯安裝軟體詳解
configure make make install原始碼安裝三部曲,一直在使用卻一直知其然不知其所以然,今天就說說所以然。原始碼到成為可執行程式經歷了一下步驟 原始碼 預處理 編譯 彙編 鏈結 執行 make就做了編譯彙編的工作,當然也也不是隨隨便便就幹活的,要有依據,那他是根據什麼幹活的呢?根...