Schrift
[thread]12757[/thread]

rug pa findet Perl-Modul XML::DOM, Perl findet es aber nicht



<< >> 10 Einträge, 1 Seite
Gast Gast
 2008-11-14 16:19
#116260 #116260
Hallo zusammen,

ich habe folgendes Problem:

"rug pa | grep XML" findet unter anderem folgendes Modul:

Code: (dl )
i | sles-9-x86_64 | perl-XML-DOM              | 1.43-28.1


Jedoch ist dieses Modul nirgendwo auf der Festplatte zu finden, im Ordner "/usr/local/perl-5.8.8/lib/site_perl/5.8.8" befindet sich zwar der Ordner XML mit einigen Modulen, aber nicht das Modul DOM.
Dementsprechend bringt Perl bei Aufruf meines Skripts, das dieses Modul XML:: DOM benötigt folgenden Fehler:
Code: (dl )
Can't locate XML/DOM.pm in @INC (@INC contains: /cluster1/agave/AGA_COM/prg /usr/local/perl-5.8.8/lib/5.8.8/x86_64-linux /usr/local/perl-5.8.8/lib/5.8.8 /usr/local/perl-5.8.8/lib/site_perl/5.8.8/x86_64-linux /usr/local/perl-5.8.8/lib/site_perl/5.8.8 /usr/local/perl-5.8.8/lib/site_perl .) at /cluster1/agave/AGA_COM/prg/AgreeSBGen.pm line 5.


Ich habe übrigens keine root rechte auf der Maschine, weswegen ich einen entsprechenden Kollegen gebeten hatte mir das Modul zu installieren, welcher mir per Mail geschrieben hat, dass dieses doch bereits installiert sei laut "rug pa"...

Ich bin noch ziemlich neu und kann mir darauf keinen Reim machen, hat jemand von euch ne Idee woran das liegen könnte?
Vielen Dank schonmal für eure Antworten!

Lg, manloeste
renee
 2008-11-14 16:29
#116262 #116262
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Sind vielleicht zwei verschiedene Perl-Installationen auf der Maschine?
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
nepos
 2008-11-14 16:44
#116264 #116264
User since
2005-08-17
1420 Artikel
BenutzerIn
[Homepage] [default_avatar]
Schau mal mit
Code: (dl )
locate DOM.pm
ob das irgendwo auf der Platte liegt.
manloeste
 2008-11-14 17:06
#116267 #116267
User since
2008-11-14
3 Artikel
BenutzerIn
[default_avatar]
Also ne zweite perl-Installation hab ich nich gefunden. Ne Idee wie ich das sicher herausfinden kann?


locate geht seltsamerweise nicht...
Code: (dl )
-bash: locate: command not found


edit: hier was zum system (uname -a):
Code: (dl )
Linux ew-webserver-02 2.6.5-7.308-smp #1 SMP Mon Dec 10 11:36:40 UTC 2007 x86_64 x86_64 x86_64 GNU/Linux
Linuxer
 2008-11-14 17:10
#116268 #116268
User since
2006-01-27
3881 Artikel
HausmeisterIn

user image
Mit
Code: (dl )
find / -name DOM.pm


durchsuchst Du den gesamten Verzeichnisbaum ab / nach Dateien, die "DOM.pm" heißen. Ausgegeben wird der volle Pfad; d.h. Du solltest erkennen können, ob ein XML::DOM wirklich vorhanden ist....

locate müsste natürlich schon installiert sein (oder sich im Pfad des Benutzers finden), wenn man es nutzen will ;o))

Ich hoffe mal, find ist installiert ;o)

[edit]2 Rechtschreibfehler korrigiert[/edit]
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
topeg
 2008-11-14 17:21
#116269 #116269
User since
2006-07-10
2611 Artikel
BenutzerIn

user image
Eventuell vesteckt sich das Modul...
Code: (dl )
perl -e 'system("find @INC -name DOM.pm")'


Durchsucht "/usr" nach dem Perlmodul
Code: (dl )
find /usr -name DOM.pm
Linuxer
 2008-11-14 17:43
#116271 #116271
User since
2006-01-27
3881 Artikel
HausmeisterIn

user image
Was mir leider grade erst auffällt:

Anhand der Pfade, die in @INC hinterlegt sind (siehe Fehlermeldung), scheint die verwendete Perl-Installation in /usr/local zu liegen.

Ich vermute mal, dass "rug pa" (was auch immer das ist) die installierten Systempakete verwaltet/durchsucht; die beziehen sich in der Regel nicht auf /usr/local; denn das ist ja gerade für individuelle, system-fremde Installationen angedacht (z.B. alles was man manuell kompiliert/installiert und nicht über die systemeigene Paketverwaltung installiert).

Daher kommen wir wieder auf renees initiale Frage nach den 2 Perl Installationen...

ich tippe auf

Code: (dl )
/usr/lib/perl

und
Code: (dl )
/usr/local/perl-5.8.8


Somit dürfte es auch zwei Perl-Executables geben:

Code: (dl )
/usr/bin/perl

Code: (dl )
/usr/local/bin/perl

meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
manloeste
 2008-11-14 17:46
#116272 #116272
User since
2008-11-14
3 Artikel
BenutzerIn
[default_avatar]
hey danke leute, 'find' findet:
/usr/lib/perl5/vendor_perl/5.8.3/XML/DOM.pm

da scheint sich also doch noch ne perl version versteckt zu haben...

:-O seltsam

kann ich denn einfach das modul dort rauskopieren und in das andere perl-verzeichnis kopieren?
Linuxer
 2008-11-14 17:51
#116273 #116273
User since
2006-01-27
3881 Artikel
HausmeisterIn

user image
Ich würde es installieren (lassen), wenn Du es in /usr/local brauchst.

Musst Du das Skript mit der Perl-Installation in /usr/local laufen lassen?
Schon mal versucht, dass System-Perl zu nutzen?
Das Executable dazu sollte /usr/bin/perl sein (so die Theorie)...

Alternativ kannst Du versuchen, die System-Installation in Deinem Skript mitzunutzen:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
#! /usr/local/bin/perl
use strict;
use warnings;

# use Core Modules;

use lib qw( /usr/lib/perl5/vendor_perl/5.8.3 );
use XML::DOM;

# weiteres Skript

meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
manloeste
 2008-11-14 17:55
#116274 #116274
User since
2008-11-14
3 Artikel
BenutzerIn
[default_avatar]
wow danke, das klingt schonmal gut.
dann ist das nachinstallieren vermutlich die sauberste lösung, aber ich kann zum testen jetzt übers we wenigstens mal das modul verwenden und das skript zum laufen bringen :-)
das is super, weil ich bisschen unter zeitdruck stehe.

vielen dank euch schonmal!!
<< >> 10 Einträge, 1 Seite



View all threads created 2008-11-14 16:19.