Installation und Verwendung von Perl Modulen

Hallo Forum,

ich kaempfe immernoch mit den Modulen (wie ihr vielleicht schon frueheren Postings meinerseits entnommen habt).

Also: ich habe ein Skript, dass verwendet das LWP-Modul. Das laeuft bei mir lokal (Win32) mit ActiveState Perl perfekt, dann habe ich es auf den Server (Apache) gespielt und der meldete, dass das Modul fehle. Also habe ich noch die Datei LWP.pm und das Verzeichnis LWP in mein cgi-bin auf den Server gespielt. Jetzt geht’s, obwohl das wahrscheinlich nicht die feine engl. Art ist.

So: jetzt habe ich ein Skript erstellt, welches das GD-Modul verwendet. Lokal geht wieder alles, aber auf dem Server funktioniert nichts. Also habe ich die Modul-Dateien auch wieder auf den Server geschickt. Bringt aber nix. Als Fehler steht jetzt in den Logfiles des Servers: „Can’t locate loadable object for module GD in @INC. Das hilft mir so gar nicht weiter!

Generelle Frage nun: wie ‚installiert‘ man ein Modul sauber auf einem Apache-Server? und weniger generell: wie bekomme ich das GD-Modul zum laufen?

Ich habe nur FTP-Zugang, denn Telnet schmeisst mich nach dem Login immer raus.

Bitte, bitte, bitte, sagt mir alles 'was ihr wisst. Denn ich weiss jetzt nix mehr :smile:

Danke und Gruss, Tobi

Hallo Tobi,

jetzt habe ich ein Skript erstellt, welches das
GD-Modul verwendet. Lokal geht wieder alles, aber auf
dem Server funktioniert nichts. Also habe ich die
Modul-Dateien auch wieder auf den Server geschickt. Bringt
aber nix. Als Fehler steht jetzt in den Logfiles des Servers:
„Can’t locate loadable object for module GD in @INC“.
Das hilft mir so gar nicht weiter!

GD beschwert sich darüber, dass ihm eine Objektdatei
(=kompilierte, in Binärform vorliegende C-Datei fehlt).
Das Modul muss diese Objektdatei in den Perl-Interpreter
einhängen, damit es lauffähig wird und dabei unter
Umständen sogar den ganzen Perl-Interpreter neu kompilieren.

Generelle Frage nun: wie ‚installiert‘ man ein Modul sauber
auf einem Apache-Server?

Das läuft immer über das zugehörige Makefile.pm.
Die Installationsanweisungen für Module sind
standardmässig:

perl Makefile.PL
make
make test
make install

Siehe auch http://www.cpan.org/modules/INSTALL.html

und weniger generell: wie
bekomme ich das GD-Modul zum laufen?

Das GD-Modul benutzt eine gleichnamige C-Bibliothek
mit den Grafikroutinen. Diese muss erst mal auf dem
Webserver installiert sein.

Weiter findest Du in den Moduldateien eine Datei namens
GD.xs, die von make auf der Zielplattform kompiliert
werden muss um die oben gesuchte Objektdatei zu erstellen.

Da diese Objektdatei hardwarspezifisch ist, kannst Du
auch nicht einfach deine (Windows?)-Binärdateien per
FTP auf den Server kopieren, da dieser damit nichts
anfangen kann.

Ich habe nur FTP-Zugang, denn Telnet schmeisst mich nach dem
Login immer raus.

Da für die Installation des GD-Moduls eine bestimmte
C-Bibliothek und ein Eingriff am Perl-Interpreter nötig
sind, solltest Du den Admin des Webservers fragen,
ob er das Modul für Dich installieren kann.

-Andreas.

Ausgewichen auf Image::Magick
Hallo Andreas,

vielen Dank fuer deine ausfuehrliche Antwort. Leider hatte ich so etwas schon geahnt und da ich keine Admin-Rechte habe, werde ich wohl ohne GD-Modul leben muessen.

Ich habe jedoch gesehen, dass Image::Magick auf dem Server installiert ist und fuer meine Grafikzwecke ist das auch voll tauglich. Also werde ich mein Skript vom GD-Modul aufs Image::Magick-Modul umschreiben.

Danke und Gruss, Tobi

PS: ich habe ein sehr geiles Skript tellme.pl gefunden, welches wirklich gute und umfangreiche Information ueber den jeweiligen Webserver ausgibt, also auch z. B. welche Perl-Module alle auf dem Server installiert sind. Schaut’s euch mal an: http://www.perlhelp.de/codeservinfo.xml/index

Hallo Andreas,

du scheinst mir recht kompetent mit Grafik-Modulen unter Perl, darum schreibe ich dich nochmal direkt an.

Ich habe mein Skript jetzt auf das Modul Image::Magick umgebaut. Das Skript macht eigentlich nichts anderes als eine Textzeile ueber eine zuvor eingelesene Grafik zu schreiben und das ganze wieder als Grafik zu speichern. Funktioniert auch lokal (Win) sehr perfekt. Beim Schreiben des Textes muss man jedoch eine Schriftartdatei angeben. Dort habe ich unter Win jetzt Arial.ttf angegeben. Das funktioniert auf dem Unix-Server leider nicht (auch wenn ich die Schriftartdatei hochlade).

Somit meine Fragen: Welche Art von Schriftartdateien gibt es unter Unix/Linux? Wie verwende ich Schriftartdateien unter Perl?

Vielen Dank fuer eine Antwort!

Gruss, Tobi

Image Magick Artikel
Hallo Tobi,

hab noch einen guten Artikel zu dem Modul gefunden:

http://www.linux-magazin.de/ausgabe/1999/03/Magick/m…

-Andreas.