perl -MCPAN -e shell
cpan>install T/TI/TIMB/DBI-1.19.tar.gz
although I guess on windows you would be using ppm, so the quivalent
should work... DBI-1.20 might be available as well, but CPAN couldn't find
a checksum for it, but I don't know if that is an issue for you.
Good luck
------------------------------------------------------------------------------
Philip M. Gollucci (p6m7g8) [EMAIL PROTECTED] 301.314.3118
Science, Discovery, & the Universe (UMCP)
Webmaster & Webship Teacher
URL: http://www.sdu.umd.edu
EJPress.com
Database/PERL Programmer & System Admin
URL : http://www.ejournalpress.com
Resume : http://www.p6m7g8.com/resume.txt
On Tue, 22 Jan 2002, Keith Marshall wrote:
> Hi all,
>
> Being new to DBI (although not to Perl or CPAN modules) I recently
> downloaded the latest DBI version and attempted to install under Windows
> 2000 with the normal:
>
> perl Makefile.PL
> nmake
> nmake test
> nmake install
>
> ... however the C compile is failing due to a whole load of undefined
> symbols. Perhaps this is because I'm using an older version of Perl
> (5.004_04) but changing this is problematic (although if I have to
> because of this I guess that's life) as a lot of other things rely on
> it. Nor do I want to do a binary download since the build environment
> I'm using is cross-platform and Perl is one of the bits which just works
> on all platforms at the moment.
>
> Having looked through this list archive I see that the 1.201 is actually
> meant to be a test release, but since it has been uploaded to both CPAN
> and the DBI homepage it appears to be impossible to download an earlier,
> possibly more stable release which might fix the problem - anyone know
> of a method for fetching older versions of the module? Although I'm
> happy to help with debugging the test version I really need to get up
> and running here with something that works..
>
> For reference the errors start around line 1611 with the subroutine
> definition for dbi_dopoptosub_at. Changing STATIC to lowercase removes
> the first error but the main problem is the PERL_SI symbol (and related
> symbols) which I can't find defined anywhere in either the DBI subtree
> or the Perl subtree.
>
> Perl is built in the same environment, and works fine, as do all the
> other 15-20 modules or so that I regularly build.
>
> Any help appreciated,
> Keith.
>
>
> perl -V gives:
>
> Summary of my perl5 (5.0 patchlevel 4 subversion 04) configuration:
> Platform:
> osname=MSWin32, osvers=4.0, archname=MSWin32
> uname=''
> hint=recommended, useposix=true, d_sigaction=undef
> bincompat3=undef useperlio=undef d_sfio=undef
> Compiler:
> cc='cl.exe', optimize='-O', gccversion=
> cppflags='-DWIN32'
> ccflags ='-MD -DWIN32'
> stdchar='unsigned char', d_stdstdio=define, usevfork=false
> voidflags=15, castflags=0, d_casti32=define, d_castneg=define
> intsize=4, alignbytes=8, usemymalloc=n, prototype=define
> Linker and Libraries:
> ld='link', ldflags ='-nologo -subsystem:windows'
> libpth=C:\PROGRA~1\MICROS~3\VC98\lib
> libs=oldnames.lib kernel32.lib user32.lib gdi32.lib winspool.lib
> comdlg32.lib advapi32.lib shel
> l32.lib ole32.lib oleaut32.lib netapi32.lib uuid.lib wsock32.lib
> mpr.lib winmm.lib version.lib odb
> c32.lib odbccp32.lib
> libc=msvcrt.lib, so=dll
> useshrplib=undef, libperl=undef
> Dynamic Linking:
> dlsrc=dl_win32.xs, dlext=dll, d_dlsymun=undef, ccdlflags=' '
> cccdlflags='', lddlflags='-dll'
>
>
> --------------------------------------:
>
> C:\src\perllibs\DBI-1.201>nmake
>
> Microsoft (R) Program Maintenance Utility Version 6.00.8168.0
> Copyright (C) Microsoft Corp 1988-1998. All rights reserved.
>
> mkdir blib
> mkdir blib\lib
> mkdir blib\arch
> mkdir blib\arch\auto
> mkdir blib\arch\auto\DBI
> mkdir blib\lib\auto
> mkdir blib\lib\auto\DBI
> mkdir blib\man1
> mkdir blib\man3
> cp lib/DBI/W32ODBC.pm blib\lib\DBI\W32ODBC.pm
> cp lib/DBD/ExampleP.pm blib\lib\DBD\ExampleP.pm
> cp lib/DBI/FAQ.pm blib\lib\DBI\FAQ.pm
> cp lib/DBI/Shell.pm blib\lib\DBI\Shell.pm
> cp lib/DBI/ProxyServer.pm blib\lib\DBI\ProxyServer.pm
> cp lib/Bundle/DBI.pm blib\lib\Bundle\DBI.pm
> cp lib/DBD/Proxy.pm blib\lib\DBD\Proxy.pm
> cp DBIXS.h blib\arch\auto\DBI/DBIXS.h
> cp dbd_xsh.h blib\arch\auto\DBI/dbd_xsh.h
> cp dbi_sql.h blib\arch\auto\DBI/dbi_sql.h
> cp lib/DBD/NullP.pm blib\lib\DBD\NullP.pm
> cp lib/DBD/Sponge.pm blib\lib\DBD\Sponge.pm
> cp lib/DBI/Format.pm blib\lib\DBI\Format.pm
> cp Driver.xst blib\arch\auto\DBI/Driver.xst
> cp lib/DBI/DBD.pm blib\lib\DBI\DBD.pm
> cp dbipport.h blib\arch\auto\DBI/dbipport.h
> cp lib/Win32/DBIODBC.pm blib\lib\Win32\DBIODBC.pm
> cp DBI.pm blib\lib\DBI.pm
> C:\perl\bin\perl -p -e "s/~DRIVER~/Perl/g" <
> blib\arch\auto\DBI/Driver.xst > Perl.xsi
> C:\perl\bin\perl -Ic:\perl\lib -Ic:\perl\lib
> C:\perl\lib\ExtUtils/xsubpp -typemap C
> :\perl\lib\ExtUtils\typemap Perl.xs >Perl.tc && C:\perl\bin\perl
> -Ic:\perl\lib -Ic:\perl\lib
> -MExtUtils::Command -e mv Perl.tc Perl.c
> cl.exe -c -MD -DWIN32 -O -DVERSION=\"1.201\"
> -DXS_VERSION=\"1.201\" -IC:\perl\lib\CORE -DDBI_NO_TH
> READS Perl.c
> Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for
> 80x86
> Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
>
> Perl.c
> C:\perl\bin\perl -Ic:\perl\lib -Ic:\perl\lib
> C:\perl\lib\ExtUtils/xsubpp -typemap C
> :\perl\lib\ExtUtils\typemap DBI.xs >DBI.tc && C:\perl\bin\perl
> -Ic:\perl\lib -Ic:\perl\lib -
> MExtUtils::Command -e mv DBI.tc DBI.c
> cl.exe -c -MD -DWIN32 -O -DVERSION=\"1.201\"
> -DXS_VERSION=\"1.201\" -IC:\perl\lib\CORE -DDBI_NO_TH
> READS DBI.c
> Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for
> 80x86
> Copyright (C) Microsoft Corp 1984-1998. All rights reserved.
>
> DBI.c
> DBI.xs(1611) : error C2054: expected '(' to follow 'STATIC'
> DBI.xs(1612) : error C2085: 'dbi_dopoptosub_at' : not in formal
> parameter list
> DBI.xs(1612) : error C2143: syntax error : missing ';' before '{'
> DBI.xs(1639) : error C2065: 'PERL_SI' : undeclared identifier
> DBI.xs(1639) : error C2065: 'top_si' : undeclared identifier
> DBI.xs(1639) : error C2065: 'PL_curstackinfo' : undeclared identifier
> DBI.xs(1639) : error C2106: '=' : left operand must be l-value
> DBI.xs(1640) : error C2143: syntax error : missing ';' before 'type'
> DBI.xs(1645) : error C2223: left of '->si_type' must point to
> struct/union
> DBI.xs(1645) : error C2065: 'PERLSI_MAIN' : undeclared identifier
> DBI.xs(1646) : error C2223: left of '->si_prev' must point to
> struct/union
> DBI.xs(1647) : error C2223: left of '->si_cxstack' must point to
> struct/union
> DBI.xs(1648) : error C2223: left of '->si_cxix' must point to
> struct/union
> DBI.xs(1653) : error C2065: 'PL_DBsub' : undeclared identifier
> DBI.xs(1653) : error C2223: left of '->sv_any' must point to
> struct/union
> DBI.xs(1656) : error C2065: 'stashname' : undeclared identifier
> DBI.xs(1656) : warning C4047: '=' : 'int ' differs in levels of
> indirection from 'char *'
> DBI.xs(1659) : error C2109: subscript requires array or pointer type
> DBI.xs(1660) : error C2109: subscript requires array or pointer type
> DBI.xs(1661) : error C2109: subscript requires array or pointer type
> DBI.xs(1662) : error C2109: subscript requires array or pointer type
> DBI.xs(1662) : error C2109: subscript requires array or pointer type
> DBI.xs(1662) : error C2109: subscript requires array or pointer type
> NMAKE : fatal error U1077: 'cl.exe' : return code '0x2'
> Stop.
>