【问题标题】:How to cross compile Expect for ARM如何为 ARM 交叉编译 Expect
【发布时间】:2016-02-04 22:16:45
【问题描述】:

如何为 ARM 交叉编译 Expect?

在主机 Ubuntu 机器上从源代码构建它绝对没有问题。但是如果你尝试交叉编译,configure 脚本会不断报错:

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

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

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

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

非常感谢这里的帮助。

【问题讨论】:

  • 你能编译成功吗?谢谢
  • 实际上没有——我放弃了这些努力,转而使用 Qt 的 sendEvent/postEvent 方法。

标签: arm embedded expect configure


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 2019-05-21
    • 2011-07-24
    • 2014-12-05
    • 2012-08-04
    • 1970-01-01
    • 2023-03-16
    相关资源
    最近更新 更多