bug rpm-4.1.1: fatal error: getUname: too many uid's

Ein Checkinstall z.B. beim selbst kompilierten Apache bringt folgende Fehlermeldung beim rpmbuild: Building target platforms: i386 Building for target i386 Processing files: apache2-2.0.49-1 fatal error: getUname: too many uid's Grund scheint ein Bug bei rpm-4.1.1 zu sein, siehe auch http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=85346. Gibt es dafür bereits ein aktualisiertes Paket für SuSE 9,1? Wenn nicht (auf dem FTP-Server von SuSE habe ich nichts gefunden), kann man das rpm-Paket selbst aus den aktuellen Sourcen erstellen und einspielen, vor allem im Hinblick auf die Abhängigkeiten (z.B. yast2-Paketmanager)?

Nachdem sich bisher wohl niemand an dieses "heisse Eisen" gewagt hat, habe ich es selbst probiert. Gleich vorweg: mit rpm 4.3.2 funktioniert checkinstall auch beim Apache! Ich bin bei der Installation (ganz grob skizziert) wie folgt vorgegangen (SuSE 9.1): - Besorgen eines aktuellen rpm Source-Paketes (z.B. rpm-4.3.2-0.4.src.rpm) - daraus das tar.gz-File extrahieren - Notwendige Software besorgen und nachinstallieren (z.B. db3, elfutils) - rpm kompiliert mit eigenem Prefix - SuSE rpm gelöscht (sinnvoll ist eine vorherige Sicherung von /var/lib/rpm und /usr/lib/rpm) - Neues rpm-Paket als Version 4.1.1-177 per rpm installiert, um SuSE Yast die eigene Version vorzugaukeln - in der .rpmmacros Pfade für die Datenbanken (/var) und das neue topdir-Verzeichnis (wo man will) eingetragen - Symb. Link /usr/lib/rpm erzeugt, weil Yast alles in eigenen Pfaden erwartet - Symb. Links in der /usr/lib für die rpm-Module erzeugt (z.B. ln -s /usr/local/lib/librpm-4.3.so /usr/lib/librpm-4.1.so); wenn Yast nicht die bekannten Module findet, bricht der Start mit einem Fehlerhinweis auf yast2-ncurses ab! - wichtig: rpm --rebuilddb muss durchgeführt werden, weil sich das db-Format geändert hat So, damit läuft nun Yast wieder einigermassen, es können mit Yast neue Pakete installiert werden und Onlineupdate geht auch wieder (ein paar kleinere unwichtige Fehlermeldungen kommen noch, wenn ich mal viel Zeit habe, werde ich mich auch darum kümmern. Achtung: Es ist nicht ganz trivial, das SuSE rpm-Paket zu ersetzen. Bereits die Kompilierung des neuen rpm's bereitet einige Schwierigkeiten und die Einbindung in Yast ist auch nicht ohne. Die obige Beschreibung enthält nicht alle bei mir notwendig gewesenen Schritte sondern ist wirklich nur eine Grobdarstellung. Ich würde das Update keinem Ungeübten empfehlen, und wer es macht, sollte wissen, was er jeweils tut. Wünschenswert wäre eigentlich, dass ein solches Update SuSE selbst zur Verfügung stellt; ich möchte sogar sagen, dass man eigentlich erwarten könnte, dass in einer neuen Version (SuSE 9.1) aktuelle Pakete mitgeliefert werden! Na ja, der geschilderte Bug ist ja erst seit über einem Jahr bekannt :-)).

Nachdem sich bisher wohl niemand an dieses "heisse Eisen" gewagt hat, habe ich es selbst probiert. Gleich vorweg: mit rpm 4.3.2 funktioniert checkinstall auch beim Apache! Ich bin bei der Installation (ganz grob skizziert) wie folgt vorgegangen (SuSE 9.1): - Besorgen eines aktuellen rpm Source-Paketes (z.B. rpm-4.3.2-0.4.src.rpm) - daraus das tar.gz-File extrahieren - Notwendige Software besorgen und nachinstallieren (z.B. db3, elfutils) - rpm kompiliert mit eigenem Prefix - SuSE rpm gelöscht (sinnvoll ist eine vorherige Sicherung von /var/lib/rpm und /usr/lib/rpm) - Neues rpm-Paket als Version 4.1.1-177 per rpm installiert, um SuSE Yast die eigene Version vorzugaukeln - in der .rpmmacros Pfade für die Datenbanken (/var) und das neue topdir-Verzeichnis (wo man will) eingetragen - Symb. Link /usr/lib/rpm erzeugt, weil Yast alles in eigenen Pfaden erwartet - Symb. Links in der /usr/lib für die rpm-Module erzeugt (z.B. ln -s /usr/local/lib/librpm-4.3.so /usr/lib/librpm-4.1.so); wenn Yast nicht die bekannten Module findet, bricht der Start mit einem Fehlerhinweis auf yast2-ncurses ab! - wichtig: rpm --rebuilddb muss durchgeführt werden, weil sich das db-Format geändert hat So, damit läuft nun Yast wieder einigermassen, es können mit Yast neue Pakete installiert werden und Onlineupdate geht auch wieder (ein paar kleinere unwichtige Fehlermeldungen kommen noch, wenn ich mal viel Zeit habe, werde ich mich auch darum kümmern. Achtung: Es ist nicht ganz trivial, das SuSE rpm-Paket zu ersetzen. Bereits die Kompilierung des neuen rpm's bereitet einige Schwierigkeiten und die Einbindung in Yast ist auch nicht ohne. Die obige Beschreibung enthält nicht alle bei mir notwendig gewesenen Schritte sondern ist wirklich nur eine Grobdarstellung. Ich würde das Update keinem Ungeübten empfehlen, und wer es macht, sollte wissen, was er jeweils tut. Wünschenswert wäre eigentlich, dass ein solches Update SuSE selbst zur Verfügung stellt; ich möchte sogar sagen, dass man eigentlich erwarten könnte, dass in einer neuen Version (SuSE 9.1) aktuelle Pakete mitgeliefert werden! Na ja, der geschilderte Bug ist ja erst seit über einem Jahr bekannt :-)).
participants (1)
-
Josef Paul Weber