我正在嘗試在我的 Slackware (14.2) 上建置和安裝 mutt 用戶端。我正在遵循標準configure && make && make install
程序。這是我關於該主題的問題。
- 如何檢查所有 3 個步驟(配置、製作、安裝)是否正確?我可以將標準錯誤重定向到這樣的檔案嗎?
.configure 2> configure_errors.log
make 2> make_errors.log
然後假設如果對應的文件為空(沒有錯誤)則相應的步驟成功?
- 腳本的預設選項是什麼
configure
?我可以找到選項清單及其含義,但找不到哪些是預設選項? - 我想在自訂目錄($HOME/mutt)中安裝 mutt,但該
--prefix
選項似乎不起作用。當我加入--prefix=$HOME/mutt
腳本configure
時,它最終將 mutt 安裝在我發出腳本的目錄中(即解壓縮的目錄)。我的$HOME/mutt
目錄是空的。
答案1
1)如果您不確定它是否會正常工作,通常的方法(或至少我是如何做的)是單獨執行所有步驟,然後查看終端訊息。
所以configure
,觀察它抱怨缺少庫,為缺少的庫安裝軟體包,configure
再次執行等等,直到成功。然後make
,如有必要,修復來源文件中的錯誤(希望不是)。最後make install
,如有必要,請以 root 身分執行。
將標準錯誤重定向到日誌檔案聽起來不必要地複雜,通常您會立即看到問題。並且終端可以向上滾動。我還沒有遇到需要這樣做的問題,儘管有時我會查看configure
自己生成的詳細日誌(因為它包含它嘗試編譯的測試程序),如果我無法弄清楚從錯誤訊息中到底出了什麼問題。
2)我認為沒有辦法找到預設值。如果某個特定選項不清楚,您可以查看configure.in
等待以了解它的作用。Makefile.am
您對哪個選項有困難?
3)一般來說,對於自編譯的軟體,我建議將它們安裝到/usr/local
using中stow
,如下所示這裡。只有當您沒有安裝系統大部分部分$HOME
已找到的任何庫或其他內容時,安裝到 的子目錄才有效,因為預設存在搜尋路徑。/usr/local
不幸的是,所有軟體的安裝方式都有些不同,即使使用自動工具也是如此,所以我不知道為什麼它沒有安裝到目錄中--prefix
。您輸入後收到的訊息是什麼make install
?他們通常會告訴您它嘗試在哪裡安裝所有內容。有時,部分或全部檔案會忽略各種前綴,並安裝在其他地方,因此您必須進行更改Makefile.am
等才能使其正常工作。