2012-10-16 82 views
3

如何交叉編譯Expect for ARM?如何交叉編譯期望用於ARM

在主機Ubuntu機器上從源代碼構建它絕對沒有問題。但是,如果你嘗試交叉編譯它,配置腳本不斷提供了以下錯誤:

checking if WNOHANG requires _POSIX_SOURCE... configure: error: Expect can't be cross compiled 

好像有別人誰發現瞭如何做到這一點在這裏(但他沒有詳細說明):

我還拿了源和補丁從這裏:

但即使修補程序成功應用也會收到同樣的錯誤!

我真的很感謝這裏的幫助。

+0

您能否成功編譯它。謝謝 – m4n07

+0

其實不 - 我放棄了這些努力,並使用Qt的sendEvent/postEvent方法。 – PhilBot

回答

3

這些修補程序正在執行的操作是根據您提供的第一個鏈接的解釋方法:找到configure.in中的所有AC_MSG_ERROR([Expect can't be cross compiled])行,並用編碼「正確」答案的硬編碼行替換它們。

因此,首先要做的事情是:如果在應用補丁程序後仍然出現該錯誤,那麼該補丁程序必須錯過;你應該找到它並修復它。

另一件需要檢查的問題是「是否插入」 - 是否在修補configure.in文件後運行相關的自動工具以正確地重新生成configure文件?它看起來像那些補丁只是補丁configure.in,所以如果你沒有做再生,你將不會改變任何實際運行。

一旦你過去了直接的錯誤,還有一點,你發現的補丁是用於TimeSys Linux(按名稱),它可能會或可能不匹配你的系統 - 特別是,可能不會甚至適用於ARM系統。 (我發現TimeSys現在支持ARM,但我熟悉PowerPC。)由於它用硬編碼的答案代替了自動測試,這些答案可能很容易出錯。我建議檢查修補程序中更改的各行,以確認它們硬編碼的答案實際上是正確的。