【问题标题】:ARM toolchain for ubuntu Error while compiling编译时用于 ubuntu 的 ARM 工具链错误
【发布时间】:2011-02-12 04:36:13
【问题描述】:

我正在尝试在 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.

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

【问题讨论】:

    标签: gcc ubuntu embedded arm


    【解决方案1】:

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

    【讨论】:

    • 嗨布鲁克斯,感谢您的详细解释。不幸的是,我使用的是十年前的板 S3C44B0 处理器(ARM 7)。随板子提供的 uclinux 发行版需要旧的工具链。现在我觉得有这么旧的板子很痛苦。
    • 哎呀,是的!无论如何,希望我提供的替代建议之一(替换 config.* 或编译 32 位版本)对您有用。
    猜你喜欢
    • 2019-07-15
    • 2016-08-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-02
    • 2016-04-17
    • 2011-07-24
    • 1970-01-01
    相关资源
    最近更新 更多