Skip Menu |

This queue is for tickets about the DBD-SQLite CPAN distribution.

Report information
The Basics
Id: 1914
Status: resolved
Priority: 0/
Queue: DBD-SQLite

People
Owner: Nobody in particular
Requestors: gm [...] virtuasites.com.br
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 0.23
Fixed in: (no value)



Subject: Compiling - Win32 - VC++ 6
Can't compile module on Win32 with ActivePerl 5.6.1 & VC++ 6! ----------------------------------------------------------------------- Here's the compile erro: ----------------------------------------------------------------------- C:\tmp\perl\DBD-SQLite-0.23>perl Makefile.PL Checking if your kit is complete... Looks good Using DBI 1.32 installed in C:/Perl/site/lib/auto/DBI Writing Makefile for DBD::SQLite C:\tmp\perl\DBD-SQLite-0.23>nmake Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 Copyright (C) Microsoft Corp 1988-1998. All rights reserved. cp lib/DBD/SQLite.pm blib\lib\DBD\SQLite.pm cp getsqlite.pl blib\lib\DBD\getsqlite.pl C:\Perl\bin\Perl.exe -p -e "s/~DRIVER~/SQLite/g" < C:/Perl/site/lib/auto/DBI/Driver.xst > SQLite.xsi C:\Perl\bin\Perl.exe -IC:\Perl\lib -IC:\Perl\lib C:\Perl\lib\ExtUtils/xsubpp -typemap C:\Perl\lib\ExtUtils\typemap SQLite.xs > SQLite.xsc && C:\Perl\bin\Perl.exe -IC:\Perl\lib -IC:\Perl\lib -MExtUtils::Command -e mv SQLite.xsc SQLite.c cl -c -IC:/Perl/site/lib/auto/DBI -nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX -O1 -MD -DNDEBUG -DVERSION=\"0.23\" -DXS_VERSION=\"0.23\" -IC:\Perl\lib\CORE SQLite.c SQLite.c cl -c -IC:/Perl/site/lib/auto/DBI -nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX -O1 -MD -DNDEBUG -DVERSION=\"0.23\" -DXS_VERSION=\"0.23\" -IC:\Perl\lib\CORE btree.c btree.c sqliteInt.h(86) : error C2632: 'long' followed by 'long' is illegal sqliteInt.h(87) : error C2632: 'long' followed by 'long' is illegal NMAKE : fatal error U1077: 'cl' : return code '0x2' Stop. ----------------------------------------------------------------------- perl -V: ----------------------------------------------------------------------- Summary of my perl5 (revision 5 version 6 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=define useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX', optimize='-O1 -MD -DNDEBUG', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=4 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='link', ldflags ='-nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine:x86' libpth="C:\Perl\lib\CORE" libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release -libpath:"C:\Perl\lib\CORE" -machine:x86' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY USE_ITHREADS PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS Locally applied patches: ActivePerl Build 629 Built under MSWin32 Compiled at Aug 20 2001 12:27:04 @INC: C:/Perl/lib C:/Perl/site/lib .
[guest - Sun Jan 5 21:37:50 2003]: Show quoted text
> Can't compile module on Win32 with ActivePerl 5.6.1 & VC++ 6! > ----------------------------------------------------------------------
- Show quoted text
> Here's the compile erro: > ----------------------------------------------------------------------
- Show quoted text
> C:\tmp\perl\DBD-SQLite-0.23>perl Makefile.PL > Checking if your kit is complete... > Looks good > Using DBI 1.32 installed in C:/Perl/site/lib/auto/DBI > Writing Makefile for DBD::SQLite > > C:\tmp\perl\DBD-SQLite-0.23>nmake > > Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 > Copyright (C) Microsoft Corp 1988-1998. All rights reserved. > > cp lib/DBD/SQLite.pm blib\lib\DBD\SQLite.pm > cp getsqlite.pl blib\lib\DBD\getsqlite.pl > C:\Perl\bin\Perl.exe -p -e "s/~DRIVER~/SQLite/g" < > C:/Perl/site/lib/auto/DBI/Driver.xst > SQLite.xsi > C:\Perl\bin\Perl.exe -IC:\Perl\lib -IC:\Perl\lib > C:\Perl\lib\ExtUtils/xsubpp -typemap C:\Perl\lib\ExtUtils\typemap > SQLite.xs > SQLite.xsc && C:\Perl\bin\Perl.exe -IC:\Perl\lib > -IC:\Perl\lib -MExtUtils::Command -e mv SQLite.xsc SQLite.c > cl -c -IC:/Perl/site/lib/auto/DBI -nologo -O1 -MD -DNDEBUG > -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT > -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX > -O1 -MD -DNDEBUG -DVERSION=\"0.23\" -DXS_VERSION=\"0.23\" > -IC:\Perl\lib\CORE SQLite.c > SQLite.c > cl -c -IC:/Perl/site/lib/auto/DBI -nologo -O1 -MD -DNDEBUG > -DWIN32 -D_CONSOLE -DNO_STRICT -DHAVE_DES_FCRYPT > -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX > -O1 -MD -DNDEBUG -DVERSION=\"0.23\" -DXS_VERSION=\"0.23\" > -IC:\Perl\lib\CORE btree.c > btree.c > sqliteInt.h(86) : error C2632: 'long' followed by 'long' is illegal > sqliteInt.h(87) : error C2632: 'long' followed by 'long' is illegal > NMAKE : fatal error U1077: 'cl' : return code '0x2' > Stop. > ----------------------------------------------------------------------
- Show quoted text
> perl -V: > ----------------------------------------------------------------------
- Show quoted text
> Summary of my perl5 (revision 5 version 6 subversion 1) configuration: > Platform: > osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread > uname='' > config_args='undef' > hint=recommended, useposix=true, d_sigaction=undef > usethreads=undef use5005threads=undef useithreads=define > usemultiplicity=define > useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef > use64bitint=undef use64bitall=undef uselongdouble=undef > Compiler: > cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE > -DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT > -DPERL_IMPLICIT_SYS -DPERL_MSVCRT_READFIX', > optimize='-O1 -MD -DNDEBUG', > cppflags='-DWIN32' > ccversion='', gccversion='', gccosandvers='' > intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 > d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 > ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', > lseeksize=4 > alignbytes=8, usemymalloc=n, prototype=define > Linker and Libraries: > ld='link', ldflags ='-nologo -nodefaultlib -release > -libpath:"C:\Perl\lib\CORE" -machine:x86' > libpth="C:\Perl\lib\CORE" > libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib > comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib > netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib > odbc32.lib odbccp32.lib msvcrt.lib > perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib > winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib > oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib > version.lib odbc32.lib odbccp32.lib msvcrt.lib > libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib > Dynamic Linking: > dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' > cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release > -libpath:"C:\Perl\lib\CORE" -machine:x86' > > > Characteristics of this binary (from libperl): > Compile-time options: MULTIPLICITY USE_ITHREADS > PERL_IMPLICIT_CONTEXT PERL_IMPLICIT_SYS > Locally applied patches: > ActivePerl Build 629 > Built under MSWin32 > Compiled at Aug 20 2001 12:27:04 > @INC: > C:/Perl/lib > C:/Perl/site/lib > .
This is a known issue. http://testers.cpan.org/search?request=dist&dist=DBD- SQLite#0.23+MSWin32+4.0+MSWin32-x86-multi-thread A *workaround* is to simply download the last version known to work ;) which is DBD-SQLite-0.19 get it from backpan http://mirrors.develooper.com/perl/backpan/authors/id/M/MS/MSERGEANT/
[guest - Sun Jan 5 21:37:50 2003]: Show quoted text
> Can't compile module on Win32 with ActivePerl 5.6.1 & VC++ 6!
I got it to compile (and all tests still to pass) by changing : # define INTPTR_TYPE long long to # define INTPTR_TYPE __int64 in sqliteInt.h. I got some VC++6 warnings about differing sizes both times whether I tried __int64 or __int32, so I thought I was on the safe side with 64 bits. I'm not deep enough into the preprocessor macro declarations to know where to declare/change the INTPTR_TYPE such that the correct type gets used, but I found __int64 used in a different header file (os.h). And, I'm using IndigoPerl 5.6.1, not ActiveState Perl, but this IndigoPerl was also compiled using VC (see below for perl -V) -max (CORION) PS: If you don't read it from my writing above, I can barely read C (++), and even less write it. I just manipulate symbols, and completely rely on the set of tests delivered with DBD::SQLite to confirm that everything is still OK. Summary of my perl5 (revision 5 version 6 subversion 1) configuration: Platform: osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread uname='' config_args='undef' hint=recommended, useposix=true, d_sigaction=undef usethreads=undef use5005threads=undef useithreads=define usemultiplicity=def ine useperlio=undef d_sfio=undef uselargefiles=undef usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef Compiler: cc='cl', ccflags ='-nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE - DNO_STRICT - DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS - DPERL_MSVCRT_READ FIX', optimize='-O1 -MD -DNDEBUG', cppflags='-DWIN32' ccversion='', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234 d_longlong=undef, longlongsize=8, d_longdbl=define, longdblsize=10 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize =4 alignbytes=8, usemymalloc=n, prototype=define Linker and Libraries: ld='', ldflags ='-nologo -nodefaultlib -release - libpath:"f:\dev\dp\perl-5. 6_install\lib\CORE" -machine:x86' libpth=\lib libs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32 .lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsoc k32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib perllibs= oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib comd lg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib msvcrt.lib libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl56.lib Dynamic Linking: dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' ' cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -release - libpath:"f: \dev\dp\perl-5.6_install\lib\CORE" -machine:x86'