2010-04-17 41 views
0

有時候我爲了好玩而從頭開始構建Python或GCC,但是我無法解析我得到的錯誤,或者不理解像「libtool link error#XYZ」這樣的語句。 unix /系統大師用什麼技巧從頭開始編譯這種大小的軟件?對於構建複雜軟件進行故障排除有哪些技巧?

當然,我已經做了諸如閱讀config.log(如果有的話),谷歌周圍,並在新聞組發佈。我在尋找的東西,要麼

  • 使過程更順利或
  • 讓我更多的錯誤信息,幫助我瞭解並解決它。

有時候得到這些信息有點困難,因爲有些編譯錯誤可能很模糊。那時我能做些什麼?

回答

2

我5毛錢:

  1. 只有這樣,纔能有東西儘可能順利是什麼讀什麼安裝/ README /其他指令說,並按照他們儘可能密切。首先嚐試默認選項。沒有其他的銀子彈,真的。
  2. 如果事情不順利,直接複製粘貼最後一條錯誤消息到谷歌。很有可能你不是第一個獲得它的人,你很容易找到修復。
  3. 如果你的是第一個得到它的人,請重新閱讀INSTALL/README,並考慮一下你的特定系統配置的特性。如果你不知道,請準備好再打一場。只要有可能,我會避免處理讓我到這一點的軟件。
  4. 上述規則的一個例外是鏈接器錯誤。這些通常很容易理解,並且通常意味着您的系統庫與軟件所期望的不匹配。重新閱讀文檔,獲取正確的庫,重新編譯。但在某些發行版中,這可能會帶來很多痛苦。
  5. 我個人的經驗表明,無論何時我遇到一個我無法輕易解決的編譯錯誤,進入代碼並查看導致錯誤的特定行可幫助您做的更多。

對不起,如果這是所有明顯的東西。

1
  • 瞭解什麼是一般/特定的構建過程中的步驟(功能檢查,相關性檢查,生成的衍生來源,編譯,鏈接,安裝等)
  • 瞭解用於上述(automake的工具也許是這裏異常:)
  • 檢查先決條件(OS和庫版本,附加軟件包等)
  • 擁有乾淨的構建環境 - 在同一系統上的所有可能的功能,安裝一切都將肯定讓你遲早會導致依賴衝突。

希望這會有所幫助。