<Precedenti | Contenuti | Succ.>
6.16.1. Installazione di Binutils
Verificare che i PTY funzionino correttamente all'interno dell'ambiente chroot eseguendo un semplice test:
aspettati -c "spawn ls"
aspettati -c "spawn ls"
Questo comando dovrebbe restituire quanto segue:
generare ls
generare ls
Se, invece, l'output include il messaggio di seguito, l'ambiente non è impostato per il corretto funzionamento del PTY. Questo problema deve essere risolto prima di eseguire le suite di test per Binutils e GCC:
Il sistema non ha più ptys.
Chiedi al tuo amministratore di sistema di crearne altri.
Il sistema non ha più ptys.
Chiedi al tuo amministratore di sistema di crearne altri.
Ora rimuovi un test che impedisce l'esecuzione dei test fino al completamento:
sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in
sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in
La documentazione di Binutils consiglia di creare Binutils in una directory di build dedicata:
mkdir -v build build cd
mkdir -v build build cd
Prepara Binutils per la compilazione:
../configure --prefix=/usr \
--abilita-oro \
--enable-ld=predefinito \
--enable-plugins \
--enable-condiviso \
--disable-errore \
--enable-bfd-64-bit \
--with-system-zlib
../configure --prefix=/usr \
--abilita-oro \
--enable-ld=predefinito \
--enable-plugins \
--enable-condiviso \
--disable-errore \
--enable-bfd-64-bit \
--with-system-zlib
Il significato dei parametri di configurazione:
--abilita-oro
Costruisci il linker gold e installalo come ld.gold (insieme al linker predefinito).
--enable-ld=predefinito
Costruisci il linker bdf originale e installalo sia come ld (il linker predefinito) che come ld.bfd.
--abilita-plugin
Abilita il supporto del plugin per il linker.
--enable-64-bit-bfd
Abilita il supporto a 64 bit (su host con parole di dimensioni ridotte). Potrebbe non essere necessario sui sistemi a 64 bit, ma non danneggia.
--with-system-zlib
Usa la libreria zlib installata invece di creare la versione inclusa.
Compila il pacchetto:
crea tooldir=/usr
crea tooldir=/usr
Il significato del parametro make:
tooldir=/usr
Normalmente, la tooldir (la directory in cui verranno posizionati gli eseguibili alla fine) è impostata su $(prefisso_exec)/$(alias_destinazione). Ad esempio, le macchine x86_64 lo espandono a /usr/x86_64-linux-sconosciuto-gnu. Poiché questo è un sistema personalizzato, questa directory specifica della destinazione in / usr non è richiesto.
$(exec_prefix)/$(target_alias) verrebbe utilizzato se il sistema fosse utilizzato per la compilazione incrociata (ad esempio, la compilazione di un pacchetto su una macchina Intel che genera codice che può essere eseguito su macchine PowerPC).
Consigli
La suite di test per Binutils in questa sezione è considerata critica. Non saltarlo in nessun caso.
Consigli
La suite di test per Binutils in questa sezione è considerata critica. Non saltarlo in nessun caso.
Testa i risultati:
fai il controllo -k
fai il controllo -k
Il test di offset relativo al PC e il test debug_msg.sh potrebbero non riuscire nell'ambiente LFS. Installa il pacchetto:
make tooldir=/usr installa
make tooldir=/usr installa