【问题标题】:Is newlib for building cross compiler for powerpc e500mc mandatory?为 powerpc e500mc 构建交叉编译器的 newlib 是强制性的吗?
【发布时间】:2015-05-27 13:21:24
【问题描述】:

我正在尝试使用目标 powerpc-e500mc-eabi 为 PowerPC e500mc 构建交叉编译器。正如一些网站所提到的,我首先构建了一个引导编译器。然后尝试用它编译newlib。但是我遇到了一些错误,例如,

/bin/sh: powerpc-e500mc-eabi-cc: command not found

我想知道,我们可以不使用newLib直接编译GCC交叉编译器吗?另外,谁能告诉我powerpc e500mc架构的确切先决条件。我有 GMP、MPC、MPFR、BinUtils 不确定是否需要 newLib。

【问题讨论】:

  • 如果任何人都可以提供所有依赖项的确切步骤,那将是可观的,在为 ARCH=powerpc 为 e500mc 编译 GCC 工具链时面临同样的问题。

标签: gcc powerpc


【解决方案1】:

你可以在没有任何 C 库的情况下构建 gcc,不需要 newlib。请在下面找到来自 crosstool-ng 构建的依赖项列表。

1。替代品

  • 您可以手动构建所有内容,这显然是您尝试做的。这是可能的,但要记住各种限制,例如,如果您的文件系统不区分大小写或在源目录中构建,则构建可能会失败。除了所有依赖项及其版本。

  • 您让 crosstool-ng 构建您的交叉工具链。 Crosstool-ng 大部分是自包含的,几乎没有外部依赖项。它将为您下载并构建正确版本的所有依赖项,并附带各种示例配置。它将检查诸如不区分大小写的文件系统之类的障碍。它允许您以与配置 Linux 内核类似的方式配置交叉工具链。几年来,我已经在几个主机系统上毫无问题地构建了各种交叉工具链,包括 Linux、OS X (homebrew) 和 Windows (cygwin)。你可以在这里找到它:http://crosstool-ng.org/

我将列出通过 crosstool-ng 构建跨工具链所需的步骤。我今天使用 git 的 crosstool-ng 在 Windows (cygwin) 上测试了这个设置。

2。下载 crosstool-ng,构建并安装它。

按照步骤

docs/2 - 安装 crosstool-NG.txt。

3。配置您的交叉工具链。

按照步骤

docs/3 - 配置 toolchain.txt。

4。示例

mkdir powerpc-e500v2-eabi
cd powerpc-e500v2-eabi
ct-ng powerpc-e500v2-linux-gnuspe

最后一步将从我认为与您想要的足够相似的示例中创建配置。下一步,我们将调整这个配置,条件是

  • 没有操作系统
  • 没有 C 库
  • EABI
  • 你想要e500mc,样品是e500v2。我让你来调整配置以适应它。

4.1。配置

ct-ng menuconfig
  • 操作系统
    • 目标操作系统
      • 选择裸机
  • C 库
    • C 库
      • 无选择
  • 目标选项
    • ABI
      • 选择 EABI
  • C 编译器
    • gcc 版本
      • 选择5.1.0(示例配置了gcc 4.6.4 在这里)
    • 取消选择 C++(因为您不需要 C 库 或者它会拉出额外的依赖项)
  • 调试工具
    • 取消选择 gdb(除非你想要它,可以拉出额外的依赖项)

4.2。构建

ct-ng build.4

Crosstool-ng 将下载并构建以下依赖项。

  • gmp-6.0.0a
  • mpfr-3.1.2
  • isl-0.14
  • mpc-1.0.2
  • binutils-2.25
  • gcc-5.1.0

它将安装交叉工具链

${HOME}/x-tools/powerpc-e500v2-eabi.

您可以在配置中指定不同的安装前缀。

【讨论】:

    【解决方案2】:

    可以通过创建指向 powerpc-e500mc-eabi-gcc 的符号链接 powerpc-e500mc-eabi-cc 来解决此构建问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-08
      相关资源
      最近更新 更多