OS X 10.4.6 - Wie installiere ich Perl-Module nach?

W

wike63

Mitglied
Thread Starter
Dabei seit
24.03.2005
Beiträge
33
Reaktionspunkte
0
Hallo!

Ich habe auf meinem neuen Rechner den Apache, php, MySQL, phpmyadmin und auch Perl am laufen - das Perl-Script webenv.pl zeigt mir bereitwillig alle installierten Module.
Da ich nun gerne meine Perl-Applikationen auf dem MBP weiterentwickeln möchte, benötige ich eine Vielzahl an Modulen, die leider nicht installiert sind (z.B. DBI, Html-Template, GD, Char...).
Auf dem WindowsPC war dies mit ppm sehr einfach. Ähnlich einfach sollte es auch auf dem Mac sein, es funktioniert nur nicht.
Im Terminal versuche ich mit sudo perl -ECPAN -eshell und install bundle::dbi das Modul zu installieren. Er lädt auch die tar.gz Datei herunter und extrahiert diese. Danach versucht er anscheinend mit make ect. das Modul zu installieren, was leider nicht gelingt.

Also Freunde: weiß hier jemand Bescheid? Wie bekomme ich dbi, gd und Co?
 
Grundvoraussetzung: die Developer Tools müssen installiert sein.
Dann funktioniert es im Prinzip so, wie bei jedem anderen Unix/Linux.
Entweder über die cpan Shell oder "von Hand".

Manche Module machen mehr Probleme als andere.
So waren zB. DBI und Net::SSH::perl nicht ganz einfach zu installieren.
 
Perl - Module installieren...

Danke für die Antwort.

Die Developertools sind bereits installiert - es funktioniert trotzdem nicht. Gibt es einen anderen Hinweis? Irgendwelche besondere Config-Dateien, Pfad-Einstellungen o.ä.?
 
"funktioniert nicht" ist keine Fehlerbeschreibung, bei der man helfen kann.

In der Perl Community lautet die Anleitung, wie man eine Frage stellen sollte (vereinfacht) so.

Beschreibe, was Du machst!
Beschreibe, was Du erwartest!
Beschreibe, was stattdessen passiert!
 
OK, dann mal Schritt für Schritt:

Der Rechner ist ein MaxBookPro mit Intel DuoCore und System OS X 10.4.6.
Webserver, php und Perl sind die mitgelieferten Versionen (Apache 1.3.33, PHP 4.4.1 und Perl 5.008006).
MySql ist installiert und läuft, ebenso phpmyadmin.
Webseiten sind als html, php, pl und cgi aufrufbar und funktionieren ebenfalls.

Jetzt möchte ich gerne CGI-Programme ausführen, die Module wie z.B. DBI oder GD benötigen. Apache gibt eine Fehlermeldung, da diese Module nicht vorhanden sind.
Daher habe ich folgendes probiert:
Im Terminal habe ich folgendes eingegeben:
sudo perl -ECPAN -eshell
install Bundle::DBI

Im Folgenden werden die Bibliotheken geladen. Make und Test.pl dagegen melden diverse Fehler.
Die CPAN-Dateien sind unter Benutzer/meinName/.cpan in den Ordnern build, Bundle und sources gespeichert.

Ich habe mir dann gedacht, die fertigen *.pm Dateien (und Ordner) einfach in das Perl-Verzeichnis zu verschieben (system/Library/Perl/5.8.6/), was unter Windows funktioniert.

Dann habe ich, nachdem ich in einigen Foren nachgesehen habe, von meiner StartCD die XCode-Tools nachinstalliert - dies sind die genannten Developer-Tools, oder?.

Dabei gab es zunächst das Problem, das in das Startverzeichnis der Ordner OpenBase mit installiert wurde, der den Mac direkt nach dem Starten einfror und unbedienbar machte. Erst nachdem ich im sicheren Modus die OpenBase-Treiber wieder entfernte konnte ich mit dem Rechner wieder arbeiten.

Eventuell muss der Open-Base-Treiber geladen sein? Jedenfalls gibt es jetzt ein Verzeichnis namens Developer, in dem auch der C-Compiler vorhanden ist.

Leider hat keiner dieser Wege dazu geführt, dass diese Module überhaupt erkannt, geschweige denn ausgeführt werden können. Das heisst, meine CGI-Programme funktionieren auch weiterhin nicht auf dem Mac (Fehlermeldung nach use dbi; ).

Was kann ich noch probieren um externe Perlmodule einzubinden?
 
Ergänzung zu oben - Ablauf meiner CPAN-Sitzung ist wie folgt:

<code>
cpan> install HTML::Template
Running install for module HTML::Template
Running make for S/SA/SAMTREGAR/HTML-Template-2.8.tar.gz
Checksum for /Users/Eisenbach/.cpan/sources/authors/id/S/SA/SAMTREGAR/HTML-Template-2.8.tar.gz ok
HTML-Template-2.8/
HTML-Template-2.8/t/
HTML-Template-2.8/t/03else_else_bug.t
HTML-Template-2.8/t/99-old-test-pl.t
.....Liste mit weiteren Dateien ....
HTML-Template-2.8/templates/newline_test1.tmpl
HTML-Template-2.8/ARTISTIC
Removing previously used /Users/Eisenbach/.cpan/build/HTML-Template-2.8

CPAN.pm: Going to build S/SA/SAMTREGAR/HTML-Template-2.8.tar.gz

Checking if your kit is complete...
Looks good
Writing Makefile for HTML::Template
-- NOT OK
Running make test
Can't test without successful make
Running make install
make had returned bad status, install seems impossible

</code>

Hilft dies weiter?
 
hast du XCode installiert? ansonsten hast du kein make und keinen compiler ;)
 
XCode wurde zusammen mit den Developer-Tools von der STartCD im Verzeichnis ./Developer/Applications/ installiert.
Dort ist auch der Interface-Builder vorhanden (Version 2.5.3).
Ich habe beide Programme einmal aufgerufen und danach erneut versucht, mit der CPAN-Shell die Module zu installieren. Ergebnis wie bereits zitiert.
 
wike63 schrieb:
...
Hilft dies weiter?
Was passiert, wenn Du das Makefile "von Hand" erzeugst?
(mit "perl Makefile.PL" im Verzeichnis, wo "HTML-Template-2.8.tar.gz" hin entpackt wurde).
Dass Du die cpan Shell mit "sudo" starten musst ,weisst Du vermutlich.

btw: nimm [] für die Code Tags.
 
Hier der Terminal-Auszug:

Code:
noname:~/.cpan/build/HTML-Template-2.8 Eisenbach$ sudo perl Makefile.PL
Password:
Writing Makefile for HTML::Template
noname:~/.cpan/build/HTML-Template-2.8 Eisenbach$

Mehr passiert nicht.
 
Sorry, meine Erfahrungen mit C-Compilern ect. sind schon eine lange Weile her und stammen noch aus Atari-Zeiten.
Also: ein anschließendes make install verläuft erfolgreich, das Modul wurde installiert.

Hier nochmal meine Eingaben im Terminalfenster:

Code:
noname:~/.cpan/build/HTML-Template-2.8 Eisenbach$ sudo make install
Password:
cp Template.pm blib/lib/HTML/Template.pm
Manifying blib/man3/HTML::Template.3pm
Installing /Library/Perl/5.8.6/HTML/Template.pm
Installing /usr/local/man/man3/HTML::Template.3pm
Writing /Library/Perl/5.8.6/darwin-thread-multi-2level/auto/HTML/Template/.packlist
Appending installation info to //System/Library/Perl/5.8.6/darwin-thread-multi-2level/perllocal.pod
noname:~/.cpan/build/HTML-Template-2.8 Eisenbach$

Also: manuell geht es schon mal. Bekommen wir es noch so gebacken, dass es automatisch ablaufen kann (das wäre echt klasse)?
 
und jetzt:
Code:
sudo make
sudo make test
sudo make install
(ggf. mit "sudo" normalerweise braucht man sudo nur für das letzte Kommando, wenn man nicht innerhalb des "~/.cpan" Verzeichnisses arbeitet)
 
Wie gesagt - lokal im Verzeichnis, in dem das Modul geladen wurde (.cpan) funktioniert make install ect.

Wie bekomme ich jetzt aber die CPAN-Shell dazu, die Installation direkt, d.h. ohne meine manuelle Hilfe, durchzuführen? Muss hierfür eine Datei angepasst werden? Wenn ja, welche?
 
Das kann ich Dir leider auch nicht genau sagen, da ich nur sehr selten mit der cpan Shell arbeite. Falls Du keine Lösung findest, könntest Du mal bei comp.lang.perl.misc (im usenet) nachfragen.
 
Zurück
Oben Unten