[Monetdb-developers] MonetDB with Perl in windows

Romulo Goncalves R.A.Goncalves at cwi.nl
Wed May 16 11:56:56 CEST 2007

Steffen Goeldner wrote:
> 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
To do this I have to use cygwin which takes too long and it cannot be 
used for windows 64 bits. Do you know the steps for native compiler (nmake)?

> 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

More information about the developers-list mailing list