构建 GCC 交叉编译器时 Binutils 构建失败

Binutils fails to build when building GCC Cross Compiler

我正在构建 GCC 6.10 交叉编译器。我正在使用 tutorial from OSDev. When I go and build binutils using my shell sript, I get an error like this:

我使用 shell 脚本将 ClooG 和 ISL 移动到我在上面提到的教程中指定的 build-binutils 目录中。这是我的 shell 脚本:

export PREFIX="$HOME/opt/cross"
export TARGET=i686-elf
export PATH="$PREFIX/bin:$PATH"

cd $HOME/src

mv isl-0.17 binutils-2.9.1/isl
mv cloog-0.18.4 binutils-2.9.1/cloog

mkdir build-binutils
cd build-binutils
../binutils-2.9.1/configure --target=$TARGET --prefix="$PREFIX" --with-sysroot --disable-nls --disable-werror
make
make install

我使用的是他们网站上的最新版本。正如上面教程中提到的,GCC 安装很好,但 binutils 没有。 Binutils 开始设置,但它最终崩溃了。这是 binutils 本身的错误还是我在设置中做错了什么?我使用的版本不正确吗?有什么建议吗?

很高兴看到人们采纳构建 GCC 交叉编译器的建议,以避免主机环境 GCC 编译器及其编译器的潜在问题本机头文件。

BINUTILS 的版本控制(以及许多项目)使用 major.minor.patch 的版本控制。值 9 < 26、1 < 2 等。Binutils-2.9.1 是 1990 年代末的版本。最新版本是 2.26。在这种情况下,9 < 26 因此 2.9.x 版本早于 2.26.x。考虑到这一点,应该查阅 OSDEV Wiki 上的 successful build matrix

您正在构建一个 GCC 6.10 交叉编译器。 OSDev 的成员(截至撰写本文时)发现 Binutils-2.26 已成功用于构建 GCC 6.10 交叉编译器。