Stații de lucru online OnWorks Linux și Windows

logo

Găzduire online gratuită pentru stații de lucru

<Înapoi | Cuprins | Următor>

5.7.1. Instalarea Glibc

Documentația Glibc recomandă construirea Glibc într-un director de compilare dedicat:


mkdir -v build cd build

mkdir -v build cd build

Apoi, pregătiți Glibc pentru compilare:


../configurează \

--prefix=/instrumente \

--host=$LFS_TGT \

--build=$(../scripts/config.guess) \

--enable-kernel=3.2 \

--with-headers=/tools/include

../configurează \

--prefix=/instrumente \

--host=$LFS_TGT \

--build=$(../scripts/config.guess) \

--enable-kernel=3.2 \

--with-headers=/tools/include

Semnificația opțiunilor de configurare:

--host=$LFS_TGT, --build=$(../scripts/config.guess)

Efectul combinat al acestor comutatoare este acela că sistemul de compilare al lui Glibc se configurează singur pentru a compila încrucișat, folosind linkerul și compilatorul încrucișat în /instrumente.

--enable-kernel=3.2

Acest lucru îi spune lui Glibc să compileze biblioteca cu suport pentru nucleele Linux 3.2 și ulterioare. Soluțiile pentru nucleele mai vechi nu sunt activate.

--with-headers=/tools/include

Acest lucru îi spune lui Glibc să se compileze pe baza antetelor instalate recent în directorul de instrumente, astfel încât să știe exact ce caracteristici are nucleul și să se poată optimiza în consecință.

În această etapă poate apărea următorul avertisment:


configura: AVERTISMENT:

*** Aceste programe auxiliare lipsesc sau

*** versiuni incompatibile: msgfmt

*** unele funcții vor fi dezactivate.

*** Verificați fișierul INSTALARE pentru versiunile necesare.

configura: AVERTISMENT:

*** Aceste programe auxiliare lipsesc sau

*** versiuni incompatibile: msgfmt

*** unele funcții vor fi dezactivate.

*** Verificați fișierul INSTALARE pentru versiunile necesare.


imagine

Cei dispăruți sau incompatibili msgfmt programul este în general inofensiv. Acest msgfmt programul face parte din pachetul Gettext pe care ar trebui să-l furnizeze distribuția gazdă.


notițe

Au existat rapoarte că acest pachet ar putea eșua atunci când se construiește ca „fabricare paralelă”. Dacă se întâmplă acest lucru, rulați din nou comanda make cu opțiunea „-j1”.

notițe

Au existat rapoarte că acest pachet ar putea eșua atunci când se construiește ca „fabricare paralelă”. Dacă se întâmplă acest lucru, rulați din nou comanda make cu opțiunea „-j1”.


Compilați pachetul:


face

face

Instalează pachetul:


make install

make install


imagine

Prudență

În acest moment, este imperativ să opriți și să vă asigurați că funcțiile de bază (compilarea și legarea) ale noului lanț de instrumente funcționează conform așteptărilor. Pentru a efectua o verificare a sensului, rulați următoarele comenzi:


echo 'int main(){}' > dummy.c

$LFS_TGT-gcc dummy.c

readelf -l a.out | grep ': /tools'

echo 'int main(){}' > dummy.c

$LFS_TGT-gcc dummy.c

readelf -l a.out | grep ': /tools'

Dacă totul funcționează corect, nu ar trebui să existe erori, iar rezultatul ultimei comenzi va fi de forma:


[Se solicită interpretul de program: /tools/lib64/ld-linux-x86-64.so.2]

[Se solicită interpretul de program: /tools/lib64/ld-linux-x86-64.so.2]

Rețineți că pentru mașinile pe 32 de biți, numele interpretului va fi /tools/lib/ld-linux.so.2.

Dacă rezultatul nu este afișat ca mai sus sau nu a existat deloc ieșire, atunci ceva nu este în regulă. Investigați și reveniți pe pașii pentru a afla unde este problema și remediați-o. Această problemă trebuie rezolvată înainte de a continua.

Odată ce totul este bine, curățați fișierele de testare:


rm -v dummy.c a.out

rm -v dummy.c a.out


notițe

Construirea Binutils în secțiunea următoare va servi ca o verificare suplimentară dacă lanțul de instrumente a fost construit corect. Dacă Binutils nu reușește să se construiască, este un indiciu că ceva a mers prost cu instalările anterioare Binutils, GCC sau Glibc.

notițe

Construirea Binutils în secțiunea următoare va servi ca o verificare suplimentară dacă lanțul de instrumente a fost construit corect. Dacă Binutils nu reușește să se construiască, este un indiciu că ceva a mers prost cu instalările anterioare Binutils, GCC sau Glibc.

imagine

Top OS Cloud Computing la OnWorks: