如何交叉编译Expect for ARM

时间:2012-10-16 18:57:37

标签: arm embedded expect configure

如何交叉编译Expect for ARM?

在主机Ubuntu机器上从源代码构建它绝对没问题。但是,如果您尝试交叉编译它,配置脚本会不断出现以下错误:

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

似乎有人在这里发现了如何做到这一点(但他没有详细说明):

我也从这里获取了源代码和补丁:

但即使成功应用补丁,也会收到相同的错误!

我真的很感激这里的一些帮助。

1 个答案:

答案 0 :(得分:3)

这些补丁正在执行的操作是遵循您提供的第一个链接的解释方法:查找AC_MSG_ERROR([Expect can't be cross compiled])中的所有configure.in行,并将其替换为编码的硬编码行“正确”的答案。

所以,首先要做的事情是:如果你在应用补丁后仍然遇到错误,那么补丁肯定错过了一个;你应该找到它并修复它。

要检查的另一件事是“插入电源” - 在修补configure文件后,您是否运行了相关的自动工具以正确重新生成configure.in文件?看起来这些补丁只补丁configure.in,所以如果你没有进行再生,你就不会改变任何实际运行的补丁。

一旦你遇到了即时错误,你也发现你发现的补丁适用于TimeSys Linux(根据名称),可能与您的系统匹配也可能不匹配 - 特别是,甚至可能不匹配适用于ARM系统。 (我看到TimeSys现在支持ARM,但我对它们的熟悉是针对PowerPC的。)因为它用硬编码的答案取代了自动测试,所以这些答案很容易出错。我建议检查补丁中更改的各行,以确认他们硬编码的答案实际上是正确的。