Romulo Goncalves wrote:
Hello,
My name is Romulo (INS-1) and I am trying to create a windows installer with Perl. My colleagues told me that you are the Perl expert in MonetDB...
To compile PERL I did:
install perl in C:\perl_5\ and unzip the sources in same directory as MonetDB SQL MONETDB5 .... (The same steps as we should do for php}
In the MonetDB\conf\rules.msc I added:
PERL_SRCDIR = $(TOPDIR)\..\..\perl-5.8.8 PERL_INSTDIR = C:\perl-5 # for these, also see configure.py PERL_EXTENSIONDIR = lib\perl5
Note: I am compiling for M5 and sql from cvs branch.
For the compilation I set the flag HAVE_PERL=1.
Everything compiled.
Now I need to know which files I have to add to the installer. I was looking for a perl lib in cliens\NT\lib\ and It does not have such lib.
Could you help me a bit please?
First and foremost, let me admit that I did not find time to implement the new protocol (8) yet - thus the perl modules may not work for M5 (at least the pure perl (MapiPP) client). Anyway, this has nothing to do with the installation procedure. In the spirit of Perl’s motto, "There’s More Than One Way To Do It" (TMTOWTDI), there are many perl modules in clients/src/perl: - Mapi.pm is a simple pure perl client, maintained by CWI and works (AFAIK) with the current protocol - MapiLib (in Cimpl) is a wrapper around libMapi and you need SWIG to build it - The modules in MonetDB-CLI* are maintained by me: - MonetDB::CLI::MapiPP is pure perl - MonetDB::CLI::MapiLib is pure perl but uses MapiLib - MonetDB::CLI::MapiXS is a XS (that is: C) wrapper around libMapi - MonetDB::CLI is a simple loader for one of the MonetDB::CLI::* modules above - DBD::monetdb (in DBD) is a DBI client on top of MonetDB::CLI In general, you install a perl module in the following way: perl Makefile.PL make make test make install In this way, perl saves you from all the drudgery. Installing by hand is easy for pure perl modules (though not recommended): simple copy all *.pm into your perl lib directory. Example (MonetDB::CLI::MapiPP): MonetDB-CLI-MapiPP/MapiPP.pm -> /perl/site/lib/MonetDB/CLI/MapiPP.pm (assuming /perl/site/lib is in the lib search path - try 'perl -V' and look for @INC and PERL5LIB. Later, if you try to load MonetDB::CLI::MapiPP, perl replaces '::' with '/', adds .pm and looks in every path from @INC.) However, installing an extension module (XS or SWIG) is difficult! Perl builds additional files (e.g. .dll) which have to be installed into different places. Best you call the standard 'make install' from the installer or at least watch what 'make install' would do. Regards, Steffen