• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Problem mit aptate nach Update 9.2->9.3

corwin42

Newbie
Hallo, nachdem ich ein Update von 9.2 auf 9.3 gemacht habe erscheint bei mir bei dem Aufruf von aptate folgendes:

invalid structure
error: incorrect perl configuration
Perhaps some missing perl modules? The required modules are:
XML::LibXML-Common
XML::NamespaceSupport
XML::SAX
XML::GDOME
XML::LibXML

Vor dem Update hatte ich schon mit aptate ein Repository für 9.3 angelegt. Darin enthalten ist im Prinzip ein Mirror von ftp.gwdg.de aber anstatt base halt der Inhalt der SuSE DVD.

Das Update habe ich ganz normal mit Yast gemacht. Der macht dabei dann einen Downgrade von einem ganzen Haufen Paketen. In /etc/apt/preferences habe ich folgendes eingetragen:
Package: *
Pin: release v=9.3
Pin-Priority: 1001
Dann habe ich einfach mit
die Pakete aus meinem apt Repository wieder installiert. (Dabei entstandene Probleme habe ich idR durch deinstallation einiger Pakete behoben).

Die Pakete die aptate in seiner Fehlermeldung anzeigt habe ich schon neu Installiert, hilft aber nichts. Die Ausgabe von
rpm --queryformat="%{NAME} %{DISTRIBUTION}\n" -qa
liefert jetzt auch bei allen Paketen SuSE 9.3.

Hat vielleicht noch jemand eine Idee, wie ich aptate etwas mehr Informationen entlocken kann, was ihm denn genau nicht passt? Aufrufe mit -vvvvvvv oder -debug bringen auch nicht mehr.

Bin für jeden Hinweis dankbar.
 

oc2pus

Ultimate Guru
corwin42 schrieb:
invalid structure
error: incorrect perl configuration
Perhaps some missing perl modules? The required modules are:
XML::LibXML-Common
XML::NamespaceSupport
XML::SAX
XML::GDOME
XML::LibXML
ich denke dein apt4rpm ist noch nicht richtig installiert.

Die oben genannten Perl-Module sind installiert ?
==> apt search perl-XML, dann mit apt policy <paket> genauer verifizieren welche Versionen es gibt. Evtl hast du noch die 9.2er drauf (weil die Versionsnummern in 9.3 vielleicht kleiner sind ..)
evtl hilft auch brute-force hier: deinstalliere die vorhandenen perl-XML-* Module (nimm die ungelösten Abhängigkeiten kurz in Kauf) und installiere sie neu. Da ich noch kein 9.3 habe kann ich dir noch nicht sagen in welchem Repository diese perl-Module stehen (bis 9.2 waren sie bei funktronics)

wenn du keine RPMs dazu findest:
via cpan runterladen und mit cpan2rpm in eigene RPMs umwandeln.
cpan2rpm gibt es in meinem apt-Repository bzw hier http://perl.arix.com/cpan2rpm/
 
OP
C

corwin42

Newbie
Die oben genannten Perl-Module sind installiert ?

Ja, sind sie. Die Pakete sind auch alle im Funktronics Repository.

Ich habe jetzt nochmal folgendes versucht:

Alle Perl-Pakete (incl. Perl selbst) und apt4rpm mit rpm --nodeps -e <paketname> deinstalliert.

Danach mit
Code:
apt-get --fix-broken install
apt install apt4rpm

apt4rpm wieder neu installiert.

Leider kein Erfolg. Ich vermute fast, dass apt4rpm irgendein Paket benötigt, das nicht installiert ist, das aber auch nicht in den dependencies drin ist. Die Frage ist nur welches. Oder irgendein perl-Paket das apt4rpm benutzt ist broken. Nächster Versuch wird sein, mal die Pakete von 9.2 zu installieren. Vielleicht hift das ja.

Wenn ich aptate doch dazu bringen könnte, etwas genauer zu meckern. Ich habe zwar von Perl nicht so sehr viel Ahnung aber dann hätte man ja vielleicht einen Hinweis, wo man suchen kann.
 

oc2pus

Ultimate Guru
corwin42 schrieb:
Wenn ich aptate doch dazu bringen könnte, etwas genauer zu meckern. Ich habe zwar von Perl nicht so sehr viel Ahnung aber dann hätte man ja vielleicht einen Hinweis, wo man suchen kann.

aptate ist ein shell-script.
wenn du in /usr/bin/aptate am Anfang (nach #!/bin/sh) den Befehl set -x einfügst, wird auf der Konsole ausgegeben welche Befehle und Verzeichnisse etc verwendet werden ... Vielleicht kannst du so den Fehler einkreisen.
 
OP
C

corwin42

Newbie
oc2pus schrieb:
wenn du in /usr/bin/aptate am Anfang (nach #!/bin/sh) den Befehl set -x einfügst, wird auf der Konsole ausgegeben welche Befehle und Verzeichnisse etc verwendet werden ... Vielleicht kannst du so den Fehler einkreisen.
Bin schon ein Stück weiter. Um zu testen, ob alle benötigten perl-Pakete da sind, versucht aptate einfach das Referenz-Configfile unter /usr/share/apt4rpm/ref.conf zu laden. Das schlägt fehl und zwar weil er die Repositorystruktur nicht erkennt (deshalb auch die Fehlermeldung "invalid structure"). Allerdings sollte laut DTD das Attribut structure mit 1 vorbelegt werden, wenn ich das richtig sehe. Das scheint irgendwie nicht zu passieren.

Ich vermute stark einen Fehler im perl-XML-Parser.

Hat überhaupt schonmal jemand aptate unter SuSE 9.3 zum Laufen bekommen?
 

oc2pus

Ultimate Guru
corwin42 schrieb:
...Das schlägt fehl und zwar weil er die Repositorystruktur nicht erkennt (deshalb auch die Fehlermeldung "invalid structure"). Allerdings sollte laut DTD das Attribut structure mit 1 vorbelegt werden, wenn ich das richtig sehe. Das scheint irgendwie nicht zu passieren.
ja das siehst du richtig. Aber evtl hilft das setzen des "structure"-tag auf "1", das würde dann den xml-parser Fehler bestätigen.

z.Bsp:
Code:
 <distribution id="suse93" structure="1">

was steht denn bei structure, wenn du aptate aufrufst ?
Code:
aptate
Distribution(s) to be processed: suse92
Processing: suse92
Archive structure: 1 => SuSE/9.2-i386
Entering cache build stage
 EigenePakete-9.2  -> RPMs added:      2
                   -> RPMs removed:    2
Entering apt repository creation stage
 EigenePakete-9.2  -> Bin: MD5/GPG:   36/2
                   -> Src: MD5/GPG:    0/0
Entering apt database building stage
 EigenePakete-9.2  -> Bin:  0036/0036
 EigenePakete-9.2  -> Src:
Creating global release file: done
Installing apt repository at: /local/apt/SuSE/9.2-i386
aptate: finished successfully
 
OP
C

corwin42

Newbie
oc2pus schrieb:
z.Bsp:
Code:
 <distribution id="suse93" structure="1">
Habe ich auch schon probiert. Hat keine Auswirkungen. Sehr merkwürdig. Ich werde evtl. doch mal versuchen, diverse Pakete von 9.2 auszuprobieren. Werde ich am Wochenende mal machen, da ich jetzt leider keine Zeit mehr habe.
 
OP
C

corwin42

Newbie
Habe jetzt nach einigem Rumprobieren den Übeltäter gefunden.

libxml2 aus dem suse-people Repository macht Probleme.

Weder die Version 2.6.18-0.1 noch die 2.6.19-0.1 funktionieren (bei mir).

Nach einem Downgrade auf die Version von der DVD (2.6.17-4) funktioniert aptate wieder wie gewohnt.
 
Oben