Installieren von Binutils-2.14

Geschätzte Kompilierzeit:              1.4 SBU
Ungefähr benötigter Festplattenplatz:  167 MB

Inhalt von Binutils

Binutils ist eine Sammlung von Software-Entwicklungswerkzeugen, zum Beispiel Linker, Assembler und weitere Programme für die Arbeit mit Objektdateien und Archiven.

Installierte Programme: addr2line, ar, as, c++filt, gprof, ld, nm, objcopy, objdump, ranlib, readelf, size, strings und strip

Installierte Bibliotheken: libiberty.a, libbfd.[a,so] und libopcodes.[a,so]

Binutils Installationsabhängigkeiten

Binutils ist abhängig von: Bash, Coreutils, Diffutils, GCC, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.

Installation von Binutils

Jetzt ist ein guter Zeitpunkt um zu überprüfen das pseudo Terminals (PTYs) in ihrer chroot Umgebung funktionieren. Mit dem folgenden schnellen Test überprüfen wir ob alles korrekt konfiguriert ist:

expect -c "spawn ls"

Wenn sie die Nachricht:

The system has no more ptys.  Ask your system administrator to create more.

erhalten, sind PTYs nicht korrekt konfiguriert. In dem Fall macht es keinen Sinn, die Tests für Binutils und GCC laufen zu lassen solange sie das Problem nicht behoben haben. Schlagen sie bitte im Abschnitt namens Einhängen des proc- und devpts Dateisystems und im Abschnitt namens Erstellen der Gerätedateien (Makedev-1.7) nach und führen sie die empfohlenen Schritte durch um das Problem zu beseitigen.

Anmerkung: Die Binutils Test-suite in diesem Abschnitt wird als kritisch eingestuft. Wir raten ihnen, die Tests unter keinen Umständen zu überspringen.

Es ist bekannt, das dieses Paket nicht gut funktioniert wenn sie die standard Optimierungen (inklusive der -march und -mcpu Optionen) geändert haben. Wenn sie Umgebungsvariablen wie CFLAGS oder CXXFLAGS gesetzt haben, empfehlen wir, diese zum installieren von Binutils zurückzusetzen.

Die Binutils Dokumentation empfiehlt, Binutils nicht im Quell-, sondern in einem dedizierten Kompilierverzeichnis zu kompilieren:

mkdir ../binutils-build
cd ../binutils-build

Bereiten sie Binutils jetzt zum kompilieren vor:

../binutils-2.14/configure \
    --prefix=/usr --enable-shared

Kompilieren sie das Paket:

make tooldir=/usr

Normalerweise ist tooldir (das Verzeichnis wo die ausführbaren Dateien hineininstalliert werden) auf $(exec_prefix)/$(target_alias) gesetzt, welches dann zum Beispiel zu /usr/i686-pc-linux-gnu erweitert wird. Da wir aber nur für unser eigenes System installieren brauchen wir dieses spezielle Verzeichnis in /usr nicht. Diese Konfiguration würde benutzt werden, wenn das System zum Querkompilieren genutzt würde (zum Beispiel um auf einer Intel Maschine Code zu generieren der auf einem PowerPC ausgeführt werden kann).

Testen sie das Ergebnis:

make check

Die Anmerkungen zur Test-suite aus dem Abschnitt namens Installieren von Binutils-2.14 - Durchlauf 2 in Kapitel 5 sind hier immer noch gültig. Schlagen sie nach falls sie irgendwelche Bedenken oder Zweifel haben.

Installieren sie das Paket:

make tooldir=/usr install

Installieren sie die libiberty Header Datei die von einigen Paketen benötigt wird:

cp ../binutils-2.14/include/libiberty.h /usr/include