Perl-Modul installieren, die zweite...
Johnny B.
- perl
Hallo geehrtes Forum,
inzwischen ist die Perl-Verion auf meinem Server auf 5.10 erneuert. Ich dachte es wäre eine gute Gelegenheit, die Installation eines Moduls noch einmal zu probieren.
Neue Fehlermeldung, neues Glück?
Ich lade das Modul von CPAN herunter, per FTP hinauf, gehe mit Putty in die Shell und dort ereignet sich folgendes:
[00:15:10] server282-han:~/temp/Sub-Name-0.04 > perl Makefile.PL
Writing Makefile for Sub::Name
[00:15:16] server282-han:~/temp/Sub-Name-0.04 > make
cc -c -D_REENTRANT -D_GNU_SOURCE -DDEBIAN -fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2 -g -DVERSION="0.04" -DXS_VERSION="0.04" -fPIC "-I/usr/lib/perl/5.10/CORE" Name.c
/bin/sh: cc: command not found
make: *** [Name.o] Error 127
Ist cc der C-Compiler, der nicht gefunden wird? Wenn ich das richtig verstanden habe, ist Sub::Name kein reines Perl-Modul? Jedenfalls bekomme ich beim einfachen Kopieren der lib folgende Fehlermeldung ausgeworfen: Can't locate loadable object for module Sub::Name in @INC
Eigentlich will ich eine Mail-Engine bauen, und dafür Email::* verwenden, wo CPAN so ein flammendes Plädoyer dafür gehalten hat. Und da waren sie wieder: meine drei Probleme...
Je mehr ich mich mit Modulen befasse, desto toller finde ich sie. Gibt es denn als Plan B die Möglichkeit, Module selber zu kompilieren und dann hochzuladen? Ist zwar elendiges Gefrickel, aber 'install Email::Sender' will bei mir einfach nicht funktionieren, verfl*#$%te Modulsch#*%$§!!
Modulare Grüße
JOhnnY
Hallo Johnny! Ich ernenne dich zum unglücklichsten Perlprogrammierer der Welt!
Ist cc der C-Compiler, der nicht gefunden wird? Wenn ich das richtig verstanden habe, ist Sub::Name kein reines Perl-Modul?
Ja und ja.
Gibt es denn als Plan B die Möglichkeit, Module selber zu kompilieren und dann hochzuladen?
Ich gehe davon aus, dass der Hoster Debian oder ein Debian-Derivat einsetzt, der Compileraufruf deutet darauf hin. Fordere den Sysadmin auf, das Paket build-essential zu installieren, dies enthält als Abhängigkeit C-Compiler und verwandte Header.
Ansonsten kannst du gerne die gleiche Umgebung, wie dein Hoster sie hat, auf einem Rechner/VM zu Hause nachstellen. Du musst die gleiche Rechnerarchitektur, das gleiche Betriebssystem und alle benutzten Libraries in der gleichen Nebenversionsnummer vorliegen haben, und die Installationszielverzeichnisse dürfen sich natürlich auch nicht unterscheiden. Das fertige Kompilat kannst du dann hochschieben und dann dort mit dem Befehl make install fortsetzen.
Debianistas: Was ist das Äquivalent zu
> rpm -q perl-base
perl-base-5.10.0-72.5.x86_64
> rpm -q perl
perl-5.10.0-72.5.x86_64
d.h. Abfrage der Version eines installiertes Pakets?
Hallo CPAN,
Hallo Johnny! Ich ernenne dich zum unglücklichsten Perlprogrammierer der Welt!
eine tüte Mitleid hilft doch immer... <schnief/schluchz> Es gehen ja immerhin alle reinen Perl-Module, wenn ich sie stumpf in die lib kopiere. Das ist zwar nicht, was ich eigentlich will, aber immerhin deutlich mehr als nichts.
Gibt es denn als Plan B die Möglichkeit, Module selber zu kompilieren und dann hochzuladen?
Ich gehe davon aus, dass der Hoster Debian oder ein Debian-Derivat einsetzt, der Compileraufruf deutet darauf hin. Fordere den Sysadmin auf, das Paket build-essential zu installieren, dies enthält als Abhängigkeit C-Compiler und verwandte Header.
hab ich gemacht. Mal sehen, was passiert.
Ansonsten kannst du gerne die gleiche Umgebung, wie dein Hoster sie hat, auf einem Rechner/VM zu Hause nachstellen. Du musst die gleiche Rechnerarchitektur, das gleiche Betriebssystem und alle benutzten Libraries in der gleichen Nebenversionsnummer vorliegen haben, und die Installationszielverzeichnisse dürfen sich natürlich auch nicht unterscheiden. Das fertige Kompilat kannst du dann hochschieben und dann dort mit dem Befehl make install fortsetzen.
hört sich simpel an. Für mich und meine (bisher) reine Windows-Brille: so einfach wie eine Software auf einem Windows-Rechner zu installieren und dann durch Kopieren der Dateien auf einem anderen Rechner zum Laufen zu bringen. Wobei: wenn Du den alten Thread gelesen hast: ob es dann mit make install korrekt weitergeht, ist auch noch nicht gesagt.
Debianistas: Was ist das Äquivalent zu
> rpm -q perl-base
perl-base-5.10.0-72.5.x86_64
> rpm -q perl
perl-5.10.0-72.5.x86_64d.h. Abfrage der Version eines installiertes Pakets?
was willst Du damit sagen/fragen? Ist das überhaupt eine Frage an mich? Das Fragezeichen impliziert eine Frage, aber verstehen tu ich sie nicht.
Modulierte Grüße
JOhnnY
Ist das überhaupt eine Frage an mich?
Ne, an andere. Die Antwort ist aber nützlich für dich. So kannst du die Versionsnummern am Host aufzeichnen und die korrekten Pakete bei deiner lokalen Instanz installieren.