用于ubuntu的ARM工具链编译时出错

时间:2011-02-12 04:36:13

标签: gcc ubuntu embedded arm

我正在尝试在ubuntu中创建ARM工具链。在http://hri.sourceforge.net/tools/arm-elf-gcc.html

中指定的方式

我收到以下错误:

Configuring for a x86_64-unknown-linux-gnu host.
Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized
Invalid configuration `x86_64-unknown-linux-gnu': machine `x86_64-unknown' not recognized
Unrecognized host system name x86_64-unknown-linux-gnu.

有没有人知道这里出了什么问题。

1 个答案:

答案 0 :(得分:3)

Google搜索“机器`x86_64-unknown'无法识别”错误消息表示如果您正在构建的程序中的config.guessconfig.sub文件太旧,可能会发生这种情况识别64位Linux的机器类型。我希望这是你的问题。您可以通过使用较新版本替换GCC源代码树中的代码来解决此问题;你的系统应该在/usr/share/libtool目录中有一些可行的。或者,在32位Linux安装中编译,或使用“--build = i686-pc-linux-gnu --host = i686-pc-linux-gnu”配置选项。

这里也有副本:

http://cvs.savannah.gnu.org/viewvc/*checkout*/config/config/config.guess

http://savannah.gnu.org/cgi-bin/viewcvs/*checkout*/config/config/config.sub

但真正的问题是:为什么要尝试构建一个旧版本的ARM工具链?您链接到的网站上的说明将引导您下载GCC的2.95.3版本的来源 - 这是近十年前发布的。在海湾合作委员会方面,这是古老的;最新版本是4.5。它也比许多ARM指令集更改旧。

因此,除非您对2.95编译器有特定需求,否则解决问题的正确方法是获得更新版本的GCC版本。

另外,除非你特别想要,否则你可能会因为没有自己编译而节省一些痛苦。预编译的交叉编译器有很多来源;因为我在CodeSourcery工作,我会推荐我们的(你可以免费下载和使用):   http://www.codesourcery.com/sgpp/lite/arm/portal/subscription?@template=lite。如果你想要链接到的页面上与编译器等效的东西,你可能需要“uClinux”版本。