5.6. Glibc-2.3.6

Il pacchetto Glibc contiene la libreria C principale. Questa libreria fornisce tutte le routine di base per allocare memoria, cercare directory, aprire e chiudere file, leggere e scrivere file, manipolare stringhe, individuare pattern, aritmetica, e così via.

Tempo di costruzione approssimativo: 6 SBU
Spazio necessario su disco: 325 MB

5.6.1. Installazione di Glibc

La documentazione di Glibc raccomanda di costruire Glibc al di fuori della directory dei sorgenti, in una directory di costruzione dedicata:

mkdir -v ../glibc-build
cd ../glibc-build

Preparare Glibc per la compilazione:

../glibc-2.3.6/configure --prefix=/tools \
    --disable-profile --enable-add-ons \
    --enable-kernel=2.6.0 --with-binutils=/tools/bin \
    --without-gd --with-headers=/tools/include \
    --without-selinux

Significato delle opzioni di configurazione:

--disable-profile

Questa costruisce le librerie senza informazioni di profilo. Omettere questa opzione se è necessaria la profilazione nei tool temporanei.

--enable-add-ons

Questa dice a Glibc di usare l'add-on NPTL come propria libreria di threading.

--enable-kernel=2.6.0

Questa dice a Glibc di compilare la libreria con il supporto per i kernel Linux 2.6.x.

--with-binutils=/tools/bin

Sebbene non richiesto, questa opzione assicura che non ci siano errori riguardo quali programmi di Binutils usare durante la costruzione di Glibc.

--without-gd

Questa impedisce la costruzione del programma memusagestat, che si ostina a linkarsi verso le librerie dell'host (libgd, libpng, libz, ecc.).

--with-headers=/tools/include

Questo dice a Glibc di compilarsi verso gli header recentemente installati nella directory tools, così che sappia esattamente quali sono le caratteristiche del kernel e possa ottimizzare se stessa di conseguenza.

--without-selinux

Quando si costruisce da host che includono funzionalità SELinux (es. Fedora Core 3) Glibc verrà costruito con supporto per SELinux. Poiché gli strumenti dell'ambiente LFS non contengono supporto per SELinux una Glibc compilata con tale supporto non riuscirà ad operare correttamente.

Durante questo stage può apparire il seguente avviso:

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

Il programma mancante o incompatibile msgfmt è generalmente innocuo, ma talvolta può causare problemi quando si esegue la suite di test. Questo programma msgfmt è parte del pacchetto Gettext che la distribuzione dovrebbe fornire. Se msgfmt è presente ma giudicato incompatibile, aggiornare il pacchetto Gettext del sistema o continuare senza di esso e vedere se la suite di test funziona ugualmente senza problemi.

Compilare il pacchetto:

make

La compilazione è ora completa. Come citato in precedenza, eseguire le suite di test per i tool temporanei installati in questo capitolo non è obbligatorio. Per eseguire la suite di test di Glibc (se lo si desidera), digitare il seguente comando:

make check

Per una discussione dei fallimenti dei test che sono di particolare importanza vedere Sezione 6.9, «Glibc-2.3.6.»

In questo capitolo, alcuni test possono venire condizionati negativamente da tool esistenti o problemi di ambiente del sistema in uso. I fallimenti dei test di Glibc in questo capitolo sono tipicamente non preoccupanti. La Glibc installata nel Capitolo 6 è quella che finirà per essere utilizzata, ed è questa che avrà bisogno di superare la maggior parte dei test (anche nel Capitolo 6, alcuni fallimenti avverranno comunque, ad esempio, con i math test).

Quando si incontrano fallimenti, prenderne nota, quindi continuare ridando il comando make check. La suite di test dovrebbe riprendere da dove si era interrotta e continuare. Questa sequenza stop-start può essere aggirata digitando un comando make -k check. Se si usa questa opzione, accertarsi di fare il log dell'output così da poter esaminare più tardi i fallimenti nel file log.

La fase di installazione di Glibc emetterà un avviso innocuo al termine riguardante l'assenza di /tools/etc/ld.so.conf. Evitare questo avviso con:

mkdir -v /tools/etc
touch /tools/etc/ld.so.conf

Installare il pacchetto:

make install

Diversi paesi e culture hanno diverse convenzioni su come comunicare. Queste convenzioni spaziano dal formato per rappresentare date e ore a questioni più complesse, come la lingua parlata. L'«internazionalizzazione» dei programmi GNU funziona con le localizzazioni.

[Nota]

Nota

Se non sono state eseguite le suite di test in questo capitolo (come da raccomandazione), non c'è bisogno di installare ora le localizzazioni. Le localizzazioni appropriate verranno installate nel prossimo capitolo. Per installare comunque le localizzazioni di Glibc, usare le istruzioni da Sezione 6.9, «Glibc-2.3.6.»

Dettagli su questo pacchetto si trovano nella Sezione 6.9.4, «Contenuti di Glibc.»