• Willkommen im Geoclub - dem größten deutschsprachigen Geocaching-Forum. Registriere dich kostenlos, um alle Inhalte zu sehen und neue Beiträge zu erstellen.

Perl-Module neu installieren für geolog

moenk

Administrator
Teammitglied
Da kam grad die Suse 11.2 raus und nun gehts wieder los: Perl fehlen alle Module.
moenk@hasenpapa:~/geolog> ./geolog.pl
Can't locate File/Which.pm in @INC (@INC contains: /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 /usr/lib/perl5/vendor_perl/5.10.0 /usr/lib/perl5/vendor_perl .) at ./geolog.pl line 34.
BEGIN failed--compilation aborted at ./geolog.pl line 34.
Und die muss ich dann einzeln wieder an Bord holen. Modul installieren, gucken was nun noch fehlt, und wieder von vorn. Geht das nicht einfacher?
 

fogg

Geomaster
Ich hab irgendwann Abstand von Suse genommen. Das ist ja nicht nur ein Perl-Problem :zensur:

- Fogg

P.S.: Bei MacOSX haben sie aber auch irgendwann mal geschafft, bei einem "Upgrade" auf eine völlig veraltete Perl-Version zu downgraden :kopfwand:
 
OP
moenk

moenk

Administrator
Teammitglied
Wie auch immer - ein Skriptlein was alle in Perl an Modulen installiert was man braucht wäre schon schick!
 

team-noris

Geomaster
Dafür gibt es das CPAN-Modul von Andreas König:

http://search.cpan.org/~andk/CPAN/

Code:
perl -MCPAN -e shell
cpan> install LWP::UserAgent;
cpan> install Archive::Zip;
....
exit;

Eine vernünftige Distribution installiert CPAN standardmässig, d.h. man könnte es in geolog einbauen, daß nicht installierte Module installiert werden, das CPAN-Modul kann auch aus Perl-Skripten heraus aufgerufen werden:

Code:
CPAN::Shell->install("Acme::Meta");

Halte ich aber für übers Ziel hinausgeschossen, die Funktionsweise von CPAN auf der Commandline (sudo cpan) in der Doku wäre aber sicher nett.


Klaus
 
OP
moenk

moenk

Administrator
Teammitglied
cpan> install LWP::UserAgent;
cpan> install Archive::Zip;
[...]
Diese Liste in vollständiger Form würde die Sache schon vereinfachen. Vorzugsweise so formatiert dass ich sie nur in das CPAN reinpipen muss. Perfekt als Shell für Ruth und im Paket dabei.
 

Schiwi

Geocacher
Wenn CPAN aus Perl-Skripten heraus aufgerufen werden kann, wär es vielleicht ne Idee dem geolog Paket ein seperates Script bei zu fügen mit dem alle erforderlichen Pakete installiert werden können
 

fogg

Geomaster
Schiwi schrieb:
Wenn CPAN aus Perl-Skripten heraus aufgerufen werden kann, wär es vielleicht ne Idee dem geolog Paket ein seperates Script bei zu fügen mit dem alle erforderlichen Pakete installiert werden können

Mhm, aber wo kriegt man jetzt raus, welche Pakete standardmäßig dabei sind?

Grüße - Fogg
 
A

Anonymous

Guest
fogg schrieb:
Mhm, aber wo kriegt man jetzt raus, welche Pakete standardmäßig dabei sind?
Das lässt sich doch sicher prüfen, oder? Und was dann eben fehlt, wird nachgezogen.

Wobei ich mich dunkel daran erinnern kann, das einige Module echt Probleme gemacht haben und nur mit viel Handarbeit installiert werden konnten. :/
 

Spike05de

Geomaster
Schrottie schrieb:
Wobei ich mich dunkel daran erinnern kann, das einige Module echt Probleme gemacht haben und nur mit viel Handarbeit installiert werden konnten. :/

Kann ich nicht bestätigen. Bei mir ging jedes Modul problemlos zu installieren (Debian Lenny), allerdings hätte ich mir ein Script gewünscht das alles fehlende einfach installiert hätte.
 

Schiwi

Geocacher
Selbst wenn man eins oder zwei Module nachträglich per Hand installieren muss, so ist es doch trotzdem viel einfacher als wenn man fünf oder sechs von Hand installieren muss ;)
 
OP
moenk

moenk

Administrator
Teammitglied
Per Default ist bei Suse nicht mal automake oder gcc dabei. Aber das darf mal voraussetzen, so tief müssen wir da nicht ansetzen. Mal ausgehend von dem Fall dass die Module sich alle installieren lassen, wäre ein Skript schon hilfreich.
 

fogg

Geomaster
moenk schrieb:
Per Default ist bei Suse nicht mal automake oder gcc dabei. Aber das darf mal voraussetzen, so tief müssen wir da nicht ansetzen. Mal ausgehend von dem Fall dass die Module sich alle installieren lassen, wäre ein Skript schon hilfreich.

Ich habe die Botschaft gehört :roll: . Aber hat auch HSCA die Ohren gespitzt? ;) Apropos: eigentlich könnte man so ein Skript ziemlich unabhängig von geolog/ocprop schreiben. Man müsste sich bloß die "use"-Statements anschauen.

Wer hätte denn Lust?

- Fogg
 
OP
moenk

moenk

Administrator
Teammitglied
Wer auch immer das mal machen wird: Schlägt die Installation eines Moduls fehl weil was nicht da war was man braucht wie gcc oder so muss man für einen neuen Anlauf die Reste der Installation erst mal entfernen hab ich in Erinnerung.
 

HSCA

Geomaster
Ja, hat er. :roll: Bei der Frage der Lust würde ich mich allerdings ziemlich weit hinten anstellen. :eek:ps:
Ich habe das Installieren gerade wieder hinter mir, aber mit zwei Terminals (1 Root zum installieren, 1 Nutzer zum Starten) fand ich das nicht so kompliziert. Sicher, als Neunutzer ist es schon nervig, wenn ein Programm nicht OutOfTheBox läuft, andereseits ist der Lern- und Ahaeffeckt auch nicht zu unterschätzen. :^^:

Schöne Grüße - C
 
OP
moenk

moenk

Administrator
Teammitglied
Das ist Mist weils nix mit lernen zu tun hat sondern einfach nur nervt. Der Rest der Installation, allein die ftp-Zeile ist für normale User schon kompliziert genug. Mir fallen genug Leute ein die unter Windows schon kein Bock mehr auf geolog gehabt haben weil alles zu kompliziert war, und da ist ja sogar alles dabei. Ich find geolog total Klasse aber die Module halten mich grad von der weiteren Nutzung effektiv ab. So groß ist der Leidensdruck auch deswegen nicht weil ich eh kaum Geocaches logge.
 

team-noris

Geomaster
Um es mal hart auszudrücken: Es ist allgemein nicht üblich, das Perl-Skripte benötigte Module selbst installieren - wer das nicht auf die Reihe kriegt, der ist mit Linux beim falschen OS gelandet, das dauert 2 oder 3 Minuten und lohnt keine Automatisierung.

Wer da Zeit investieren will (ich nicht), der schaue sich mal auf CPAN Module::AutoInstall oder ExtUtils::AutoInstall an, das geht in diese Richtung - keine Ahnung welches der Module besser ist. Auf die Schnelle habe ich bei PerlMonks diesen Artikel gefunden, vielleicht als Starter lesen.

Wie gesagt, ich finde das ist verplemperte Zeit, in der man etwas besseres coden kann. Zwei Konsolen auf, in einer geolog starten, in der anderen die cpan-shell und dann jedes fehlende Modul der Reihe nach installieren, kurz und schmerzlos. Bei den o.g. Autoinstall-Lösungen bin ich mir ziemlich sicher, das es auf der Vielzahl der vorhanden Distributionen auch eine Vielzahl an möglichen Fehlern gibt.

Gäbe es eine effektive und sichere Möglichkeit Module automatisch zu installieren, dann hätte Perl dafür einen Commandline-Switch.


Klaus
 

fogg

Geomaster
CPAN:AutoINC sieht auch gut aus.

Aber vielleicht wäre ja eine Alternative auch, eine "Binär"-Version zu erzeugen. Für MacOSX/FreeBSD funktioniert der PAR packer ziemlich gut. Sollte also auch für Linux laufen. Ich kann das nicht ausprobieren, da auf meiner Kiste kein Linux läuft.

- Fogg
 

HSCA

Geomaster
fogg schrieb:
Aber vielleicht wäre ja eine Alternative auch, eine "Binär"-Version zu erzeugen. Für MacOSX/FreeBSD funktioniert der PAR packer ziemlich gut. Sollte also auch für Linux laufen. Ich kann das nicht ausprobieren, da auf meiner Kiste kein Linux läuft.
Hi fogg,

ich habe mal PAR::packer ausprobiert. Also unter Linux sieht das gut aus. Da können wir uns noch entscheiden, ob wir Stand-Alone Perl Programme oder Stand-alone Executables erzeugen wollen. Muss jetzt nur noch mal ausprobieren, ob es auch auf einem System funktioniert, wo nicht alle Module installiert sind.

C
 

fogg

Geomaster
Hab mal das Skript module-install.pl geschrieben, das alle fehlenden Module installieren sollte - für Fehlermeldungen ist man selber zuständig :p .

Skript gibt's im SVN Repository in dem Geolog-Ordner (wird demnächst in die Dist aufgenommen).

Grüße - Fogg
 
OP
moenk

moenk

Administrator
Teammitglied
Dankefein! Die Datei hab ich gefunden. Hier der Link: http://geolog.svn.sourceforge.net/viewvc/geolog/geolog/module-install.pl
Was muss ich damit machen? Direkt ausführen kann ich das Skript nicht.
Code:
hasenpapa:/home/moenk/geolog # ./module-install.pl
./module-install.pl: Zeile 1: use: Kommando nicht gefunden.
install: Fehlender Zieldatei‐Operand hinter „HTTP::Cookies“
„install --help“ gibt weitere Informationen.
[...]
 
Oben