Linux From Scratch: Version 5.0 | ||
---|---|---|
Zurück | Kapitel 6. Installieren der grundlegenden System Software | Weiter |
Geschätzte Kompilierzeit: 11.7 SBU Ungefähr benötigter Festplattenplatz: 294 MB |
Das Paket GCC enthält die Gnu Compiler Sammlung, inklusive dem C und C++ Compiler.
Installierte Programme: c++, cc (Link auf gcc), cc1, cc1plus, collect2, cpp, g++, gcc, gccbug, und gcov
Installierte Bibliotheken: libgcc.a, libgcc_eh.a, libgcc_s.so, libstdc++.[a,so] und libsupc++.a
GCC ist abhängig von: Bash, Binutils, Coreutils, Diffutils, Findutils, Gawk, Gettext, Glibc, Grep, Make, Perl, Sed, Texinfo.
Anmerkung: Die Test-suite für GCC in diesem Abschnitt wird als kritisch betrachtet. Unser Rat ist, sie unter keinen Umständen zu überspringen.
Es ist bekannt, das dieses Paket nicht sauber funktioniert wenn die standard Optimierungseinstellungen (inklusive der -march und -mcpu Optionen) verändert wurden. Deshalb sollten sie event. gesetzte Umgebungsvariablen die die Standard Optimierung überschreiben - zum Beispiel CFLAGS und CXXFLAGS - für den Kompiliervorgang von GCC zurücksetzen oder entsprechend abändern.
Dieses mal werden wir sowohl den C als auch den C++ Compiler erzeugen, sie müssen also die GCC-core und GCC-g++ Tar-Archive entpacken -- sie entpacken sich automatisch in das selbe Verzeichnis. Genauso sollten sie auch das GCC-testsuite Archiv entpacken. Das vollständige GCC Paket enthält noch mehr Compiler. Eine Anleitung wie sie diese bauen können finden sie unter http://www.linuxfromscratch.org/blfs/view/stable/general/gcc.html.
patch -Np1 -i ../gcc-3.3.1-no_fixincludes-2.patch patch -Np1 -i ../gcc-3.3.1-suppress-libiberty.patch |
Der zweite Patch verhindert die Installation von libiberty von GCC, weil wir stattdessen die Version von Binutils verwenden. Geben sie acht das sie hier nicht den GCC specs Patch aus Kapitel 5 anwenden.
Die GCC Dokumentation empfiehlt, GCC nicht im Quellenverzeichnis sondern in einem dedizierten Kompilierverzeichnis zu kompilieren:
mkdir ../gcc-build cd ../gcc-build |
Bereiten sie nun GCC zum kompilieren vor:
../gcc-3.3.1/configure --prefix=/usr \ --enable-shared --enable-threads=posix \ --enable-__cxa_atexit --enable-clocale=gnu \ --enable-languages=c,c++ |
Kompilieren sie das Paket:
make |
Testen sie das Ergebnis, aber halten sie bei Fehlern nicht an (sie erinnern sich an die paar bekannten):
make -k check |
Die Test-suite Anmerkungen aus dem Abschnitt namens Installieren von GCC-3.3.1 - Durchlauf 2 in Kapitel 5 gelten auch hier noch. Schlagen sie dort nach falls sie irgendwelche Zweifel haben.
Und installieren sie das Paket:
make install |
Einige Pakete erwarten das der C PreProzessor im /lib Verzeichnis installiert ist. Um diesen Paketen Rechnung zu tragen erzeugen sie diesen symbolischen Link:
ln -s ../usr/bin/cpp /lib |
Viele Pakete benutzen den Namen cc um den C Compiler aufzurufen. Um diese Pakete zufriedenzustellen erzeugen wir einen weiteren symbolischen Link:
ln -s gcc /usr/bin/cc |
Anmerkung: An dieser Stelle ist es wichtig, den "Gesundheitscheck" den wir schon früher durchgeführt haben, erneut laufen zu lassen. Schlagen sie im Abschnitt namens Erneutes anpassen der toolchain nach und wiederholen sie den Test. Wenn das Ergebnis negativ ist haben sie möglichweise versehentlich den GCC Specs Patch aus Kapitel 5 angewendet.
Zurück | Zum Anfang | Weiter |
Installieren von Binutils-2.14 | Nach oben | Installieren von Coreutils-5.0 |