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

标签 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.

有人知道这里出了什么问题吗?

最佳答案

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”版本。

关于gcc - 用于 ubuntu 的 ARM 工具链编译时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4976357/

相关文章:

iphone - 在 Xcode 4.2 iOS SDK 5.0 中使用 GCC 4.2

C - 尝试更改堆栈上的值在一种情况下有效,但在另一种情况下无效,这是为什么?

c - Bash for Windows 10 gcc 不会编译粘贴到根目录中的 c 文件

ubuntu - Minikube 在 Ubuntu 中安装 - 运行 SSH 命令出现问题

java - Java 嵌入式运行时环境上的 com.sun.net.httpserver.HttpHandler ClassNotFound 异常

c - 在thumb模式下编译时的GCC arm指令模式

java - 所选目录不是 JDK 的有效主目录 - Ubuntu 上的 Intellij IDEA

linux - 在 ubuntu 上安装 Postgresql 12 失败 - apt update 有错误

linux - 在 Windows 上为 Linux 编程

c - Stm32L151RCxxx USART挂起问题,同时基于中断的TX/RX