2016-05-29 82 views
3

我正在构建GCC 6.10交叉编译器。我使用OSDev的tutorial。当我去使用我的壳sript建立binutils的,我得到这样的错误:Binutils error as mentionedBinutils在构建GCC交叉编译器时无法构建

我用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本身的错误还是我在设置上做了错误的事情?我使用的是不正确的版本吗?有什么建议么?

+0

您试图构建什么版本的_GCC_? –

+0

我正在尝试构建GCC 6.1.0。我从GNU网站下载zip文件。我正在使用我在问题中提到的网站来与其他软件包一起构建它。 – Razor

+2

Binutils 2.9.1实际上是近20年的版本。 2.9.1小于2.26。如果你正在构建一个6.10 GCC交叉编译器,你将会使用binutils-2.26。这是基于这个已知[成功构建]的图表(http://wiki.osdev.org/Cross-Compiler_Successful_Builds) –

回答

2

很高兴看到人们采取建设GCC交叉编译器,以避免与主机环境GCC编译器和他们的原生头文件的潜在问题的建议。

版本BINUTILS(和许多项目)使用major.minor.patch的版本控制。值为9,< 26,1 < 2等。Binutils-2.9.1是从20世纪90年代末开始的。最新的版本是2.26。在这种情况下,所以2.9.x版本早于2.26.x版本。考虑到这一点,应该参考OSDEV Wiki上的successful build matrix

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