Workstation online OnWorks Linux e Windows

Logo

Hosting online gratuito per workstation

<Precedenti | Contenuti | Succ.>

5.4.1. Installazione di Cross Binutils


Note:

Torna indietro e rileggi le note nella sezione precedente. Comprendere le note etichettate come importanti ti farà risparmiare molti problemi in seguito.

Note:

Torna indietro e rileggi le note nella sezione precedente. Comprendere le note etichettate come importanti ti farà risparmiare molti problemi in seguito.

È importante che Binutils sia il primo pacchetto compilato perché sia ​​Glibc che GCC eseguono vari test sul linker e sull'assemblatore disponibili per determinare quali delle proprie funzionalità abilitare.

Immagine

La documentazione di Binutils consiglia di creare Binutils in una directory di build dedicata:


mkdir -v build build cd

mkdir -v build build cd


Note:

Affinché i valori SBU elencati nel resto del libro siano utili, misurare il tempo necessario per creare questo pacchetto dalla configurazione, fino alla prima installazione inclusa. Per ottenere ciò facilmente, racchiudere i comandi in a tempo comando in questo modo: time { ./configure ... && ... && make install; }.

Note:

Affinché i valori SBU elencati nel resto del libro siano utili, misurare il tempo necessario per creare questo pacchetto dalla configurazione, fino alla prima installazione inclusa. Per ottenere ciò facilmente, racchiudere i comandi in a tempo comando in questo modo: time { ./configure ... && ... && make install; }.


Note:

I valori approssimativi della build SBU e lo spazio su disco richiesto nel Capitolo 5 non includono i dati della suite di test.

Note:

I valori approssimativi della build SBU e lo spazio su disco richiesto nel Capitolo 5 non includono i dati della suite di test.


Immagine

Ora prepara Binutils per la compilazione:


../configure --prefix=/tools \

--with-sysroot=$LFS \

--with-lib-path=/tools/lib \

--target=$LFS_TGT \

--disabilita-nls \

--disable-error

../configure --prefix=/tools \

--with-sysroot=$LFS \

--with-lib-path=/tools/lib \

--target=$LFS_TGT \

--disabilita-nls \

--disable-error


Il significato delle opzioni di configurazione:


--prefix=/strumenti

Questo dice allo script di configurazione di prepararsi per installare i programmi Binutils nel /utensili directory.

--with-sysroot=$LFS

Per la compilazione incrociata, questo indica al sistema di compilazione di cercare in $LFS le librerie di sistema di destinazione secondo necessità.

--with-lib-path=/tools/lib

Questo specifica quale percorso della libreria deve essere configurato per l'utilizzo del linker.


--target=$LFS_TGT

Poiché la descrizione della macchina nel LFS_TGT variabile è leggermente diverso dal valore restituito da config.indovina script, questo interruttore dirà al configure script per regolare il sistema di compilazione di Binutil per la creazione di un cross linker.

--disable-nls

Ciò disabilita l'internazionalizzazione poiché i18n non è necessario per gli strumenti temporanei.

--disable-error

Ciò impedisce l'arresto della compilazione nel caso in cui siano presenti avvisi dal compilatore dell'host.

Continua con la compilazione del pacchetto:


make

make

La compilazione è ora completa. Normalmente ora eseguiremmo la suite di test, ma in questa fase iniziale il framework della suite di test (Tcl, Expect e DejaGNU) non è ancora a posto. I vantaggi dell'esecuzione dei test a questo punto sono minimi poiché i programmi di questo primo passaggio verranno presto sostituiti da quelli del secondo.

Se si utilizza x86_64, creare un collegamento simbolico per garantire l'integrità della toolchain:


caso $(uname -m) in

x86_64) mkdir -v /tools/lib && ln -sv lib /tools/lib64 ;; esac

caso $(uname -m) in

x86_64) mkdir -v /tools/lib && ln -sv lib /tools/lib64 ;; esac

Installa il pacchetto:


make install

make install

Il miglior sistema operativo cloud computing su OnWorks: