2014-07-17 114 views
0

很多時候我們需要從源代碼安裝軟件。大多數情況下,我只是打「make world」或「make all」,那麼它就像魅力一樣。但是在其他一些時候,我們發現了錯誤,並且我們需要安裝其他軟件包才能通過make。這對於編譯低級系統(如Linux內核或Xen虛擬機管理程序)尤其如此。從源代碼編譯/編譯錯誤時的依賴項解決方案

我有一個Xen 3.4的經驗。也許它已經在一些角落文檔中有記錄,但它依賴於udev-125才能正常工作。奇怪的是,它在udev版本爲160+時大部分時間都運行良好,它在某些情況下只會中斷!我花了幾個月的時間才發現這是因爲udev版本錯誤!

爲了讓開發人員的工作更輕鬆,當源代碼在一臺機器上成功完成時,是否有一些工具可以記錄該機器的軟件包和版本列表?這樣的「快照」也應該附帶源代碼,以便當有人遇到錯誤時,他們至少有一個成功的「快照」供參考。

有沒有這樣的工具?

回答

0

如果你的軟件依賴於特定版本的依賴,你應該爲你的配置腳本/ cmakefile/etc寫一個檢查。它測試依賴項的版本,並在找到錯誤的版本時退出。

比較config.log(由配置腳本創建的文件)的輸出也可以幫助診斷您遇到的問題。