Gcc updaten

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche
Dieser Artikel ist Teil der HOWTO Sammlung.
Installationsmethoden LiveCDs Kernel & Hardware Laptops & Notebooks Portage System Netzwerke & Services X Software Anderes alphabetischer HOWTO Index


Inhaltsverzeichnis

[Bearbeiten] Inhalt

Dieses Howto beschreibt wie der GCC korrekt und fehlerlos geupdatet werden sollte. Dieses Howto entstand bei einem Update von 3.3.4 auf 3.4.3, sollte jedoch auch bei anderen Versionen einwandfrei funktionieren.

[Bearbeiten] Vorbereitung

Die aktuelle Version von GCC ist mit einem Keyword geschützt, dies muss gesetzt werden:

echo sys-devel/gcc ~x86 >> /etc/portage/package.keywords
echo sys-libs/libstdc++-v3 ~x86 >> /etc/portage/package.keywords

[Bearbeiten] Kompilierung

Nun wird der neue GCC emerged, hierbei werden auch noch 2 Abhängigkeiten (re-)emerged:

emerge gcc

[Bearbeiten] System einstellen

Sobald der Compiler emerged ist, muss noch das richtige Profil ausgesucht werden.

gcc-config -l

Hiermit erhält man eine Liste der aktuell möglichen Profile. Der Stern zeigt auf das aktuell verwendete Profil. Wichtig ist die Nummer, die vor dem Eintrag mit der neuen Version steht (für gewöhnlich sollte der Compiler ohne hardened im Namen verwendet werden). Dies aktiviert man nun mit:

gcc-config 2
source /etc/profile

Wobei die 2 durch die gewünschte Profilnummer zu ersetzen ist.

[Bearbeiten] /etc/make.conf

Dieser Schritt ist optional, sollte jedoch falls vorgesehen hier gemacht werden.

Der neue Compiler bringt ein paar neue Einstellungsmöglichkeiten mit. Beispielsweise kann der GCC 3.4.3 die Anweisung '-march=pentium-m' verstehen. Tragt diese Veränderungen falls gewünscht in eure /etc/make.conf ein.

[Bearbeiten] Rekompilieren des Systems

Dieser Schritt ist nicht zwingend notwendig, wird allerdings empfohlen, da so die System-Librarys mit dem neusten GCC übersetzt werden. Und schließlich will man den Vorteil an Performance, die der neue GCC mit sich bringt ja auch überall nutzen.

Zuerst sollten die fürs Kompilieren zuständigen Pakete erneuert werden:

emerge gcc glibc binutils

Danach das System: (Vorsicht!, hierbei können u. U. Fehler, die manuell gelöst werden müssen, auftreten, bzw. danach habt ihr praktisch ein Stage 1 Gentoo :-) )

emerge system -e

Und danach nochmal alle world-packages:

emerge world -e

Hinweis: Der Vorgang um alles neu zu kompilieren dauert seehr lange (~1-2 Tage), also sorgt dafür, dass genügend Speicher frei ist (/var/tmp/portage, /usr/portage/distfiles), und startet das Ganze automatisiert:

emerge gcc glibc binutils && emerge system -e && emerge world -e

TIPP: Ein Blick in Emerge beschleunigen kann die Kompilierzeit u. U. drastisch senken.

Hinweis: Falls das Emergen mit der Fehlermeldung "compiler cannot produce executables" abbricht, hilft evtl. ein

binutils-config 1

um das Standard-binutils-Profil nochmal zu wählen. Danach

gcc-config -l

um nochmal die Liste mit den verfügbaren Compilern zu sehen und nochmals den passenden mit

gcc-config [Nr. des passenden Compilers]

zu aktivieren. Nun noch die Umgebung mit den neuen Werten füttern und dann fortsetzen.

source /etc/profile
emerge --resume

Glückwunsch, falls alles funktioniert hat läuft euer Gentoo nun einwandfrei mit dem neuen GCC-Compiler.

'Persönliche Werkzeuge