2016-05-29 6 views
3

Я создаю кросс-компилятор GCC 6.10. Я использую tutorial из OSDev. Когда я иду и построить Binutils с помощью моей оболочки sript, я получаю сообщение об ошибке, как это: Binutils error as mentionedBinutils не удается построить при сборке GCC Cross Compiler

я использовал скрипт для перемещения ClooG и ISL в каталог build-binutils, как указано в учебнике я упоминал выше. Вот мой сценарий оболочки:

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. Я загружаю zip-файл с веб-сайта GNU. Я использую веб-сайт, который я упомянул в вопросе, чтобы создать его с другими пакетами. – 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 - с конца 1990-х годов. Последняя версия - версия 2.26. В этом случае 9 < 26, поэтому выпуски 2.9.x выше 2.26.x. Имея это в виду, следует обратиться к successful build matrix в Wiki OSDEV.

Вы строите GCC 6.10 кросс-компилятор. Участники (члены) OSDev (на момент написания этой статьи) обнаружили, что Binutils-2.26 был успешно использован для создания перекрестных компиляторов GCC 6.10.