5.4. GCC-4.0.3 - Durchlauf 1

Das Paket GCC enthält die GNU-Compiler-Sammlung. Darin sind die C- und C++-Compiler enthalten.

Geschätzte Kompilierzeit: 8.2 SBU
Ungefähr benötigter Festplattenplatz: 514 MB

5.4.1. Installation von GCC

Die Dokumentation zu GCC empfiehlt, GCC außerhalb des Quellordners zu kompilieren:

mkdir -v ../gcc-build
cd ../gcc-build

Bereiten Sie GCC zum Kompilieren vor:

../gcc-4.0.3/configure --prefix=/tools \
    --with-local-prefix=/tools --disable-nls --enable-shared \
    --enable-languages=c

Die Bedeutung der configure-Parameter:

--with-local-prefix=/tools

Der Sinn dieses Parameters ist es, /usr/local/include aus dem Suchpfad von gcc zu entfernen. Dies ist nicht absolut zwingend erforderlich, jedoch sollen mögliche Einflüsse aus dem Host-System vermieden werden, daher ist dieser Parameter hier durchaus empfehlenswert.

--enable-shared

Dieser Parameter ermöglicht das Kompilieren von libgcc_s.so.1 und libgcc_eh.a. Die alleinige Existenz von libgcc_eh.a stellt sicher, dass das configure-Skript für Glibc (das nächste zu kompilierende Paket) korrekte Ergebnisse erzielt.

--enable-languages=c

Dieser Parameter stellt sicher, dass nur der C-Compiler erzeugt wird.

Fahren Sie mit dem Kompilieren des Pakets fort:

make bootstrap

Die Bedeutung des make-Parameters:

bootstrap

Dieses make-Target kompiliert GCC nicht einfach nur, sondern kompiliert gleich mehrmals. GCC benutzt die im ersten Durchlauf erzeugten Programme, um sich damit im zweiten Durchlauf selbst zu kompilieren. Darauf folgt der dritte Kompiliervorgang. Abschließend werden die Ergebnisse des zweiten und dritten Kompiliervorgangs verglichen, um sicherzustellen, dass GCC sich selbst problemlos kompilieren konnte. Das bedeutet normalerweise, dass alles korrekt verlaufen ist.

Der Kompiliervorgang ist nun abgeschlossen. Normalerweise würden Sie nun die Testsuite durchlaufen lassen, aber in diesem frühen Stadium ist die Testsuite-Umgebung (Tcl, Expect und DejaGNU) noch nicht verfügbar. Außerdem macht es wenig Sinn, die Tests nun laufen zu lassen, weil die Programme aus dem ersten Durchlauf sehr bald durch die aus dem zweiten Durchlauf ersetzt werden.

Installieren Sie das Paket:

make install

Zum Abschluss erstellen Sie noch einen symbolischen Link. Viele Programme rufen das Programm cc anstelle von gcc auf. Dadurch werden Programme generisch gehalten und sind auf verschiedenen Unix-Systemen lauffähig. Denn nicht jedes System hat den GNU C-Compiler installiert. Der Aufruf von cc lässt dem Administrator die Wahl, welchen C-Compiler er installieren möchte, solange ein symbolischer Link auf den echten Compiler verweist:

ln -vs gcc /tools/bin/cc

Details zu diesem Paket finden Sie in Abschnitt 6.12.2, „Inhalt von GCC“