Подробная информация об этом пакете находится в Раздел 8.19.2, «Содержимое пакета Binutils.»
Пакет Binutils содержит компоновщик, ассемблер и другие инструменты для работы с объектными файлами.
Система сборки Binutils использует содержащуюся в пакете копию libtool для линковки с внутренними статическими библиотеками, но копии libiberty и zlib, поставляемые с пакетом, не используют libtool. Это несоответствие может привести к тому, что созданные двоичные файлы будут ошибочно связаны с библиотеками из основного дистрибутива. Решение этой проблемы:
sed '6009s/$add_dir//' -i ltmain.sh
Создайте отдельный каталог для сборки:
mkdir -v build cd build
Подготовьте Binutils к компиляции:
../configure \ --prefix=/usr \ --build=$(../config.guess) \ --host=$LFS_TGT \ --disable-nls \ --enable-shared \ --enable-gprofng=no \ --disable-werror \ --enable-64-bit-bfd \ --enable-default-hash-style=gnu
Значение новых параметров настройки:
--enable-shared
Собирает libbfd
как разделяемую
библиотеку
--enable-64-bit-bfd
Включает 64-разрядную поддержку (на хостах с меньшим размером слова). В 64-разрядных системах это может и не понадобиться, но вреда от этого не будет
Скомпилируйте пакет:
make
Установите пакет:
make DESTDIR=$LFS install
Удалите архивные файлы libtool, поскольку они потенциально опасны при кросс-компиляции, также удалите ненужные статические библиотеки
rm -v $LFS/usr/lib/lib{bfd,ctf,ctf-nobfd,opcodes,sframe}.{a,la}
Подробная информация об этом пакете находится в Раздел 8.19.2, «Содержимое пакета Binutils.»