如何交叉编译期待ARM [英] How to cross compile Expect for ARM

查看:676
本文介绍了如何交叉编译期待ARM的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

一个人如何交叉编译期待ARM?

How does one cross-compile Expect for ARM?

这是绝对没有从主机Ubuntu的机器上源文件构建问题。但是,如果你试图越过编译它,配置脚本不断提供了以下错误:

It is absolutely no problem to build it from source on a host Ubuntu machine. But if you try to cross compile it, the configure script constantly gives the following error:

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

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

There seems to be someone who found out how to do it here (but he doesn't elaborate):

  • https://linuxlink.timesys.com/cross_compiling_expect

我也参加了源和补丁从这里:

I also took the source and patches from here:

  • http://repository.timesys.com/buildsources/e/expect/expect-5.43.0/

但收到的,即使成功地应用补丁同样的错误!

But received the same error even when patches were successfully applied!

我真的AP preciate一些帮助这里。

I'd really appreciate some help here.

推荐答案

什么这些补丁正在做的是以下从您提供的第一个环节的解释方法:找到所有的 AC_MSG_ERROR的([期待不能跨编译]) configure.in 行,替换他们用硬$ C $裁线是连接codeS正确的答案。

What those patches are doing is following the methodology of the explanation from the first link you provide: Find all of the AC_MSG_ERROR([Expect can't be cross compiled]) lines in configure.in, and replace them with a hard-coded line that encodes the "right" answer.

所以,有做的第一件事:如果你还在应用修补程序后,收到这个错误,那么这个补丁必须错过​​之一;你应该找到它,解决它了。

So, there's the first thing to do: If you're still getting that error after applying the patches, then the patch must have missed one; you should find it and fix it too.

要检查的另一件事是沿着是它插入行 - 你办好相关自动工具正确再生配置修补后文件中的 configure.in 文件?它看起来像这些补丁只打补丁 configure.in ,所以如果你没有做你的再生会不会改变实际运行任何东西。

Another thing to check is along the lines of "is it plugged in" -- did you run the relevant autotools to properly regenerate the configure file after patching the configure.in file? It looks like those patches only patch configure.in, so if you didn't do the regeneration you won't have changed anything that actually runs.

一旦你过去的即时错误,另外还有一点,你找到了修补程序都是TimeSys公司的Linux(按名称),这可能会或可能不会匹配您的系统 - 和,特别是可能甚至不是一个ARM系统。 (我看到,现在TimeSys的支持ARM,但我与他们的熟悉程度为PowerPC)。由于它与硬codeD答案更换自动测试,这些问题的答案很容易被错误的。我建议你​​检查各种线路在补丁改变,以确认他们的答案在硬件实际上是正确的code。

Once you get past the immediate error, there's also the point that the patches that you found are for TimeSys Linux (as per the names), which may or may not match your system -- and, in particular, may not even be for an ARM system. (I see that TimeSys now supports ARM, but my familiarity with them is for PowerPC.) Since it's replacing automatic tests with hard-coded answers, those answers could easily be wrong. I'd recommend checking the various lines changed in the patches to confirm that the answers they hard-code in are actually correct.

这篇关于如何交叉编译期待ARM的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆