Detaljer om denne pakken finner du i avsnitt Section 8.18.2, “Innhold i Binutils.”
Binutils pakken inneholder en linker, en assembler og annet verktøy for håndtering av objektfiler.
Gå tilbake og les notatene i avsnittet med tittelen General Compilation Instructions. Å forstå notatene merket som viktig kan spare deg for mange problemer senere.
Det er viktig at Binutils er den første pakken som blir satt sammen fordi både Glibc og GCC utfører ulike tester på tilgjengelige linker og assembler for å bestemme hvilke av deres egne funksjoner som skal aktiveres.
Binutils dokumentasjonen anbefaler å bygge Binutils i en dedikert byggemappe:
mkdir -v build cd build
For at SBU verdiene som er oppført i resten av boken skal kunne
brukes, måler du tiden det tar å bygge denne pakken fra
konfigurasjonen, til og med den første installasjonen. For å
oppnå dette enkelt, pakk kommandoene inn i en time kommando som dette:
time { ../configure ...
&& make && make install; }
.
Forbered nå Binutils til kompilering:
../configure --prefix=$LFS/tools \ --with-sysroot=$LFS \ --target=$LFS_TGT \ --disable-nls \ --enable-gprofng=no \ --disable-werror
Betydningen av konfigurasjonsalternativene:
--prefix=$LFS/tools
Dette forteller konfigurasjonsskriptet å forberede for å
installere Binutils programmene i $LFS/tools
mappen.
--with-sysroot=$LFS
For krysskompilering, dette forteller byggesystemet å søke i $LFS etter målsystembibliotekene etter behov.
--target=$LFS_TGT
Fordi maskinbeskrivelsen i variabelen LFS_TGT
er litt annerledes enn verdien som
returneres av config.guess skriptet, vil
denne bryteren fortelle skriptet configure om å justere
Binutils byggesystem for å bygge en tverrlinker.
--disable-nls
Dette deaktiverer internasjonalisering ettersom i18n ikke er nødvendig for de midlertidige verktøyene.
--enable-gprofng=no
Dette deaktiverer bygging av gprofng som ikke er nødvendig for midlertidige verktøy.
--disable-werror
Dette forhindrer byggingen i å stoppe i tilfelle det er advarsler fra vertens kompilator.
Fortsett med å kompilere pakken:
make
Installer pakken:
make install
Detaljer om denne pakken finner du i avsnitt Section 8.18.2, “Innhold i Binutils.”