OnWorks Linux- und Windows-Online-WorkStations

Logo

Kostenloses Online-Hosting für WorkStations

<Zurück | Inhalte | Weiter>

5.7.1. Installation von Glibc

Die Glibc-Dokumentation empfiehlt, Glibc in einem dedizierten Build-Verzeichnis zu erstellen:


mkdir -v build cd build

mkdir -v build cd build

Als nächstes bereiten Sie Glibc für die Kompilierung vor:


../konfigurieren \

--prefix=/tools \

--host=$LFS_TGT \

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

--enable-kernel=3.2 \

--with-headers=/tools/include

../konfigurieren \

--prefix=/tools \

--host=$LFS_TGT \

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

--enable-kernel=3.2 \

--with-headers=/tools/include

Die Bedeutung der Konfigurationsoptionen:

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

Die kombinierte Wirkung dieser Schalter besteht darin, dass sich das Build-System von Glibc selbst für die Cross-Kompilierung konfiguriert, indem es den Cross-Linker und den Cross-Compiler in verwendet /Werkzeuge.

--enable-kernel=3.2

Dadurch wird Glibc angewiesen, die Bibliothek mit Unterstützung für Linux-Kernel 3.2 und höher zu kompilieren. Problemumgehungen für ältere Kernel sind nicht aktiviert.

--with-headers=/tools/include

Dadurch wird Glibc angewiesen, sich anhand der kürzlich im Tools-Verzeichnis installierten Header selbst zu kompilieren, damit es genau weiß, über welche Funktionen der Kernel verfügt, und sich entsprechend optimieren kann.

Während dieser Phase wird möglicherweise die folgende Warnung angezeigt:


konfigurieren: WARNUNG:

*** Diese Hilfsprogramme fehlen bzw

*** inkompatible Versionen: msgfmt

*** Einige Funktionen werden deaktiviert.

*** Überprüfen Sie die INSTALL-Datei auf erforderliche Versionen.

konfigurieren: WARNUNG:

*** Diese Hilfsprogramme fehlen bzw

*** inkompatible Versionen: msgfmt

*** Einige Funktionen werden deaktiviert.

*** Überprüfen Sie die INSTALL-Datei auf erforderliche Versionen.


Image

Das Fehlende oder das Inkompatible msgfmt Das Programm ist im Allgemeinen harmlos. Das msgfmt Das Programm ist Teil des Gettext-Pakets, das die Host-Distribution bereitstellen sollte.


Note

Es gibt Berichte, dass dieses Paket möglicherweise fehlschlägt, wenn es als „Parallel-Make“ erstellt wird. Wenn dies auftritt, führen Sie den Befehl „make“ mit der Option „-j1“ erneut aus.

Note

Es gibt Berichte, dass dieses Paket möglicherweise fehlschlägt, wenn es als „Parallel-Make“ erstellt wird. Wenn dies auftritt, führen Sie den Befehl „make“ mit der Option „-j1“ erneut aus.


Stellen Sie das Paket zusammen:


um

um

Installieren Sie das Paket:


make install

make install


Image

Vorsicht

An dieser Stelle ist es zwingend erforderlich, zu stoppen und sicherzustellen, dass die Grundfunktionen (Kompilieren und Verknüpfen) der neuen Toolchain wie erwartet funktionieren. Führen Sie die folgenden Befehle aus, um eine Integritätsprüfung durchzuführen:


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'

Wenn alles richtig funktioniert, sollten keine Fehler auftreten und die Ausgabe des letzten Befehls hat die Form:


[Programminterpreter anfordern: /tools/lib64/ld-linux-x86-64.so.2]

[Programminterpreter anfordern: /tools/lib64/ld-linux-x86-64.so.2]

Beachten Sie, dass der Interpretername für 32-Bit-Maschinen lautet /tools/lib/ld-linux.so.2.

Wenn die Ausgabe nicht wie oben angezeigt wird oder überhaupt keine Ausgabe erfolgt ist, stimmt etwas nicht. Untersuchen Sie die Schritte und verfolgen Sie sie erneut, um herauszufinden, wo das Problem liegt, und beheben Sie es. Dieses Problem muss behoben werden, bevor Sie fortfahren können.

Wenn alles in Ordnung ist, bereinigen Sie die Testdateien:


rm -v dummy.c a.out

rm -v dummy.c a.out


Note

Das Erstellen von Binutils im übernächsten Abschnitt dient als zusätzliche Überprüfung, ob die Toolchain ordnungsgemäß erstellt wurde. Wenn Binutils nicht erstellt werden kann, ist das ein Hinweis darauf, dass bei den vorherigen Binutils-, GCC- oder Glibc-Installationen ein Fehler aufgetreten ist.

Note

Das Erstellen von Binutils im übernächsten Abschnitt dient als zusätzliche Überprüfung, ob die Toolchain ordnungsgemäß erstellt wurde. Wenn Binutils nicht erstellt werden kann, ist das ein Hinweis darauf, dass bei den vorherigen Binutils-, GCC- oder Glibc-Installationen ein Fehler aufgetreten ist.

Image

Top OS Cloud Computing bei OnWorks: