Замечание
Вернитесь назад и перечитайте замечания, приведенные в предыдущем разделе. Если вам станут понятны замечания, отмеченные как важные, то это убережет вас в будущем от массы проблем.
Важно, чтобы пакет Binutils был первым откомпилированным пакетом, поскольку в Glibc и в GCC для имеющегося компоновщика и ассемблера выполняются различные проверки, которые определяют, какие у них включены возможности.
В документации по Binutils рекомендуется собирать пакет Binutils в отдельном директории, предназначенном для сборки, а не в директории с исходными кодами:
mkdir -v ../binutils-buildcd ../binutils-build
Замечание
Чтобы можно было пользоваться значениями SBU, указываемыми в остальной части книги, измерьте время, затраченное от момента конфигурирования и до завершения первой установки. Чтобы упростить измерение этого времени, поместите, например, внутрь команды time следующие три команды: time { ./configure ... && make && make install; }.
Замечание
В приблизительных значениях времени сборки в SBU и требуемого дискового пространства в MB, указываемых в главе 5, не учитывается запуск тестовых наборов.
Поскольку описание машины, указанное в переменной LFS_TGT, немного отличается от того, что возвращается скриптом config.guess, этот параметр сообщит скрипту configure, как для сборки кросс компоновщика следует настроить систему сборки пакета Binutil.
--prefix=/tools
В этом параметре скрипту configure указано подготовить установку программ Binutils в директории /tools.
--disable-nls
Этот параметр отключает возможности интернационализации, обозначаемые как i18n, которые не нужны во временном инструментальном наборе.
--disable-werror
Это параметр предотвращает остановку процесса сборки в случаях, когда от компилятора хост системы поступят предупреждающее сообщения.
Продолжайте компилирование пакета:
make
Компиляция теперь завершена. Обычно в этот момент нам следовало бы запустить набор тестов, но на этой ранней стадии фреймворк для набора тестов (Tcl, Expect и DejaGNU) еще не установлен. Преимущества запуска тестов в настоящий момент минимальные, поскольку программы, созданные на этом первом проходе, скоро будут заменены программами, собранными на втором проходе.
Если сборка выполняется на архитектуре x86_64, создайте символическую ссылку, которая позволит выполнить чистую сборку набора инструментальных средств:
case $(uname -m) in x86_64) mkdir -v /tools/lib && ln -sv lib /tools/lib64 ;;esac
Установите пакет:
make install
Подробности об этом пакете приведены в разделе " Описание пакета Binutils".