源碼就是用特定的語言來編寫的文本,比如我們常見的c語言。然而源碼的安裝要經過配置、編譯的一系列的複雜過程,那麼如此的麻煩為何還要來安裝源碼呢?其實這是為了讓我們的系統來使用更新的功能和更多的功能,另外還可以更加個人化我們的配置。就拿apache來說吧,紅帽官方提供給我們的是2.2的版本,但是最新的的版本已經到2.4了,所以有些時候我們需要安裝源碼。
下面我們來簡單說說關於源碼安裝的必備環境:
源碼需要編譯成可執行檔,而編譯則需要有相應的編譯環境。當我們的系統中安裝了Develepment Tools、Develepment Libraries、legacy software、和X soft Develepment這四個軟體組的話,我們的編譯環境就基本上具備了。
推薦閱讀:
Ubuntu 12.04下StarDict發音的設定
Linux下安裝星級譯王Stardict
openSUSE下安裝星際譯王(StarDict-3.0.1)
我們以軟體httpd-2.4為例為大家講解,下面開始源碼的安裝工作:
第一步:拆解httpd並放入指定的目錄/usr/local/src
切換到源碼被拆解的位置,進入該目錄下相應的httpd目錄,裡邊有些特徵的檔案,如configure(為產生makefile檔案)、INSTALL或者README(指導我們安裝)。查看INSTALL檔案,如下所示
第二步:產生makefile檔案
但是我們不會那麼容易裝好的,安裝過程中我們會發現種種問題,下面我們一一來解決
(1)產生httpd的makefile檔案
然後我們查看系統有沒有安裝apr
結果我們發現安裝了apr,這是怎麼回事呢?發生這種情況我們首先應該考慮到apr裡面缺少我們需要的庫,而這些庫往往放在devel裡面,那麼我們來安裝apr-devel軟體包。
(2)但是安裝完apr-devel後再進行第一步又出現下面錯誤
提示我們apr版本太低了,至少是1.4.0的才可以。那麼去網上找更高的版本,這裡需要注意的是我們要找適合我們系統平台的源碼才可以,如所示,一般的都是i386、i586和i686的平台,但是如果你的是64位的就要選擇x86_64的。
開始安裝apr的源碼,我們要把apr和apr-util都安裝,util是工具,把這兩個軟體包分別進行拆解
此時我們在/usr/local/apr/apr1-1.4.6目錄下,然後執行make進行編譯
最後執行make install進行安裝
(3)安裝完畢後/usr/local/apr目錄下會產生下列檔案
然而這些庫檔案、標頭檔若想要被他人所利用還需要做一些處理:
【標頭檔的處理】進入系統能識別標頭檔的目錄/usr/include,然後為apr的標頭檔建立連結到所在目錄ln -s /usr/local/apr/include/apr-1/* .
【庫檔案的處理】在/etc/ld.so.conf.d目錄下建立名為apr.conf的檔案並進行編輯,輸入一個供系統尋找庫檔案的路徑/usr/local/apr/lib;儲存退出後ldconfig重新載入緩衝然後查看。如所示,看到庫檔案可以被找到
(4)至此apr已經被安裝好了,然後依據apr的安裝來進行apr-util的安裝,在產生makefile檔案時又出現下面的錯誤,提示我們apr並沒有找到,讓我們加入一個--with-apr的選項
這裡需要注意的是在源碼安裝過程中我們要學會用查看指令的方式為我們解決問題,查看有關資訊
到/usr/local/apr目錄下用tree命令顯示檔案之間的關係,結果看見在bin目錄下有該檔案
然後產生makefile檔案,注意要加進檔案目錄
然後make、安裝,因為util是個工具,所以沒必要管標頭檔和庫檔案,所以apr的問題到此就都解決了。
(5)然後再來進行第一步,但是又出問題了,提示我們缺少設定檔,需要我們指明apr的設定檔
再在第一步中加入apr設定檔的路徑
然而類似的問題又出現了,提示我們apr-util的設定檔沒找到,那麼我們再把 --with-apr-util=/uar/local/apr-util/ 加入上邊指令中又有些小問題出現,說pcre的庫找不到。
經過前面的配置我們可以猜想是因為pcre-devel的軟體包沒有安裝的緣故,那麼進行pcre-devel的安裝。
安裝完畢後再來進行httpd的makefile檔案的產生,這次沒有再出現問題了。安裝的過程是辛苦的,不過不要灰心喲,努力和回報是相對的!
詳情請看第2頁: