5.7. Glibc-2.31

Glibc-pakken inneholder hovedbiblioteket. Dette biblioteket inneholder de grunnleggende rutinene for tildeling av minne, søking i kataloger, åpning og lukking av filer, lesing og skriving av filer, strenghåndtering, mønstermatching, aritmetikk og så videre.

 

Omtrentlig byggetid: 4.5 SBU

Nødvendig diskplass: 896 MB


5.7.1. Installasjon av Glibc

Glibc-dokumentasjonen anbefaler å bygge Glibc i en dedikert byggekatalog:

mkdir -v build

cd build

Deretter skal du forberede Glibc for kompilering:

../configure \
      --prefix=/tools \
      --host=$LFS_TGT \
      --build=$(../scripts/config.guess) \
      --enable-kernel=3.2 \
      --with-headers=/tools/include

Betydningen av konfigurasjonsalternativene:

--host=$LFS_TGT, --build=$(../scripts/config.guess)
   Den kombinerte effekten av disse svitsjene er at Glibcs byggesystem konfigurerer seg til å krysskompilere, ved hjelp av krysslinker og krysskompilator i /tools.

--enable-kernel=3.2
   Dette forteller Glibc å kompilere biblioteket med støtte for 3.2 og senere Linux-kjerner. Løsninger for eldre kjerner er ikke aktivert.

--with-headers=/tools/include
   Dette forteller Glibc om å kompilere seg mot topptekstene som nylig er installert i verktøyskatalogen, slik at den vet nøyaktig hvilke funksjoner kjernen har og kan optimalisere seg deretter.

I løpet av dette stadiet kan følgende advarsel vises:

configure: WARNING:
*** These auxiliary programs are missing or
*** incompatible versions: msgfmt
*** some features will be disabled.
*** Check the INSTALL file for required versions.

Det manglende eller inkompatible msgfmt-programmet er vanligvis ufarlig. Dette msgfmt-programmet er en del av Gettext-pakken som vertsdistribusjonen skal gi.

Det har vært rapporter om at denne pakken kan mislykkes når den bygges som en "parallell make". Hvis dette skjer, må du kjøre kommandoen på nytt med et "-j1" -alternativ.

Kompilere pakken:

make

Installer pakken:

make install

På dette tidspunktet er det viktig å stoppe og sikre at de grunnleggende funksjonene (sammenstilling og kobling) av den nye verktøykjeden fungerer som forventet. For å utføre en tilregnelighetskontroll, kjører du følgende kommandoer:

echo 'int main(){}' > dummy.c
$LFS_TGT-gcc dummy.c
readelf -l a.out | grep ': /tools'

Hvis alt fungerer som det skal, skal det ikke være noen feil, og utgangen til den siste kommandoen vil være av formen:

[Requesting program interpreter: /tools/lib64/ld-linux-x86-64.so.2]

Merk at for 32-biters maskiner vil tolkens navn være /tools/lib/ld-linux.so.2.

Hvis utgangen ikke vises som ovenfor, eller det ikke var noen utgang i det hele tatt, er noe galt. Undersøk og følg trinnene for å finne ut hvor problemet er og rette det. Dette problemet må løses før du fortsetter.

Når alt er bra, kan du rense opp testfilene:

rm -v dummy.c a.out

Å bygge Binutils i seksjonen etter neste vil tjene som en ekstra sjekk på at verktøykjeden er bygget riktig. Hvis Binutils ikke klarer å bygge, er det en indikasjon på at noe har gått galt med de tidligere Binutils-, GCC- eller Glibc-installasjonene.


Detaljer om denne pakken finnes i kapittel 6.9.3, "Innholdet i Glibc."

Forrige Hjem Neste