perl-update: cpan module weg..?
Hallo Ich hab eben in meinem vmware-abbild vom server das perl update von SuSE10.0 versucht Nun hab ich dort das Problem dass CPAN gar nicht mehr erst läuft und anschienend auch alle Module in den Initialzustand versetzt worden sind resp alle zusätzlcih installierten weg sind.... Gibt es einen Weg perl zu upgraden ohne all dies zu verlieren? Oder kann man aus CPAN einfach eine Liste der installierten Module vorher kriegen und die dann gleich wieder neu installieren oder so? Ich habe zB spamassassin via cpan geupgradet auf 3.1.0 und es ist zwingend dass dies nachher wieder läuft.....? Danke! Matti
Hallo, Am Wed, 11 Jan 2006, Matthias Keller schrieb:
Gibt es einen Weg perl zu upgraden ohne all dies zu verlieren? Oder kann man aus CPAN einfach eine Liste der installierten Module vorher kriegen und die dann gleich wieder neu installieren oder so?
==== man CPAN ==== "autobundle" writes a bundle file into the "$CPAN::Con fig->{cpan_home}/Bundle" directory. The file contains a list of all modules that are both available from CPAN and currently installed within @INC. The name of the bundle file is based on the current date and a counter. ==== Also: perl -MCPAN -e 'autobundle();' und dann perl -MCPAN -e 'install Bundle::Snapshot_<DATUM>_<NR>' (DATUM und NR natuerlich anpassen). -dnh -- Da hilft nur PraktiScript. "He, Praktikant, komme er her! Wochenende ist gestrichen!" -- ratti in suse-linux
David Haller wrote:
Hallo,
Am Wed, 11 Jan 2006, Matthias Keller schrieb:
Gibt es einen Weg perl zu upgraden ohne all dies zu verlieren? Oder kann man aus CPAN einfach eine Liste der installierten Module vorher kriegen und die dann gleich wieder neu installieren oder so?
==== man CPAN ==== "autobundle" writes a bundle file into the "$CPAN::Con fig->{cpan_home}/Bundle" directory. The file contains a list of all modules that are both available from CPAN and currently installed within @INC. The name of the bundle file is based on the current date and a counter. ====
Also:
perl -MCPAN -e 'autobundle();'
und dann
perl -MCPAN -e 'install Bundle::Snapshot_<DATUM>_<NR>'
(DATUM und NR natuerlich anpassen).
Danke für den Tipp Hat leider nicht geklappt da CPAN gar nicht mehr hochkommt.... Ich kriege diesen Fehler: IO object version 1.21 does not match bootstrap parameter 1.22 at /usr/lib/perl5/5.8.7/i586-linux-thread-multi/XSLoader.pm line 92. Compilation failed in require at /usr/lib/perl5/5.8.7/i586-linux-thread-multi/IO/Handle.pm line 262. Compilation failed in require at (eval 10) line3. ...propagated at /usr/lib/perl5/5.8.7/base.pm line 85. BEGIN failed--compilation aborted at /usr/lib/perl5/5.8.7/File/Temp.pm line 145. Compilation failed at /usr/lib/perl5/5.8.7/CPAN.pm line 22. BEGIN failed--compilation aborted at /usr/lib/perl5/5.8.7/CPAN.pm line 22. Compilation failed in require. BEGIN failed--compilation aborted. Any ideas...? Danke! Matti
On Thursday 12 January 2006 20:57, Matthias Keller wrote:
IO object version 1.21 does not match bootstrap parameter 1.22 at /usr/lib/perl5/5.8.7/i586-linux-thread-multi/XSLoader.pm line 92.
Du hast mindestens 2 Versionen von IO.pm installiert. IO.pm lädt eine shared lib und das Modul, das diese einbindet, merkt, daß die so-Version nicht zur pm-Version paßt. "perl -V" sagt Dir, in welchen Verzeichnissen er Module sucht. Suche dort nach IO.*: $ find $(perl -e 'print "@INC"') -name IO.\* /usr/lib/perl5/5.8.5/i586-linux-thread-multi/auto/IO/IO.bs /usr/lib/perl5/5.8.5/i586-linux-thread-multi/auto/IO/IO.so /usr/lib/perl5/5.8.5/i586-linux-thread-multi/IO.pm ... Hier hast Du wahrscheinlich nochmal: /usr/lib/perl5/site_perl/5.8.5/i586-linux-thread-multi/auto/IO/IO.bs /usr/lib/perl5/site_perl/5.8.5/i586-linux-thread-multi/auto/IO/IO.so /usr/lib/perl5/site_perl/5.8.5/i586-linux-thread-multi/IO.pm Entscheide, was Du löschst. Torsten
Torsten Foertsch wrote:
On Thursday 12 January 2006 20:57, Matthias Keller wrote:
IO object version 1.21 does not match bootstrap parameter 1.22 at /usr/lib/perl5/5.8.7/i586-linux-thread-multi/XSLoader.pm line 92.
Du hast mindestens 2 Versionen von IO.pm installiert. IO.pm lädt eine shared lib und das Modul, das diese einbindet, merkt, daß die so-Version nicht zur pm-Version paßt.
"perl -V" sagt Dir, in welchen Verzeichnissen er Module sucht. Suche dort nach IO.*:
$ find $(perl -e 'print "@INC"') -name IO.\* /usr/lib/perl5/5.8.5/i586-linux-thread-multi/auto/IO/IO.bs /usr/lib/perl5/5.8.5/i586-linux-thread-multi/auto/IO/IO.so /usr/lib/perl5/5.8.5/i586-linux-thread-multi/IO.pm ...
Hier hast Du wahrscheinlich nochmal: /usr/lib/perl5/site_perl/5.8.5/i586-linux-thread-multi/auto/IO/IO.bs /usr/lib/perl5/site_perl/5.8.5/i586-linux-thread-multi/auto/IO/IO.so /usr/lib/perl5/site_perl/5.8.5/i586-linux-thread-multi/IO.pm
Entscheide, was Du löschst.
Torsten
Hi Torsten Ne sorry, ich hab sowohl vor wie nach dem perl update nur jeweils die oberen 3 einträge, kein IO.* im site_perl...... Noch irgendeine Idee? Grüsse Matti
Hallo, Am Thu, 12 Jan 2006, Matthias Keller schrieb:
Torsten Foertsch wrote:
On Thursday 12 January 2006 20:57, Matthias Keller wrote:
IO object version 1.21 does not match bootstrap parameter 1.22 at /usr/lib/perl5/5.8.7/i586-linux-thread-multi/XSLoader.pm line 92.
CPAN verlangt wohl die 1.22, du hast aber nur 1.21.
Du hast mindestens 2 Versionen von IO.pm installiert. IO.pm lädt eine shared lib und das Modul, das diese einbindet, merkt, daß die so-Version nicht zur pm-Version paßt.
Waere auch ne Moeglichkeit. [..]
Ne sorry, ich hab sowohl vor wie nach dem perl update nur jeweils die oberen 3 einträge, kein IO.* im site_perl......
Ok. Saug dir "per Hand" CPAN von http://search.cpan.org. Pack den tarball aus, wechsle in das Verzeichnis, dann unset PERL5LIB perl Makefile.PL make make test su make install Evtl. musst du auch noch Abhaengigkeiten "per Hand" nachinstallieren, zuerst kannst du IIRC auf 'Bundle::libnet' verzichten, lt. Doku von Bundle::CPAN sind das alles bis auf 'Net::FTP' mehr "goodies" als Notwendige Module. HTH, -dnh -- [die 1970er Jahre] Die Zeit, in der Joschka Fischer seine kriminelle Karierre beendete, und Helmut Kohl seine so richtig durchstartete... -- Matthias Brodowy im "SR Gesellschaftsabend"
David Haller wrote:
Hallo,
Am Thu, 12 Jan 2006, Matthias Keller schrieb:
Du hast mindestens 2 Versionen von IO.pm installiert. IO.pm lädt eine shared lib und das Modul, das diese einbindet, merkt, daß die so-Version nicht zur pm-Version paßt.
Waere auch ne Moeglichkeit.
Saug dir "per Hand" CPAN von http://search.cpan.org. Pack den tarball aus, wechsle in das Verzeichnis, dann
unset PERL5LIB perl Makefile.PL make make test su make install
Evtl. musst du auch noch Abhaengigkeiten "per Hand" nachinstallieren, zuerst kannst du IIRC auf 'Bundle::libnet' verzichten, lt. Doku von Bundle::CPAN sind das alles bis auf 'Net::FTP' mehr "goodies" als Notwendige Module.
Nun, ich habs nun geschafft indem ich nicht CPAN sondern IO gesaugt hab und installiert hab, dann startet das CPAN Dann hab ich wie beschrieben das bundle installiert, jedoch ist das nicht wirklich befriedigend da er anscheinend von jedem package einfach versucht die neuste version zu installieren statt die im bundle definierte?? Ausserdem funktionierts jetzt auch nicht mehr - amavisd zB meldet: MISSING REQUIRED BASIC MODULES: Time::HiRes Digest::MD5 MIME::Base64 interessanterweise zeigt CPAN die aber als installiert an...?? Vermutlich ist die Installation jetz noch komplett zerschossen..? hilfe! Matti
MISSING REQUIRED BASIC MODULES: Time::HiRes Digest::MD5 MIME::Base64
interessanterweise zeigt CPAN die aber als installiert an...??
Vermutlich ist die Installation jetz noch komplett zerschossen..?
ps: das passiert unabhängig davon ob ich das bundle installiere oder nicht i Digest::MD5 zeigt das modul an in /usr/lib/perl5/5.8.7/i586-linux-thread-multi/Digest/MD5.pm Welches auf dem Dateisystem auch existiert.. aber irgendwie wirds nicht gefunden... ??! Matti
Am Sonntag, 15. Januar 2006 13:08 schrieb Matthias Keller:
MISSING REQUIRED BASIC MODULES: Time::HiRes Digest::MD5 MIME::Base64
interessanterweise zeigt CPAN die aber als installiert an...??
Schau doch mal, wo die Module installiert sind ( @INC Array) mit: <cite> Before you download a module, you might also check your system to see if it's already installed. The following command searches the libraries in the @INC array and prints the names of all modules it finds: find `perl -e 'print "@INC"'` -name '*.pm' -print </cite> aus: "Perl in a Nutshell" Timothy -- "Es gibt zwei Dinge im Leben, die du nicht zurücknehmen kannst: Den Pfeil den du verschossen und das Wort, das du gesprochen" - altes indianisches Sprichwort
Timothy Kesten wrote:
Am Sonntag, 15. Januar 2006 13:08 schrieb Matthias Keller:
MISSING REQUIRED BASIC MODULES: Time::HiRes Digest::MD5 MIME::Base64
interessanterweise zeigt CPAN die aber als installiert an...??
Schau doch mal, wo die Module installiert sind ( @INC Array) mit:
<cite> Before you download a module, you might also check your system to see if it's already installed. The following command searches the libraries in the @INC array and prints the names of all modules it finds:
find `perl -e 'print "@INC"'` -name '*.pm' -print </cite>
Versteh ich jetz nicht ganz was mir das bringt...?
Sowohl vor wie nach dem update sieht dieses find bezüglich dem
Digest::MD5 genau gleich aus:
# find `perl -e 'print "@INC"'` -name '*.pm' -print | grep Digest
/usr/lib/perl5/5.8.7/i586-linux-thread-multi/Digest/MD5.pm
...
und das @INC ist auch dasselbe vor wie nach dem update
# perl -e 'print "@INC"'
/usr/lib/perl5/5.8.7/i586-linux-thread-multi /usr/lib/perl5/5.8.7
/usr/lib/perl5/site_perl/5.8.7/i586-linux-thread-multi
/usr/lib/perl5/site_perl/5.8.7 /usr/lib/perl5/site_perl
/usr/lib/perl5/vendor_perl/5.8.7/i586-linux-thread-multi
/usr/lib/perl5/vendor_perl/5.8.7 /usr/lib/perl5/vendor_perl
.server:/home/matti
Aber es scheint eine Inkonsistenz im CPAN zu geben..
ich versteh nich viel von Perl, aber das hatte ich mal rigendwo
aufgeschnappt und zeigt das Problem:
nach dem update:
# perl -MCPAN -e 'use Digest::MD5;'
Digest::MD5 object version 2.33 does not match bootstrap parameter 2.36
at /usr/lib/perl5/5.8.7/i586-linux-thread-multi/XSLoader.pm line 92.
Compilation failed in require at -e line 1.
BEGIN failed--compilation aborted at -e line 1.
hingegen ein
cpan> i Digest::MD5
Strange distribution name [Digest::MD5]
Module id = Digest::MD5
DESCRIPTION MD5 message digest algorithm
CPAN_USERID GAAS (Gisle Aas
participants (4)
-
David Haller
-
Matthias Keller
-
Timothy Kesten
-
Torsten Foertsch