Klaus Mock: Installation des DBI-Moduls

Beitrag lesen

Hallo,

ich habe mir gerade die DBI.tar.gz von mysql.com runtergeladen und in den Unterordner "lib" von Perl extrahiert (mit "Pfadangaben verwenden").  Als ich es jetzt testen wollte kam aber die Fehlermeldung "DBI.pm can´t be located"...

So einfach ist das nicht. Du solltest vor der Installation eines Moduls in jedem Fall die 'beiliegenden'Installationsanweisungen (README bzw. INSTALL) und die Dokumentation 'perlmodinstall' durchlesen.
Der 'normale' Weg einer Modulinstallation läuft über eine Commandshell ab, und geht so:
1.) *.tar.gz irgendwo lokal entpacken dann mit der Commandshell in das oberste gerade erzeugte Verzeichnis wechseln.
2.) 'perl Makefile.PL' ausführen. Dies erzeugt eine Steuerdatei (Makefile), welche für den späteren Installationsprozeß aktuelle Systemgegebenheiten und lokale Perlspezifikationen berücksichtigt.
3.) 'make' ausführen. [1] Dies erzeugt sämtliche Dateien, welche für die Installation notwendig sind und komiliert auch eventuell notwendige C-Bibliotheken des Moduls. [2]
4.) 'make test' ausführen. Dadurch werden, falls vorhanden, grundlegende Tests ausgeführt, um die korrekte Funktion des Moduls zu überprüfen.
5.) Sollte bis hier alles gut gegangen sein, dann ist noch 'make install' aufrufen, wodurch alle Dateien an den dafür vorgesehenen Ort kopiert werden.

Das ist notwendig, da Perl auf jedem System etwas andere Verzeichnisstrukuren aufweist, bzw. bei C-Anteilen diese auch für das Zielsystem übersetzt werden müssen. Das einfach nur irgendwohin kopieren läuft dann nicht (immer).
Für DBI brauchst Du für diesen Vorgang jedenfalls auch den C-Compiler.
Um jedoch auf mySQL zugreifen zu wollen, benötigst Du neben DBI auch noch das DBD::mysql-Modul, welches Du übrigens, wie auch alle anderen Module, vom CPAN-Server http://www.cpan.org oder einem seiner Spiegelserver holen solltest, da nur so gewährleistet ist, daß Du auch die aktuelle Version benutzt.

So, das wars in Kürze, genauer stehts in den oben genannten Quellen.
Grüße
  Klaus

[1] Unter Windows wird meist 'nmake' von Mikrosoft verwendet, das gibts (ausnahmsweise gratis) auf der MS-Downloadpage, bzw. ist im Lieferumfang von Visual-C. Also sämtliche 'make' sind in diesem Falle durch 'nmake' zu ersetzen.
[2] Dafür ist jedoch ein geeigneter C-Compiler notwendig, was unter Unix im Normalfall kein Streß ist, unter Windows ist das jedoch etwas schwieriger. Da viele Binär-Distributionen von Perl auf Visual-C bestehen, das jedoch kostenpflichtig ist. Einzige mir bekannte Ausnahme ist die Cygwin-Umgebung, für die es auch ein vorkompiliertes Perl, das dann die Module mit dem gcc kompiliert. [3]
[3] Allerdings gibt es für die verbreitete Activestate-Distribution bereits viele vorkompilierte Module, die dann mit 'ppm' leicht zu installieren sind. (siehe dazu die Activestate-Doku) Welche Module es bereits fertig von Activestate gibt, findest Du unter http://www.activestate.com/ppmpackages.