我正在尝试在 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.
有人知道这里出了什么问题吗?
最佳答案
Google 搜索“无法识别机器‘x86_64-unknown’”错误消息表明,如果 config.guess
和 config.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”版本。
关于gcc - 用于 ubuntu 的 ARM 工具链编译时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4976357/