Подробная информация об этом пакете находится в Раздел 8.20.2, «Содержимое пакета Binutils.»
Пакет Binutils содержит компоновщик, ассемблер и другие инструменты для работы с объектными файлами.
![[Примечание]](../images/note.png) 
          Вернитесь назад и перечитайте примечания в разделе Общие инструкции по компиляции. Понимание информации, помеченной как важная, может впоследствии избавить вас от многих проблем.
Очень важно, чтобы Binutils был скомпилированным первым, потому что и Glibc, и GCC выполняют различные тесты на доступных компоновщике и ассемблере, чтобы определить, какие из их функций следует включить.
В документации пакета Binutils рекомендуется выполнять сборку в отдельном каталоге, создадим его:
mkdir -v build cd build
![[Примечание]](../images/note.png) 
          
            Для того, чтобы значения SBU, перечисленные в остальной части
            книги, были вам полезны, измерьте время, необходимое для сборки
            этого пакета, начиная с настройки и заканчивая установкой. Чтобы
            добиться этого, оберните команды сборки командой time: time { ../configure ... && make
            && make install; }.
          
Теперь подготовьте Binutils к компиляции:
../configure --prefix=$LFS/tools       \
             --with-sysroot=$LFS \
             --target=$LFS_TGT   \
             --disable-nls       \
             --enable-gprofng=no \
             --disable-werror    \
             --enable-default-hash-style=gnu \
             --enable-multilib
        Значение параметров настройки:
--prefix=$LFS/tools
            
                Указывает сценарию configure подготовить к установке пакет
                Binutils в каталог $LFS/tools.
              
--with-sysroot=$LFS
            Для кросс-компляции указывает системе сборки искать в $LFS библиотеки целевой системы, если необходимо.
--target=$LFS_TGT
            
                Поскольку название машины в значении переменной LFS_TGT может отличаться от значения, которое
                возвращает сценарий config.guess, этот аргумент
                укажет сценарию configure как настроить
                систему сборки пакета Binutils для создания
                кросс-компоновщика.
              
--disable-nls
            Этот параметр отключает интернационализацию, так как i18n не требуется для временных инструментов.
--enable-gprofng=no
            Этот параметр отключает сборку gprofng, который не нужен для временного инструментария.
--disable-werror
            Этот параметр предотвращает остановку сборки в случае появления предупреждений от компилятора хоста.
--enable-new-dtags
            Этот параметр заставляет компоновщик использовать тег «runpath» для встраивания путей поиска библиотек в исполняемые файлы и общие библиотеки вместо традиционного тега «rpath». Это упрощает отладку динамически подключаемых исполняемых файлов и устраняет потенциальные проблемы в наборах тестов некоторых пакетов.
--enable-default-hash-style=gnu
            По умолчанию компоновщик генерирует как хеш-таблицу в стиле GNU, так и классическую хеш-таблицу ELF для общих библиотек и динамически связанных исполняемых файлов. Хеш-таблицы необходимы только для динамического компоновщика, выполняющего поиск символов. В LFS динамический компоновщик (предоставляемый пакетом Glibc) всегда будет использовать хеш-таблицу в стиле GNU, к которой запросы выполняются быстрее. Так что классическая хеш-таблица ELF совершенно бесполезна. Этот параметр указывает компоновщику по умолчанию генерировать только хеш-таблицу в стиле GNU, поэтому мы можем избежать траты времени на создание классической хеш-таблицы ELF при сборке пакетов или не тратить дисковое пространство для ее хранения.
--enable-multilib
            Включает поддержку multilib.
Скомпилируйте пакет:
make
Установите пакет:
make install
Подробная информация об этом пакете находится в Раздел 8.20.2, «Содержимое пакета Binutils.»