Romulo Goncalves wrote:
I am using visual studio 2003 with service pack 1.
To compile I did: nmake NEED_MX=1 HAVE_JAVA=1 HAVE_PYTHON=1 HAVE_PYTHON_SWIG=1 HAVE_PHP=1 HAVE_PERL=1 HAVE_PERL_DEVEL=1 HAVE_PERL_SWIG=1 HAVE_PEAR=1 NO_MONETDB4=1 HAVE_MONETDB5=1
And I got the following error: if exist libMonetODBC.dll.manifest mt -nologo -manifest libMonetODBC.dll.manifest -outputresource:libMonetODBC.dll;2 if not exist "samples" mkdir "samples" copy ".\..\..\..\src\odbc\samples\Makefile.msc" "samples\Makefile" 1 file(s) copied. cd "samples" && nmake /nologo "prefix=C:\cygwin\home\goncalve\MonetDB\MonetDB_SQL\clients\NT" all if not exist "python" mkdir "python" copy ".\..\..\..\src\odbc\python\Makefile.msc" "python\Makefile" 1 file(s) copied. cd "python" && nmake /nologo "prefix=C:\cygwin\home\goncalve\MonetDB\MonetDB_SQL\clients\NT" all if not exist "perl" mkdir "perl" copy ".\..\..\src\perl\Makefile.msc" "perl\Makefile" 1 file(s) copied. cd "perl" && nmake /nologo "prefix=C:\cygwin\home\goncalve\MonetDB\MonetDB_SQL\clients\NT" all NMAKE : warning U4004: too many rules for target 'HAVE_PERL_DEVEL-dir' NMAKE : warning U4004: too many rules for target 'HAVE_PERL_DEVEL-dir' NMAKE : warning U4004: too many rules for target 'HAVE_PERL_DEVEL-dir' if not exist "MonetDB-CLI-MapiPP" mkdir "MonetDB-CLI-MapiPP" NMAKE : warning U4004: too many rules for target 'HAVE_PERL_DEVEL-Makefile' NMAKE : warning U4004: too many rules for target 'HAVE_PERL_DEVEL-Makefile' NMAKE : warning U4004: too many rules for target 'HAVE_PERL_DEVEL-Makefile' copy ".\..\..\..\src\perl\MonetDB-CLI-MapiPP\Makefile.msc" "MonetDB-CLI-MapiPP\Makefile" 1 file(s) copied. NMAKE : warning U4004: too many rules for target 'HAVE_PERL_DEVEL-all' NMAKE : warning U4004: too many rules for target 'HAVE_PERL_DEVEL-all' NMAKE : warning U4004: too many rules for target 'HAVE_PERL_DEVEL-all' cd "MonetDB-CLI-MapiPP" && nmake /nologo "prefix=C:\cygwin\home\goncalve\MonetDB\MonetDB_SQL\clients\NT" all if not exist "Cimpl" mkdir "Cimpl" copy ".\..\..\..\src\perl\Cimpl\Makefile.msc" "Cimpl\Makefile" 1 file(s) copied. cd "Cimpl" && nmake /nologo "prefix=C:\cygwin\home\goncalve\MonetDB\MonetDB_SQL\clients\NT" all cl -GF -W3 -wd4273 -wd4102 -MD -nologo -Zi -Ox -I. -I.\..\..\.. "-IC:\Pthreads\include" -I.\..\..\..\..\src\perl\Cimp "-I..\..\mapilib" -I"C:\cygwin\home\goncalve\MonetDB\MonetDB_SQL\MonetDB\NT\include" -I"C:\cygwin\home\goncalve\MonetDB\Mone DB_SQL\MonetDB\NT\include\common" -I"C:\cygwin\home\goncalve\MonetDB\MonetDB_SQL\MonetDB\NT\include\gdk" -LD -FeMapiLib.dll /link ..\..\mapilib\libMapi.lib cl : Command line error D2003 : missing source filename NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: 'cd' : return code '0x2' Stop. NMAKE : fatal error U1077: '"E:\Visual Studio .NET 2003\VC7\BIN\nmake.exe"' : return code '0x2' Stop.
C:\cygwin\home\goncalve\MonetDB\MonetDB_SQL\clients\NT>cd C:\cygwin\home\goncalve\MonetDB\MonetDB_SQL\clients\NT C:\cygwin\home\goncalve\MonetDB\MonetDB_SQL\clients\NT>
Did I forget something or it is an error from your part?
Aah, I think I understand. What I described: perl Makefile.PL nmake nmake test nmake install is completely unrelated to the MonetDB build. You can try this e.g. in clients/src/perl/MonetDB-CLI-MapiPP - I'm sure it works. 'perl Makefile.PL' will generate a 'Makefile', which is used by nmake. But again, this is all in perl space and has nothing to do with the MonetDB build. Now to the MonetDB build. It uses a similar approach as 'perl Makefile.PL'. Here, 'python autogen.py' generates 'Makefile.msc', which is used by nmake. However, I never tried this to build the perl modules. AFAICS, it work on UNIX (somehow) for Mapi and MapiLib, but (IMHO) it's a difficult and risky way. I think it would be easier to teach autogen how to generate a Makefile which calls 'perl Makefile.PL && make'. Unfortunately, I'm not familar with autogen - but hey, it's a python script; who if not the kind people at CWI can solve this? Two small problems come into my mind: 1. the generated Makefiles may clash on some platforms, if no file extension is used. 2. For Cimpl, SWIG needs to be in the path and a rule for .i files known Regards, Steffen