OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

6.16.1. Installation von Binutils

Überprüfen Sie, ob die PTYs in der Chroot-Umgebung ordnungsgemäß funktionieren, indem Sie einen einfachen Test durchführen:


erwarten Sie -c "spawn ls"

erwarten Sie -c "spawn ls"


Dieser Befehl sollte Folgendes ausgeben:


spawn ls

spawn ls


Wenn die Ausgabe stattdessen die folgende Meldung enthält, ist die Umgebung nicht für den ordnungsgemäßen PTY-Betrieb eingerichtet. Dieses Problem muss behoben werden, bevor die Testsuiten für Binutils und GCC ausgeführt werden:


Das System hat keine Ptys mehr.

Bitten Sie Ihren Systemadministrator, weitere zu erstellen.

Das System hat keine Ptys mehr.

Bitten Sie Ihren Systemadministrator, weitere zu erstellen.


Entfernen Sie nun einen Test, der verhindert, dass die Tests vollständig ausgeführt werden:


sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in

sed -i '/@\tincremental_copy/d' gold/testsuite/Makefile.in


In der Binutils-Dokumentation wird empfohlen, Binutils in einem dedizierten Build-Verzeichnis zu erstellen:


mkdir -v build cd build

mkdir -v build cd build


Bereiten Sie Binutils für die Kompilierung vor:


../configure --prefix=/usr \

--enable-gold \

--enable-ld=default \

--enable-plugins \

--enable-shared \

--disable-werror \

--enable-64-bit-bfd \

--with-system-zlib

../configure --prefix=/usr \

--enable-gold \

--enable-ld=default \

--enable-plugins \

--enable-shared \

--disable-werror \

--enable-64-bit-bfd \

--with-system-zlib


Die Bedeutung der Konfigurationsparameter:


--enable-gold

Erstellen Sie den Gold-Linker und installieren Sie ihn als ld.gold (neben dem Standard-Linker).

--enable-ld=default

Erstellen Sie den ursprünglichen BDF-Linker und installieren Sie ihn sowohl als ld (der Standardlinker) als auch als ld.bfd.

--enable-plugins

Aktiviert die Plugin-Unterstützung für den Linker.


--enable-64-bit-bfd

Aktiviert 64-Bit-Unterstützung (auf Hosts mit schmaleren Wortgrößen). Wird auf 64-Bit-Systemen möglicherweise nicht benötigt, schadet aber nicht.

--with-system-zlib

Verwenden Sie die installierte zlib-Bibliothek, anstatt die mitgelieferte Version zu erstellen.

Stellen Sie das Paket zusammen:


make tooldir=/usr

make tooldir=/usr

Die Bedeutung des Parameters make:


tooldir=/usr

Normalerweise ist das Tooldir (das Verzeichnis, in dem sich die ausführbaren Dateien letztendlich befinden) auf eingestellt $(exec_-Präfix)/$(target_alias). Beispielsweise würden x86_64-Maschinen dies auf erweitern /usr/x86_64-unknown-linux-gnu. Da es sich um ein benutzerdefiniertes System handelt, ist dieses zielspezifische Verzeichnis in / usr ist nicht nötig.

Image

$(exec_prefix)/$(target_alias) würde verwendet werden, wenn das System zum Cross-Compilieren verwendet würde (z. B. Kompilieren eines Pakets auf einem Intel-Computer, der Code generiert, der auf PowerPC-Computern ausgeführt werden kann).


Wichtig

Die Testsuite für Binutils in diesem Abschnitt wird als kritisch angesehen. Überspringen Sie es auf keinen Fall.

Wichtig

Die Testsuite für Binutils in diesem Abschnitt wird als kritisch angesehen. Überspringen Sie es auf keinen Fall.

Testen Sie die Ergebnisse:


Machen Sie -k Check

Machen Sie -k Check


Der PC-relative Offset-Test und der debug_msg.sh-Test schlagen möglicherweise in der LFS-Umgebung fehl. Installieren Sie das Paket:


make tooldir=/usr install

make tooldir=/usr install


Top OS Cloud Computing bei OnWorks: