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

Aptate läuft mit Hinweis auf falsche Perlkonfiguration nicht

Boccaccio

Member
Hallo zusammen!

Ich wollte gerade wie im Howto "apt erweitern um eigene Paketquellen" beschrieben vorgehen. Bis zum Ausführen von aptate funktionierte auch alles gut, doch dann bekam ich folgende Fehlermeldung:

Code:
computername:/etc/apt # aptate
Can't locate XML/LibXML/Common.pm in @INC (@INC contains: /usr/share/apt4rpm /us                                            r/lib/perl5/5.8.3/i586-linux-thread-multi /usr/lib/perl5/5.8.3 /usr/lib/perl5/si                                            te_perl/5.8.3/i586-linux-thread-multi /usr/lib/perl5/site_perl/5.8.3 /usr/lib/pe                                            rl5/site_perl /usr/lib/perl5/vendor_perl/5.8.3/i586-linux-thread-multi /usr/lib/                                            perl5/vendor_perl/5.8.3 /usr/lib/perl5/vendor_perl .) at /usr/lib/perl5/vendor_p                                            erl/5.8.3/i586-linux-thread-multi/XML/LibXML.pm line 11.
BEGIN failed--compilation aborted at /usr/lib/perl5/vendor_perl/5.8.3/i586-linux                                            -thread-multi/XML/LibXML.pm line 11.
Compilation failed in require at /usr/share/apt4rpm/Aptate/Config.pm line 37.
BEGIN failed--compilation aborted at /usr/share/apt4rpm/Aptate/Config.pm line 37                                            .
Compilation failed in require.
BEGIN failed--compilation aborted.
error: incorrect perl configuration

Weiß jemand, wie man dieses Problem lösen kann?

Schönen Dank schon einmal im voraus.
 

oc2pus

Ultimate Guru
wie hast du denn apt4rpm installiert ?
einfach das rpm downgeloaded und mit rpm -i installiert ?

normalerweise sollten bei der Installation von apt4rpm mit dem Befehl
apt install ap4rpm alle benötigten perl-Module mit installiert werden ...

du brauchst das Paket perl-XML-LibXML und ggfl. noch weitere ...
 
OP
B

Boccaccio

Member
Ich habe apt4rpm mittels synaptic installiert. Dabei wurde auch ein Perl-Paket mitinstalliert (ich weiß leider nicht mehr genau welches), weshalb ich ja so stutzig bin. Das Paket perl-XML-LibXML habe ich als Version 1.57-32 installiert.
 

oc2pus

Ultimate Guru
dann deinstalliere apt4rpm temporär
rpm -e apt4rpm

und in einer Konsole:
apt install apt4rpm

Fehlermeldungen etc hier posten ;)
 
OP
B

Boccaccio

Member
Code:
computername:/home/Bjoern # rpm -e apt4rpm
warning: /etc/apt/aptate.conf saved as /etc/apt/aptate.conf.rpmsave
computername:/home/Bjoern # apt install apt4rpm
Lese Paketlisten... Fertig
Erzeuge Abhängigkeitsbaum... Fertig
Die folgenden NEUEN Pakete werden installiert werden:
  apt4rpm
0 upgraded, 1 newly installed, 0 entfernt und 163 nicht upgegradet.
Muss 0B/156kB an Archiven holen.
Nach dem Auspacken werden 690kB zusätzlicher Plattenplatz benutzt werden.
Committing changes...
Preparing...                ########################################### [100%]
   1:apt4rpm                ########################################### [100%]
Done.
apt executing: /sbin/SuSEconfig
Starting SuSEconfig, the SuSE Configuration Tool...
Running in full featured mode.
Reading /etc/sysconfig and updating the system...
Executing /sbin/conf.d/SuSEconfig.alljava...
Executing /sbin/conf.d/SuSEconfig.automake...
Executing /sbin/conf.d/SuSEconfig.fonts...
Creating cache files for Xft ..............................
Creating fonts.{scale,dir} files ................
Executing /sbin/conf.d/SuSEconfig.gnome-print...
Executing /sbin/conf.d/SuSEconfig.gnome-vfs2...
Executing /sbin/conf.d/SuSEconfig.groff...
Executing /sbin/conf.d/SuSEconfig.gtk2...
Executing /sbin/conf.d/SuSEconfig.guile...
Executing /sbin/conf.d/SuSEconfig.isdn...
Modify isdn.conf
Executing /sbin/conf.d/SuSEconfig.ispell...
Executing /sbin/conf.d/SuSEconfig.kde...
Executing /sbin/conf.d/SuSEconfig.kdm3...

ATTENTION: You have modified /etc/opt/kde3/share/config/kdm//kdmrc.  Leaving it                                             untouched...
You can find my version in /etc/opt/kde3/share/config/kdm//kdmrc.SuSEconfig...

Executing /sbin/conf.d/SuSEconfig.libxml2...
Executing /sbin/conf.d/SuSEconfig.lyx...
Running LyX configure script ...
Executing /sbin/conf.d/SuSEconfig.news...
Executing /sbin/conf.d/SuSEconfig.OpenOffice.org...
Executing /sbin/conf.d/SuSEconfig.pango...
Executing /sbin/conf.d/SuSEconfig.perl...
Executing /sbin/conf.d/SuSEconfig.permissions...
Executing /sbin/conf.d/SuSEconfig.postfix...
Setting up postfix local as MDA...
Setting SPAM protection to "off"...
Executing /sbin/conf.d/SuSEconfig.profiles...
Executing /sbin/conf.d/SuSEconfig.scpm...
Executing /sbin/conf.d/SuSEconfig.scrollkeeper...
Executing /sbin/conf.d/SuSEconfig.sgml-skel...
Executing /sbin/conf.d/SuSEconfig.sortpasswd...
Executing /sbin/conf.d/SuSEconfig.susehelp...
Executing /sbin/conf.d/SuSEconfig.tetex...
Executing /sbin/conf.d/SuSEconfig.xdm...
Finished.
apt executing: /sbin/ldconfig

Das sieht glaube ich sehr fehlerfrei aus.
 

oc2pus

Ultimate Guru
stimmt ;)

afaik als ich apt4rpm installiert habe habe ich noch ein paar perl-Module gebraucht:

rpm -qa | grep perl-XML
perl-XML-Writer-0.4.6-2
perl-XML-Parser-2.34-28
perl-XML-LibXML-1.58-1
perl-XML-LibXML-Common-0.13-1
perl-XML-GDOME-0.86-1
perl-XML-NamespaceSupport-1.08-2
perl-XML-SAX-0.12-3
 
OP
B

Boccaccio

Member
Ich bekomme da Folgendes:

Code:
computername:/home/Bjoern # rpm -qa | grep perl-XML
perl-XML-XSLT-0.48-25
perl-XML-Stream-1.17-27
perl-XML-LibXML-1.57-32
perl-XML-Generator-0.93-130
perl-XML-Writer-0.4-512
perl-XML-Parser-2.34-28
perl-XML-RegExp-0.03-475
perl-XML-XQL-0.68-137
perl-XML-Simple-2.09-27
perl-XML-DOM-1.43-28

Ich habe versucht die anderen Pakete aus deiner Liste mit synaptic zu installieren, aber kann sie leider nicht finden. Ich habe als Quellen die folgenden Verzeichnisse von ftp.gwdg.de:

base, update, security
labplot
gnome
mozilla
kde
kde3-stable
wine
packman
suser-rbos
 
OP
B

Boccaccio

Member
Also aptate beschwert sich jetzt nicht mehr über Perl! :D

Nur leider funktioniert es immer noch nicht :cry:

Code:
computername:/home/Bjoern # aptate
error: incorrect apt/rpm repository directory.
 current value: /dist

Als aptate.conf habe ich die Datei aus dem Howto benutzt.
In der sources.list habe ich folgende Zeile hinzugefügt:
rpm file:/home/Bjoern/I/apt-RPMs
 
OP
B

Boccaccio

Member
Jetzt klappt's. Ich hab meinen Fehler selbst gefunden. Mußte nur die Verzeichnisse richtig eingeben! Yippie!
 
OP
B

Boccaccio

Member
Zu früh gefreut. aptate leistet jetzt zwar seinen Dienst, aber wenn ich dann apt-get install starte bekomme ich folgende Fehlermeldung:

Code:
computername:/home/Bjoern # apt-get update
E: Misbildete Zeile 25 in Quellliste /etc/apt/sources.list (dist)

Mein aptate.conf:
Code:
<?xml version='1.0' encoding="iso-8859-1"?>
<!DOCTYPE opt SYSTEM "/usr/share/apt4rpm/aptate.dtd">

<opt signed-pkgs-only="no">
<topdir>/home/Bjoern/I</topdir>
<sources-list-file>file:/home/Bjoern/I//ftp/pub/linux/suse/apt</sources-list-file>
<sources-list-ftp>ftp://ftp.gwdg.de/pub/linux/suse/apt</sources-list-ftp>
<sources-list-http>http://ftp.gwdg.de/pub/linux/suse/apt</sources-list-http>

<distribution id="suse91">
<name>SuSE</name>
<version>9.1</version>
<architecture>i386</architecture>

<component>
<name>apt-RPMs</name>
<url>apt-RPMs</url>
</component>

<component>
<name>Suse-RPMs</name>
<url>Suse-RPM</url>
</component>
</distribution>
</opt>

Meine sources.list in gekürzter Form (die Zeile 25 entspricht hier der Zeile 2)
Code:
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.1-i386 base update security
rpm file:/home/Bjoern/I/Suse-RPM
rpm file:/home/Bjoern/I/apt-RPMs
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.1-i386 labplot 
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.1-i386 mozilla 
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.1-i386 gnome 
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.1-i386 kde 
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.1-i386 kde3-stable 
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.1-i386 wine 
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.1-i386 packman 
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.1-i386 suser-rbos 
rpm ftp://ftp.gwdg.de/pub/linux/suse/apt/ SuSE/9.1-i386 funktronics
 
OP
B

Boccaccio

Member
Das funktioniert nicht so richtig. Ich bekomme die folgende Fehlermeldung:

Code:
computername:/home/Bjoern # apt-get update
Ignoriere file: SuSE/9.1-i386 release
Ignoriere file: SuSE/9.1-i386 release
Hole:1 ftp://ftp.gwdg.de SuSE/9.1-i386 release [10,1kB]
10,1kB in 2s (3785B/s) geholt
Fehler file: SuSE/9.1-i386/SuSE/9.1-i386 pkglist
  File not found
Ignoriere file: SuSE/9.1-i386/SuSE/9.1-i386 release
Fehler file: SuSE/9.1-i386/SuSE/9.1-i386 pkglist
  File not found
Ignoriere file: SuSE/9.1-i386/SuSE/9.1-i386 release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/base pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/base release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/update pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/update release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/security pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/security release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/labplot pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/labplot release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/mozilla pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/mozilla release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/gnome pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/gnome release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/kde pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/kde release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/kde3-stable pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/kde3-stable release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/wine pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/wine release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/packman pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/packman release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/suser-rbos pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/suser-rbos release
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/funktronics pkglist
Treffer ftp://ftp.gwdg.de SuSE/9.1-i386/funktronics release
Gescheitert zu holen file:/home/Bjoern/I/Suse-RPM/SuSE/9.1-i386/base/pkglist.SuS                                            E/9.1-i386  File not found
Gescheitert zu holen file:/home/Bjoern/I/apt-RPMs/SuSE/9.1-i386/base/pkglist.SuS                                            E/9.1-i386  File not found
Lese Paketlisten... Fertig
Erzeuge Abhängigkeitsbaum... Fertig
E: Einige Index-Dateien konnten nicht heruntergeladen werden, sie wurden ignoriert oder alte weiterhin benutzt.
 

oc2pus

Ultimate Guru
1.)
<topdir>/home/Bjoern/I/</topdir> <== / am Ende des Pfades

<sharedir>apt/share</sharedir> <== ??

2.)
<distribution id="suse91" structure="1"> <== structure

3.)
<component active="yes"> <== componenten aktivieren

der xml Parser ist pingelig ;)

sources.list
rpm<BLANK> file:/home/Bjoern/I/Suse-RPM<BLANK>SuSE/9.1-i386<BLANK>SuSE91
 
OP
B

Boccaccio

Member
Es funktioniert leider immer noch nicht. Die structure="l" Geschichte führt dazu, daß aptate gar nicht läuft, wenn ich das weg lasse und folgende aptate.conf verwende

Code:
<?xml version='1.0' encoding="iso-8859-1"?>
<!DOCTYPE opt SYSTEM "/usr/share/apt4rpm/aptate.dtd">

<opt signed-pkgs-only="no">
<topdir>/home/Bjoern/I/</topdir>
<sharedir>apt/share</sharedir>
<sources-list-file>file:/home/Bjoern/I//ftp/pub/linux/suse/apt</sources-list-file>
<sources-list-ftp>ftp://ftp.gwdg.de/pub/linux/suse/apt</sources-list-ftp>
<sources-list-http>http://ftp.gwdg.de/pub/linux/suse/apt</sources-list-http>

<distribution id="suse91">
<name>SuSE</name>
<version>9.1</version>
<architecture>i386</architecture>

<component active="yes">
<name>apt-RPMs</name>
<url>apt-RPMs</url>
</component>

<component active="yes">
<name>Suse-RPMs</name>
<url>Suse-RPMs</url>
</component>
</distribution>
</opt>

bekomme ich folgendes (in gekürzter Version)
Code:
computername:/home/Bjoern # aptate
Distribution(s) to be processed: suse91
Processing: suse91
Archive structure: 1 => SuSE/9.1-i386
Entering cache build stage
 apt-RPMs          -> Check:          13/226,  time left:   35swarning: apt-RPMs/cdrecord_2.01a31-0.pm.2_i586.rpm: V3 DSA signature: NOKEY, key ID 08a568c6
...
Code:
Entering apt repository creation stage
 apt-RPMs          -> Links:           1/226 ln: Erzeugen der symbolischen Verknüpfung „/home/Bjoern/I/apt/tmp_SuSE/9.1-i386/RPMS.apt-RPMs/a2ps-4.13-1046.4.i586.rpm“ zu „../../../../apt-RPMs/a2ps_4.13-1046.4_i586.rpm“: Die Operation ist nicht erlaubt
...
Code:
Creating global release file: mv: konnte den Eigentümer für „/home/Bjoern/I/apt/tmp_SuSE/9.1-i386/base/hashfile“ nicht erhalten: Die Operation ist nicht erlaubt
                              done
Installing apt repository at: /home/Bjoern/I/apt/SuSE/9.1-i386
aptate finished successfully
 

oc2pus

Ultimate Guru
Entering apt repository creation stage
apt-RPMs -> Links: 1/226 ln: Erzeugen der symbolischen Verknüpfung „/home/Bjoern/I/apt/tmp_SuSE/9.1-i386/RPMS.apt-RPMs/a2ps-4.13-1046.4.i586.rpm“ zu „../../../../apt-RPMs/a2ps_4.13-1046.4_i586.rpm“: Die Operation ist nicht erlaubt

das sieht gar nicht so schlecht aus ;)
es sieht so aus als ob deine Verzeichnisstruktur noch nicht vorhanden ist

die Infos über deine eigenen Pakete werden in so einem Verzeichnisbaum
apt/share ... abgelegt
ls apt/*
apt/share:
suse82 suse91
ls apt/SuSE/*
apt/SuSE/9.1-i386:
RPMS.SuSE91 SRPMS.SuSE91 base examples

dort werden letzendlich die links auf deine Pakete abgelegt.
bei dir gibt es /home/Bjoern/I/apt ?
wenn nicht lege den Baum mal manuell an. Das war der Teil mit den mkdir ... in meinem Howto.

ad structure
das ist kein I sonder eine 1 (EINS)
 
OP
B

Boccaccio

Member
Also das apt/share Verzeichnis habe ich mit sämtlichen Unterverzeichnissen wie von dir angegeben. Aber leider funktioniert es trotz structure="1" immer noch nicht :-(

Deshalb hier mal die Zusammenfassung der Situation:

In /home/Bjoern/I/apt-RPMs und /home/Bjoern/I/Suse-RPMs habe ich meine RPMs gesammelt.

Meine aptate.conf
Code:
<?xml version='1.0' encoding="iso-8859-1"?>
<!DOCTYPE opt SYSTEM "/usr/share/apt4rpm/aptate.dtd">

<opt signed-pkgs-only="no">
<topdir>/home/Bjoern/I/</topdir>
<sharedir>apt/share</sharedir>
<sources-list-file>file:/home/Bjoern/I//ftp/pub/linux/suse/apt</sources-list-file>
<sources-list-ftp>ftp://ftp.gwdg.de/pub/linux/suse/apt</sources-list-ftp>
<sources-list-http>http://ftp.gwdg.de/pub/linux/suse/apt</sources-list-http>

<distribution id="suse91" structure="1">
<name>SuSE</name>
<version>9.1</version>
<architecture>i386</architecture>

<component active="yes">
<name>apt-RPMs</name>
<url>apt-RPMs</url>
</component>

<component active="yes">
<name>Suse-RPMs</name>
<url>Suse-RPMs</url>
</component>
</distribution>
</opt>

Die sources.list hat an der entscheidenden Stelle Folgendes stehen:
Code:
rpm file:/home/Bjoern/I/Suse-RPMs SuSE/9.1-i386 SuSE/9.1-i386
rpm file:/home/Bjoern/I/apt-RPMs SuSE/9.1-i386 SuSE/9.1-i386
 

oc2pus

Ultimate Guru
wie sieht deine apt.conf aus in der Sektion

Code:
Dir "/"
{
    State "local/packages/state/apt/" {
        lists "lists-9.1/";
        xstatus "xstatus";
        userstatus "status.user";
    };

    Cache "local/packages/cache/apt/" {
        archives "archives-9.1/";
        srcpkgcache "srcpkgcache-9.1.bin";
        pkgcache "pkgcache-9.1.bin";
    };
....

das State und Cache muss natürlich zu deiner aptate.conf passen ...
 
OP
B

Boccaccio

Member
Also ich kann da in meiner apt.conf nichts Passendes finden:

Code:
// with "apt-config dump" all settings can be viewed

Acquire::CDROM::Copy "true";

Debug
{
    pkgRPMPM "false";
}

RPM
{
   // Hold (do not update) a list with pkgs:
   // Hold { "k_deflt"; "sane"; };
   // Leave list empty to disable
   Hold { "kernel-default";"kernel-source";};
   Ignore {"gpg-pubkey"; };

   Options { };
   Install-Options "";
   Erase-Options "";
   Source {
       Build-Command "rpmbuild --rebuild";
   };
}
 
Oben