2011-02-12 21 views
2

我想在ubuntu中制作ARM工具链。它是在http://hri.sourceforge.net/tools/arm-elf-gcc.htmlubuntu的ARM工具链编译时出错

指定我收到以下错误方式:

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. 

没有任何人有想法怎么回事错在这里。

回答

3

在机器x86_64未知“未识别”错误消息的Google搜索表明,如果您正在构建的程序中的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工具链就是这样老的?您链接到的网站的指示将导致您下载近10年前发布的GCC的2.95.3版本的源代码。在海湾合作委员会的条款,这是积极的古老;最新版本是4.5。它也比很多ARM指令集更改还要旧。

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

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

+0

嗨布鲁克斯,感谢您的详细解释。不幸的是,我使用了十年前的主板S3C44B0处理器(ARM 7)。随板提供的uclinux发行版需要旧的工具链。现在我感到有这样一个老板的痛苦。 – user530928 2011-02-13 09:23:08