Problems building DBI on Windows



While I love programming in Perl, I am new at building and installing
modules. After going through the aggravation of getting my PATH,
INCLUDE and LIB set up correctly, and getting to first base with nmake,
I failed as below. Thanks you very much for any help! The steps:



Perl Makefile.PL:



[d:\perl\dbi-1.48]perl Makefile.PL



*** You are using a perl configured with threading enabled.

*** You should be aware that using multiple threads is

*** not recommended for production environments.



*** Note:

The optional PlRPC-modules (RPC::PlServer etc) are not installed.

If you want to use the DBD::Proxy driver and DBI::ProxyServer

modules, then you'll need to install the RPC::PlServer,
RPC::PlClient,

Storable and Net::Daemon modules. The CPAN Bundle::DBI may help you.

You can install them any time after installing the DBI.

You do *not* need these modules for typical DBI usage.



Optional modules are available from any CPAN mirror, in particular

http://search.cpan.org/

http://www.perl.com/CPAN/modules/by-module

http://www.perl.org/CPAN/modules/by-module

ftp://ftp.funet.fi/pub/languages/perl/CPAN/modules/by-module



Creating DBI::PurePerl test variant: t/zvpp_01basics.t

Creating DBI::PurePerl test variant: t/zvpp_02dbidrv.t

Creating DBI::PurePerl test variant: t/zvpp_03handle.t

Creating DBI::PurePerl test variant: t/zvpp_04mods.t

Creating DBI::PurePerl test variant: t/zvpp_05thrclone.t (use
threads)

Creating DBI::PurePerl test variant: t/zvpp_06attrs.t

Creating DBI::PurePerl test variant: t/zvpp_07kids.t

Creating DBI::PurePerl test variant: t/zvpp_08keeperr.t

Creating DBI::PurePerl test variant: t/zvpp_09trace.t

Creating DBI::PurePerl test variant: t/zvpp_10examp.t

Creating DBI::PurePerl test variant: t/zvpp_11fetch.t

Creating DBI::PurePerl test variant: t/zvpp_14utf8.t

Creating DBI::PurePerl test variant: t/zvpp_15array.t

Creating DBI::PurePerl test variant: t/zvpp_20meta.t

Creating DBI::PurePerl test variant: t/zvpp_30subclass.t

Creating DBI::PurePerl test variant: t/zvpp_40profile.t

Creating DBI::PurePerl test variant: t/zvpp_41prof_dump.t

Creating DBI::PurePerl test variant: t/zvpp_42prof_data.t

Creating DBI::PurePerl test variant: t/zvpp_50dbm.t

Creating DBI::PurePerl test variant: t/zvpp_60preparse.t

Creating DBI::PurePerl test variant: t/zvpp_80proxy.t



I see you're using perl 5.008006 on MSWin32-x86-multi-thread, okay.

Remember to actually *read* the README file!

Use 'make' to build the software (dmake or nmake on Windows).

Then 'make test' to execute self tests.

Then 'make install' to install the DBI and then delete this working

directory before unpacking and building any DBD::* drivers.



Windows users need to use the correct make command.

That may be nmake or dmake depending on which Perl you are using.

If using the Win32 ActiveState build then it is recommended that you

use the ppm utility to fetch and install a prebuilt DBI instead.



Writing Makefile for DBI





nmake:



[d:\perl\dbi-1.48]nmake



Microsoft (R) Program Maintenance Utility Version 7.10.3077

Copyright (C) Microsoft Corporation. All rights reserved.



cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE
-DNO_ST

RICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT
-DPERL_IMPLICIT_SY

S -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1
-DVERSION=\"1.48\"

-DXS_VERSION=\"1.48\" "-ID:\perl\lib\CORE" Perl.c

Perl.c

D:\perl\bin\perl.exe D:\perl\lib\ExtUtils/xsubpp -typemap
D:\perl\lib\E

xtUtils\typemap -typemap typemap DBI.xs > DBI.xsc &&
D:\perl\bin\perl.exe -MExt

Utils::Command -e mv DBI.xsc DBI.c

cl -c -nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32 -D_CONSOLE
-DNO_ST

RICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT
-DPERL_IMPLICIT_SY

S -DUSE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -O1
-DVERSION=\"1.48\"

-DXS_VERSION=\"1.48\" "-ID:\perl\lib\CORE" DBI.c

DBI.c

Running Mkbootstrap for DBI ()

D:\perl\bin\perl.exe -MExtUtils::Command -e chmod 644 DBI.bs

link -out:blib\arch\auto\DBI\DBI.dll -dll -nologo -nodefaultlib
-debug -

opt:ref,icf -libpath:"D:\perl\lib\CORE" -machine:x86 DBI.obj
D:\perl\lib\COR

E\perl58.lib oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
comdlg

32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib netapi32.lib
uuid.lib ws

2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib -def:

DBI.def

Creating library blib\arch\auto\DBI\DBI.lib and object
blib\arch\auto\DBI\DBI

..exp

D:\perl\bin\perl.exe -MExtUtils::Command -e chmod 755
blib\arch\auto\DBI

\DBI.dll

D:\perl\bin\perl.exe -MExtUtils::Command -e cp DBI.bs
blib\arch\auto\DBI

\DBI.bs

D:\perl\bin\perl.exe -MExtUtils::Command -e chmod 644
blib\arch\auto\DBI

\DBI.bs

D:\perl\bin\perl.exe -MExtUtils::Command -e cp dbiprof
blib\script\dbipr

of

pl2bat.bat blib\script\dbiprof

pl2bat.bat: Can't open *: Invalid argument at D:\perl\bin\pl2bat.bat
line 101.

NMAKE : fatal error U1077: 'pl2bat.bat' : return code '0x16'

Stop.





perl -V



[d:\perl\dbi-1.48]perl -V

Summary of my perl5 (revision 5 version 8 subversion 6) configuration:

Platform:

osname=MSWin32, osvers=4.0, archname=MSWin32-x86-multi-thread

uname=''

config_args='undef'

hint=recommended, useposix=true, d_sigaction=undef

usethreads=define use5005threads=undef useithreads=define
usemultiplicity=de

fine

useperlio=define d_sfio=undef uselargefiles=define usesocks=undef

use64bitint=undef use64bitall=undef uselongdouble=undef

usemymalloc=n, bincompat5005=undef

Compiler:

cc='cl', ccflags ='-nologo -Gf -W3 -MD -Zi -DNDEBUG -O1 -DWIN32
-D_CONSOLE -

DNO_STRICT -DHAVE_DES_FCRYPT -DNO_HASH_SEED -DPERL_IMPLICIT_CONTEXT
-DPERL_IMPL

ICIT_SYS -DUSE_PERLIO -DPERL_MSVCRT_READFIX',

optimize='-MD -Zi -DNDEBUG -O1',

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='__int64',
lseeksi

ze=8

alignbytes=8, prototype=define

Linker and Libraries:

ld='link', ldflags ='-nologo -nodefaultlib -debug -opt:ref,icf
-libpath:"D:

\perl\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 ws2_

32.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

ws2_32.lib mpr.lib winmm.lib version.lib odbc32.lib odbccp32.lib
msvcrt.lib

libc=msvcrt.lib, so=dll, useshrplib=yes, libperl=perl58.lib

gnulibc_version='undef'

Dynamic Linking:

dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '

cccdlflags=' ', lddlflags='-dll -nologo -nodefaultlib -debug
-opt:ref,icf -

libpath:"D:\perl\lib\CORE" -machine:x86'





Characteristics of this binary (from libperl):

Compile-time options: MULTIPLICITY USE_ITHREADS USE_LARGE_FILES
PERL_IMPLICIT_

CONTEXT PERL_IMPLICIT_SYS

Locally applied patches:

ActivePerl Build 811

21540 Fix backward-compatibility issues in if.pm

23565 Wrong MANIFEST.SKIP

Built under MSWin32

Compiled at Dec 13 2004 09:52:01

@INC:

D:/perl/lib

D:/perl/site/lib

.









[d:\perl\dbi-1.48]nmake



Microsoft (R) Program Maintenance Utility Version 7.10.3077

Copyright (C) Microsoft Corporation. All rights reserved.



D:\perl\bin\perl.exe -MExtUtils::Command -e cp dbiprof
blib\script\dbiprof

pl2bat.bat blib\script\dbiprof



pl2bat.bat: Can't open *: Invalid argument at D:\perl\bin\pl2bat.bat
line 101.

NMAKE : fatal error U1077: 'pl2bat.bat' : return code '0x16'

Stop.



Relevant Pages

  • Problem of DBI build
    ... I installed Oracle Application Server 4.0.8.2 included perl module. ... I need to installe DBI and DBD::Oracle module. ... You can install them any time after installing the DBI. ... line 318: error 1705: Function prototypes are an ANSI feature. ...
    (perl.dbi.users)
  • Problem of DBI build
    ... I installed Oracle Application Server 4.0.8.2 included perl module. ... I need to installe DBI and DBD::Oracle module. ... You can install them any time after installing the DBI. ... line 318: error 1705: Function prototypes are an ANSI feature. ...
    (perl.dbi.users)
  • Installing DBI and DBD::TSM
    ... I am having trouble installing DBI. ... This is perl, v5.8.0 built for aix-thread-multi ... blib/lib/DB ... You can install them any time after installing the DBI. ...
    (perl.dbi.users)
  • Problem of installing DBI packages
    ... my curent configuration of HP Unix system is as below: ... When i do>>perl makefile.PL, ... You can install them any time after installing the DBI. ...
    (perl.dbi.users)
  • Re: attempt to build 64 bit on Solaris fails
    ... > libraries needed to link with a 64-bit Tk. ... We were running a 32-bit version of Perl ... > Each section below is a summary of the commands used to install it. ...
    (comp.lang.perl.tk)