Discussion:
Problem mit angeblich fehlenden perl-Modul bei Installation eines rpm mittels zypper
Lentes, Bernd
2014-06-06 12:17:44 UTC
Permalink
Hi,

ich will auf einem SLES 11 SP3 64bit X2go installieren. Passendes rpm habe ich.
Bei der Installation wird mir ein fehlendes perl-Modul angemeckert:
=============================================
...
Selecting 'x2goserver-4.0.1.8-2.6.x86_64' from repository 'Plain RPM files cache' for installation.
Resolving package dependencies...
Force resolution: No

Problem: nothing provides perl(Config::Simple) needed by x2goserver-4.0.1.8-2.6.x86_64
Solution 1: do not install x2goserver-4.0.1.8-2.6.x86_64
Solution 2: break x2goserver-4.0.1.8-2.6.x86_64 by ignoring some of its dependencies
...
=============================================

Das modul ist aber installiert (allerdings per CPAN):
=============================================
/usr/lib/perl5/site_perl/5.10.0/Config/Simple.pm
=============================================

Und dieser Pfad ist auch in @INC drin:
=============================================
perl -V
...
@INC:
/usr/lib/perl5/5.10.0/x86_64-linux-thread-multi
/usr/lib/perl5/5.10.0
/usr/lib/perl5/site_perl/5.10.0/x86_64-linux-thread-multi
/usr/lib/perl5/site_perl/5.10.0
/usr/lib/perl5/vendor_perl/5.10.0/x86_64-linux-thread-multi
...
=============================================

Findet zypper das Paket nicht, weil es nicht per rpm/zypper installiert ist ?
Was kann ich da machen ? Einfach die angeblich fehlende Abhängigkeit ignorieren ?

Thanks for any hints.


Bernd

--
Bernd Lentes

Systemadministration
Institut für Entwicklungsgenetik
Gebäude 35.34 - Raum 208
HelmholtzZentrum münchen
***@helmholtz-muenchen.de
phone: +49 89 3187 1241
fax: +49 89 3187 2294
http://www.helmholtz-muenchen.de/idg

Die Freiheit wird nicht durch weniger Freiheit verteidigt



Helmholtz Zentrum München
Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH)
Ingolstädter Landstr. 1
85764 Neuherberg
www.helmholtz-muenchen.de
Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe
Geschäftsführer: Prof. Dr. Günther Wess, Dr. Nikolaus Blum, Dr. Alfons Enhsen
Registergericht: Amtsgericht München HRB 6466
USt-IdNr: DE 129521671
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um den Listen Administrator zu erreichen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
Tobias Crefeld
2014-06-06 13:22:13 UTC
Permalink
Am Fri, 6 Jun 2014 14:17:44 +0200 schrieb "Lentes, Bernd"
Post by Lentes, Bernd
Findet zypper das Paket nicht, weil es nicht per rpm/zypper
installiert ist ?
Ja, CPAN pflegt die rpm-Datenbank nicht.
Post by Lentes, Bernd
Was kann ich da machen ?
Passende perl-rpms für SLES installieren.
Wenn das vorhandene perl bereits für eine andere Anwendung gebraucht
wird, dann risikierst Du natürlich, dass anschließend die andere App
nicht mehr funktioniert. Leider werden nicht sämtliche Module aus CPAN
auch als rpm verteilt.
Post by Lentes, Bernd
Einfach die angeblich fehlende Abhängigkeit ignorieren ?
Notfalls ja, aber es bleibt Dir das erhöhte Risiko, dass eine fehlende
Funktion erst zur Laufzeit entdeckt wird.

Letztlich musst Du Dich entscheiden, ob Du perl via CPAN oder via RPM
pflegst. Beides parallel führt immer wieder zu Konflikten. Wenn ein
Parallelbetrieb trotzdem gewünscht ist, auf alle Fälle jede
Installation und jedes Update wohldokumentiert und sorgfältig auf einem
Testsystem vorab prüfen.

Eine Alternative für den Fall, dass im SLES-repository einzelne
perl-Module fehlen, könnte noch sein, dass man sein perl aus einem
SLES-kompatiblen Repository mit einer größeren Anzahl unterstützter
perl-Module bezieht. IIRC ist packman so ein Kandidat.
--
Gruß,
Tobias.

no email, only xmpp: ***@xabber.de
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um den Listen Administrator zu erreichen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
Lentes, Bernd
2014-06-06 13:49:53 UTC
Permalink
Post by Tobias Crefeld
Am Fri, 6 Jun 2014 14:17:44 +0200 schrieb "Lentes, Bernd"
Post by Lentes, Bernd
Was kann ich da machen ?
Passende perl-rpms für SLES installieren.
Wenn das vorhandene perl bereits für eine andere Anwendung gebraucht
wird, dann risikierst Du natürlich, dass anschließend die andere App nicht
mehr funktioniert. Leider werden nicht sämtliche Module aus CPAN auch als
rpm verteilt.
Letztlich musst Du Dich entscheiden, ob Du perl via CPAN oder via RPM
pflegst. Beides parallel führt immer wieder zu Konflikten. Wenn ein
Parallelbetrieb trotzdem gewünscht ist, auf alle Fälle jede Installation und
jedes Update wohldokumentiert und sorgfältig auf einem Testsystem vorab
prüfen.
Gibt's eine Möglichkeit, per CPAN installierte Module komplett und sauber vom System runterzukriegen ?
Post by Tobias Crefeld
Eine Alternative für den Fall, dass im SLES-repository einzelne perl-Module
fehlen, könnte noch sein, dass man sein perl aus einem SLES-kompatiblen
Repository mit einer größeren Anzahl unterstützter perl-Module bezieht.
IIRC ist packman so ein Kandidat.
Da guck ich mal.
Danke.

Bernd

Helmholtz Zentrum München
Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH)
Ingolstädter Landstr. 1
85764 Neuherberg
www.helmholtz-muenchen.de
Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe
Geschäftsführer: Prof. Dr. Günther Wess, Dr. Nikolaus Blum, Dr. Alfons Enhsen
Registergericht: Amtsgericht München HRB 6466
USt-IdNr: DE 129521671
&v'���^i��m�-zY^��!���(�z)�1��jz)z{.��^��칻�&ޢ�������ק.+-zp�)���ڶ�����z'!z{�'$z
David Haller
2014-06-11 15:22:35 UTC
Permalink
Hallo,
Post by Lentes, Bernd
Gibt's eine Möglichkeit, per CPAN installierte Module komplett und
sauber vom System runterzukriegen ?
==== perluninstall.pl ====
#!/usr/bin/perl
### nope, no '-w', we 'use warnings' later.
#
### Copyright (c)2004-2014 David Haller <***@opensuse.org>
### This program is free software; you can redistribute it and/or
### modify it under the same terms as Perl itself.

use strict;
use ExtUtils::Installed;

# we don't want to die, if some module is not installed, we want to
# continue with the next module, therefore we redefine croak which
# ExtUtils::Installed calls in that case.
sub Carp::croak { print STDERR, @_, "\n"; return 1; }

use warnings;
use ExtUtils::Install;
use File::Basename;

my $verbose = 1;
my $test = 0;
my @MODULES;
my $USAGE ="Usage: " . basename($0)
. " [--test] [--quiet] [--help] MODULE ...\n";

die "$USAGE" if($#ARGV < 0);

foreach(@ARGV) {
if(/^--test$/) {
$test = 1;
} elsif(/^--quiet$/) {
$verbose = 0;
} elsif(/^--help$/) {
print "$USAGE";
exit(0);
} elsif(/^-/) {
die "Unknown option $_\n$USAGE";
} else {
push @MODULES, $_;
}
}
die "$USAGE" if $#MODULES < 0;

my $installed = new ExtUtils::Installed;

print "==== test mode ====\n" if $test;

foreach my $module (@MODULES) {
print "\n";
my $version = $installed->version($module) or next;
print "Found module $module, version $version\n";
print "do you want to uninstall this module? [y/N] ";
my $r = <STDIN>; chomp($r);
if($r && $r =~ /^y/i) {
my $pl = $installed->packlist($module)->packlist_file();
uninstall($pl, $verbose, $test);
}
}
1;
__END__
====

HTH,
-dnh
--
"Perl is the duct tape of the Internet."
-- Hassan Schroeder, Sun's first webmaster
--
Um die Liste abzubestellen, schicken Sie eine Mail an:
opensuse-de+***@opensuse.org
Um den Listen Administrator zu erreichen, schicken
Sie eine Mail an: opensuse-de+***@opensuse.org
Loading...