Fehlermeldung: File "/usr/bin/emerge", line 488

Es ist empfehlenswert, regelmäßig Updates des Gentoo-Portage und der betroffenen Pakete durchzuführen. Je älter das letzte Update ist, desto mehr Probleme können auftreten. So in diesem Fall, bei dem erst nach ca. einem Jahr ein emerge --sync gefolgt von einem emerge -u world erfolgte. Die anschließenden Probleme bezüglich des veralteten Portage-Profiles (/etc/make.profile) und der problematischen Abhängkeiten im Hinblick auf die Neuinstallation von Portage konnten zwar behoben, nachdem aber die Portage 2.1-Version erfolgreich mit dem Befehl emerge --nodeps portage installiert und die Version 2.0 deinstalliert wurde, funktionierte emerge überhaupt nicht.

Jeglicher emerge-Befehl wurde mit folgender Fehlermeldung abgebrochen:

# emerge --info
File "/usr/bin/emerge", line 488
result = list(x for x in matches if portage.cpv_getkey(x) == cp) ^
SyntaxError: invalid syntax

Was tun? Ohne emerge ist es ohne Weiteres nicht möglich, die Änderungen rückgängig zu machen.

Lösung:

Portage in der Version >2.0 benötigt eine aktuellere Python-Version. Auf dem System war noch eine veraltete 2.3.5 Version von Python installiert. Um emerge wieder zum Leben zu erwecken, muss man temporär eine aktuellere Version von Python installieren:

// Wechsel ins Root-Verzeichnis
# cd /root

// Python 2.4.4 herunterladen
# wget distfiles.gentoo.org/distfiles/Python-2.4.4.tar.bz2

// Entpacken und ins Installations-Vrz. wechseln
# tar jxvf Python-2.4.4.tar.bz2
# cd Python-2.4.4

// Installation von Python
# ./configure
# make

// emerge über die aktuelle Python-Installation aufrufen
// und die aktuelle Python-Installation über Portage installieren
# ./python /usr/bin/emerge python