【发布时间】:2016-05-29 06:57:43
【问题描述】:
我正在构建一个 GCC 6.10 交叉编译器。我正在使用来自 OSDev 的tutorial。当我使用我的 shell sript 构建 binutils 时,我收到如下错误:
我使用 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 6.1.0。我从 GNU 网站下载了 zip 文件。我正在使用问题中提到的网站与其他软件包一起构建它。
-
Binutils 2.9.1 实际上是近 20 年的一个版本。 2.9.1 小于 2.26。如果您正在构建 6.10 GCC 交叉编译器,您将需要使用 binutils-2.26。这是基于这张已知successful builds 的图表
-
哇哦!我没有注意到这一点。我将尝试使用 2.26 版本重建 binutils。
-
@Michael Petch 非常感谢您的帮助!
标签: gcc cross-compiling osdev binutils