Nick Hansen wrote: >Oops. Here is my configuration information: >
Sorry about the delay responding. I was hoping someone else would be able to answer for me. If you aren't already aware, MS platforms are very far from being my favourite. Additionally, I have no access to a Win2K or later platform, so it is essentially impossible for me to debug problems for people on such platforms. That said, you mention NT in your subject line, so there's an outside chance I can help a bit, but the prognostication is not good. ># Perl version >This is perl, v5.6.1 built for MSWin32-x86-multi-thread >(with 1 registered patch, see perl -V for more detail) > >Copyright 1987-2001, Larry Wall > >Binary build 631 provided by ActiveState Tool Corp. >http://www.ActiveState.com >Built 17:16:22 Jan 2 2002 > > >Perl may be copied only under the terms of either the Artistic License or >the >GNU General Public License, which may be found in the Perl 5 source kit. > >Complete documentation for Perl, including FAQ lists, should be found on >this system using `man perl' or `perldoc perl'. If you have access to the >Internet, point your browser at http://www.perl.com/, the Perl Home Page. > >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 > I'd be worried about the use of i-threads -- I don't know what it means that the C code drivers have to do. That article is due out later this week or next week. That alone makes for probable difficulties. I've no idea what multiplicity means; when the Unix Configure script runs it says "if you don't know what it means, take the default", so I do. Likewise, I've no idea what PERL_IMPLICIT_CONTEXT or PERL_IMPLICIT_SYS means. > > Locally applied patches: > ActivePerl Build 631 > Built under MSWin32 > Compiled at Jan 2 2002 17:16:22 > @INC: > C:/Perl/lib > C:/Perl/site/lib > . > ># ># Informix Version >INFORMIXDIR=C:\Program Files\Informix\Client-SDK >INFORMIX-ESQL Version 9.51.TC3 >Software Serial Number RDS#N000000 > > ># ># Sorted Environment >ALLUSERSPROFILE=C:\Documents and Settings\All Users.WINNT >APPDATA=C:\Documents and Settings\nhansen\Application Data >CommonProgramFiles=C:\Program Files\Common Files >COMPUTERNAME=BECMCONTRACT01 >ComSpec=C:\WINNT\system32\cmd.exe >DBD_INFORMIX_DATABASE=core >DBD_INFORMIX_PASSWORD=changeme >DBD_INFORMIX_USERNAME=nhans >HOMEDRIVE=U: >HOMEPATH=\ >HOMESHARE=\\befs01\users\nhansen >include=C:\Program Files\Microsoft Visual Studio\VC98\include >INFORMIXDIR=C:\Program Files\Informix\Client-SDK >INFORMIXSERVER=lynx_anet >lib=C:\Program Files\Microsoft Visual Studio\VC98\lib >LOGONSERVER=\\AAMBDC02 >NUMBER_OF_PROCESSORS=1 >OS=Windows_NT >Os2LibPath=C:\WINNT\system32\os2\dll; >Path=C:\Perl\bin\;C:\Oracle\Ora81\bin;C:\Program >Files\Oracle\jre\1.1.7\bin;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem >;C:\Program Files\Informix\Client-SDK\bin;C:\Program Files\Microsoft Visual >Studio\VC98\Bin;C:\Program Files\Informix\Client-SDK\bin;C:\Program >Files\Microsoft Visual Studio\Common\MSDev98\Bin >PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH >PROCESSOR_ARCHITECTURE=x86 >PROCESSOR_IDENTIFIER=x86 Family 6 Model 7 Stepping 3, GenuineIntel >PROCESSOR_LEVEL=6 >PROCESSOR_REVISION=0703 >ProgramFiles=C:\Program Files >PROMPT=$P$G >SystemDrive=C: >SystemRoot=C:\WINNT >TEMP=C:\DOCUME~1\nhansen\LOCALS~1\Temp >TMP=C:\DOCUME~1\nhansen\LOCALS~1\Temp >USERDOMAIN=HEALTH >USERNAME=nhansen >USERPROFILE=C:\Documents and Settings\nhansen >windir=C:\WINNT > ># End of Configuration Report > ># ># Redoing configuration > >This is a semi-experimental version of Makefile.PL with Win32 (NT) >support. Previous versions have been tested on NT, but there could >still be bugs in this code. Please help save the world by trying >to debug the NT code and reporting the results back to the DBI >Users mailing list. > >Thanks! > > >Configuring IBM Informix Database Driver for Perl Version 1.00.PC2 >(2002-02-01) (aka DBD::Informix) > You are using DBI version 1.23 and Perl version 5.006001 >Remember to actually read the README file! > >Perl: perl5.006001 MSWin32-x86-multi-thread dl_win32.xs >System: >Compiler: cl -O1 -MD -DNDEBUG -nologo -O1 -MD -DNDEBUG -DWIN32 -D_CONSOLE >-DNO_STRICT -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS >-DPERL_MSVCRT_READFIX >Loader: link > >Using INFORMIXDIR=C:\Program Files\Informix\Client-SDK and ESQL/C compiler >"C:\Program Files\Informix\Client-SDK\bin\ESQL.EXE" >Using INFORMIX-ESQL Version 9.51.TC3 from C:\Program >Files\Informix\Client-SDK > >Beware: DBD::Informix is not yet aware of all the new IUS data types. > >Assert macro will be disabled! > >Testing whether your Informix test environment will work... >esqltest.c >INFORMIX-ESQL Version 9.51.TC3 >esqlc_v6.c >INFORMIX-ESQL Version 9.51.TC3 >Microsoft (R) Incremental Linker Version 6.00.8168 >Copyright (C) Microsoft Corp 1992-1998. All rights reserved. > >-OUT:esqltest.exe -MAP -SUBSYSTEM:CONSOLE esqltest.obj esqlc_v6.obj >"C:\Program Files\Informix\Client-SDK\lib\isqlt09a.lib" >"C:\Program Files\Informix\Client-SDK\lib\igl4n304.lib" >"C:\Program Files\Informix\Client-SDK\lib\iglxn304.lib" >"C:\Program Files\Informix\Client-SDK\lib\igo4n304.lib" netapi32.lib >wsock32.lib user32.lib winmm.lib >ESQLTEST Program Running: >@(#)$Id: esqltest.ec version /main/20 2000-02-08 16:57:02 $ > $DBI_DBNAME unset - defaulting to 'stores'. > $DBD_INFORMIX_DATABASE set to 'core'. > $DBD_INFORMIX_DATABASE2 unset - defaulting to 'core'. > $DBD_INFORMIX_USERNAME is set to 'nhans'. > $DBD_INFORMIX_USERNAME2 is unset - defaulting to 'nhans'. > $DBD_INFORMIX_PASSWORD is set. > $DBD_INFORMIX_PASSWORD2 is unset - defaulting to >$DBD_INFORMIX_PASSWORD. >Testing connection to core > CONNECT TO 'core' with user info >Testing concurrent connection to core > CONNECT TO 'core' with user info >Your Informix environment is (probably) OK > This looks promising. >Fortunately, you are using a new version of ESQL/C and >we can use 'esql -libs' to tell us which libraries to use. > >Checking if your kit is complete... >Looks good >Using DBI 1.23 installed in C:/Perl/site/lib/auto/DBI >Writing Makefile for DBD::Informix > ># ># Redoing build >Microsoft (R) Program Maintenance Utility Version 6.00.8168.0 >Copyright (C) Microsoft Corp 1988-1998. All rights reserved. > C:\Perl\bin\perl.exe -Iblib\arch -Iblib\lib -IC:\Perl\lib >-IC:\Perl\lib Informix.pm.PL -dINFORMIXDIR=C:\Program >Files\Informix\Client-SDK -dINFORMIXSERVER=lynx_anet >-dINFORMIX_LICENCE='ACN@J334912' Informix.pm >Extracting Informix.pm from Informix.pm.PL > -- default INFORMIXDIR = C:\Program Files\Informix\Client-SDK > -- DBD::Informix Licence Number = ACN#J334912 (default - no Tech Support >available) >cp DBD/Informix/Configuration.pm blib\lib\DBD/Informix/Configuration.pm >cp DBD/Informix/TechSupport.pm blib\lib\DBD/Informix/TechSupport.pm >cp DBD/Informix/TestHarness.pm blib\lib\DBD/Informix/TestHarness.pm >cp lib/Bundle/DBD/Informix.pm blib/lib/Bundle/DBD/Informix.pm >cp Informix.pm blib\lib\DBD/Informix.pm >cp DBD/Informix/Summary.pm blib\lib\DBD/Informix/Summary.pm > C:\Perl\bin\perl.exe -p -e "s/~DRIVER~/Informix/g" < >C:/Perl/site/lib/auto/DBI/Driver.xst > Informix.xsi > C:\Perl\bin\perl.exe -IC:\Perl\lib -IC:\Perl\lib >C:\Perl\lib\ExtUtils/xsubpp -typemap C:\Perl\lib\ExtUtils\typemap >Informix.xs > Informix.xsc && C:\Perl\bin\perl.exe -IC:\Perl\lib >-IC:\Perl\lib -MExtUtils::Command -e mv Informix.xsc Informix.c > cl -c -IC:\Program Files\Informix\Client-SDK/incl/esql >-IC:\Perl\lib/auto/DBI -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=\"1.00.PC2\" -DXS_VERSION=\"1.00.PC2\" -IC:\Perl\lib\CORE >-DESQLC_VERSION=951 -DNDEBUG Informix.c >Informix.c >esqlc.h(77) : fatal error C1083: Cannot open include file: 'datetime.h': No >such file or directory >Command line warning D4024 : unrecognized source file type >'Files\Informix\Client-SDK/incl/esql', object file assumed >Command line warning D4027 : source file >'Files\Informix\Client-SDK/incl/esql' ignored >NMAKE : fatal error U1077: 'cl' : return code '0x2' >Stop. > Now that does puzzle me. You've got -IC:\Program Files\Informix\Client-SDK/incl/esql in the compiler command line, so why isn't the compiler finding datetime.h which is in that directory. About the only excuse might be that #include <datetime.h> has a different meaning from #include "datetime.h" and the -I option somehow does not apply to whichever is in use. But... Does the datetime.h header exist in the incl/esql directory? > >> -----Original Message----- >>From: Nick Hansen >>Sent: Tuesday, June 04, 2002 4:34 PM >>To: Perl DBI Users (E-mail) >>Cc: '[EMAIL PROTECTED]'; '[EMAIL PROTECTED]' >>Subject: DBD::Informix fails to build - spaces in NT file paths >> >>Level B error. >> >>After making the following hacks, I was able to get a build - but nearly >>all the tests failed (Level C error). So my hacks may not have been 'good >>enough'. >> >>Configuration.pm >>(After Line 58) added >> # Need to put quotations around entire string if spaces in string >> if( $esql =~ / / ) >> { >> $esql = "\"$esql\""; >> } >> >>Makefile.pl >>(Line 122) changed >> my $INC1 = "-I$ID/incl/esql$auxincl"; >>to >> my $INC1 = "-I\^\"$ID/incl/esql$auxincl\^\""; >> >>(Line 580) changed >> { OTHERLDFLAGS => "/LIBPATH:$ID/lib /LIBPATH:$ID/lib/esql $libs"}; >>to >> { OTHERLDFLAGS => "/LIBPATH:\^\"$ID/lib\^\" >>/LIBPATH:\^\"$ID/lib/esql\^\" $libs"}; >> >>Hacks on the generated Makefile: >>(After Line 114) added >> INCA = -IC:\Program Files\Informix\Client-SDK/incl/esql >>-I$(INSTALLARCHLIB)/auto/DBI -I$(INSTALLSITEARCH)/auto/DBI >> >>(About Line 893) changed >> ESQLFLAGS = $(UFLAGS) $(INC) $(ESQL_NT) $(CCFLAGS) $(OPTIMIZE) \ >>to >> ESQLFLAGS = $(UFLAGS) $(INCA) $(ESQL_NT) $(CCFLAGS) $(OPTIMIZE) \ >> I'll poke at Makefile.PL with INFORMIXDIR with spaces in the path name -- actually, rather good practice for a lot of scripts and programs. As far as I can see, all filename references in any shell script need to be enclosed in double quotes if the filename contains spaces, and this is increasingly the tradition. I'd be worried about more than just Makefile.PL on that score, too; does 'make' let alone 'nmake' handle this well? I'm not sure about the INCA (vs AZTEC or MAYA? :-) stuff. The whole business of how to get the compiler options to the ESQL/C compilation is Black Magic; it was back in 1996, and 2000, and still is today. -=JL=-
