Skip Menu |

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

Report information
The Basics
Id: 33854
Status: resolved
Estimated: 20 min
Priority: 0/
Queue: DBD-Informix

People
Owner: j.leffler [...] acm.org
Requestors: michael.lieman [...] bankofamerica.com
Cc:
AdminCc:

Bug Information
Severity: Critical
Broken in: 2008.0229
Fixed in: (no value)



Subject: perl Makefile.PL fails to compile esqltest.ec to esqltest.o
On SunOS 5.10 (sparc SUNW,Sun-Fire-480R) using Perl 5.10.0, DBD- Informix-2008.0229 fails to compile with the following log: ----------------------------------------- $ DBD_INFORMIX_DEBUG_ESQLCC=2 DBD_INFORMIX_DEBUG_ESQLTEST=1 perl Makefile.PL *** ExtUtils::AutoInstall version 0.63 *** Checking for dependencies... [Core Features] - DBI ...loaded. (1.602 >= 1.38) [High Resolution Timing] - Time::HiRes ...loaded. (1.9711) [POD Format Testing] - Test::Pod ...loaded. (1.26) *** ExtUtils::AutoInstall configuration finished. Configuring IBM Informix Database Driver for Perl DBI Version 2008.0229 (2008-02-29) (aka DBD::Informix) You are using DBI version 1.602 and Perl version 5.010000 Remember to actually read the README file! Perl: perl v5.010000 sun4-solaris dl_dlopen.xs System: sunos dcsdapp1.alb.flis1.com 5.10 generic_120011-14 sun4u sparc sunw,sun-fire-480r Using INFORMIXDIR=/banktools/informix/94 and ESQL/C compiler esql Using IBM Informix CSDK Version 2.81, IBM Informix-ESQL Version 9.53.UC3 from /banktools/informix/94 Note that bug RT#13708 (IBM CQ bug idsdb00139040) may affect you. In particular, if test t/t93lvarchar.t detects problems, consider an upgrade to CSDK 3.00 or later - it seems to be fixed there. All other parts of DBD::Informix will probably work. Beware: DBD::Informix is not yet aware of all the new IUS data types. Assert macro will be disabled! lib/DBD/Informix/Defaults.pm written OK esqlinfo.h written OK Testing whether your Informix test environment will work... C and C preprocessor flags - used in object compilations ccflag = <<>> ccflag = <<-D_LARGEFILE_SOURCE>> ccflag = <<-D_FILE_OFFSET_BITS=64>> ccflag = <<-DPERL_USE_SAFE_PUTENV>> cppflag = <<-DESQLC_VERSION=953>> cppflag = <<-DNDEBUG>> cppflag = <<-DDO_NOT_USE_STDERR_H>> execute_command: esql -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 - DPERL_USE_SAFE_PUTENV -DESQLC_VERSION=953 -DNDEBUG - DDO_NOT_USE_STDERR_H esqltest.ec +ec+ <<esql>> +ec+ <<-c>> +ec+ <<>> +ec+ <<-D_LARGEFILE_SOURCE>> +ec+ <<-D_FILE_OFFSET_BITS=64>> +ec+ <<-DPERL_USE_SAFE_PUTENV>> +ec+ <<-DESQLC_VERSION=953>> +ec+ <<-DNDEBUG>> +ec+ <<-DDO_NOT_USE_STDERR_H>> +ec+ <<esqltest.ec>> + setenv INFORMIXC = /export/home/nbkwae8/tmp.runtime/fdcs/localperl/bin/perl esqlcc + setenv ESQLCC = /opt/SUNWspro/bin/cc esqlcc: Num args = 2 /opt/SUNWspro/bin/cc -I/banktools/informix/94/incl/esql -c esqlcc: command <</opt/SUNWspro/bin/cc>> esqlcc: arguments <<-I/banktools/informix/94/incl/esql>> <<-c>> usage: cc [ options] files. Use 'cc -flags' for details Failed to compile esqltest.ec to esqltest.o ----------------------------------------- N.B.: Manually running the compilation produces an object file without incident. ----------------------------------------- $ esql -c -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DP ERL_USE_SAFE_PUTENV -DESQLC_VERSION=953 -DNDEBUG esqltest.ec $ ll -rt esqltest.* -r--r--r-- 1 nbkwae8 devel 9960 Feb 29 18:16 esqltest.ec -rw-rw-r-- 1 nbkwae8 devel 11142 Mar 6 10:43 esqltest.c -rw-rw-r-- 1 nbkwae8 devel 10320 Mar 6 10:43 esqltest.o -----------------------------------------
RT-Send-CC: dbd.informix [...] gmail.com
Report received - not yet replicated. Please can I have a copy of the 'perl -V' output? -- Jonathan Leffler <jleffler@earthlink.net> <jleffler@us.ibm.com> Guardian of DBD::Informix 2008.0229 -- see http://dbi.perl.org/ "I don't suffer from insanity - I enjoy every minute of it!"
From: michael.lieman [...] bankofamerica.com
On Thu Mar 06 13:56:17 2008, JOHNL wrote: Show quoted text
> Report received - not yet replicated. > Please can I have a copy of the 'perl -V' output?
$ perl -V Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=solaris, osvers=2.10, archname=sun4-solaris uname='sunos dcsdapp1.alb.flis1.com 5.10 generic_120011-14 sun4u sparc sunw,sun-fire-480r ' config_args='-des - Dprefix=/export/home/nbkwae8/tmp.runtime/fdcs/localperl' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=undef useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='/opt/SUNWspro/bin/cc', ccflags =' -D_LARGEFILE_SOURCE - D_FILE_OFFSET_BITS=64 -DPERL_USE_SAFE_PUTENV', optimize='-O', cppflags='' ccversion='Sun C 5.8 2005/10/13', gccversion='', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='/opt/SUNWspro/bin/cc', ldflags =' -L/usr/lib -L/usr/ccs/lib - L/opt/SUNWspro/prod/lib/v8plus -L/opt/SUNWspro/prod/lib -L/lib ' libpth=/usr/lib /usr/ccs/lib /opt/SUNWspro/prod/lib/v8plus /opt/SUNWspr o/prod/lib /lib libs=-lsocket -lnsl -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-KPIC', lddlflags='-G -L/usr/lib -L/usr/ccs/lib - L/opt/SUNWspro/prod/lib/v8plus -L/opt/SUNWspro/prod/lib -L/lib' Characteristics of this binary (from libperl): Compile-time options: PERL_DONT_CREATE_GVSV PERL_MALLOC_WRAP PERL_USE_SAFE_PUTENV USE_LARGE_FILES USE_PERLIO Built under solaris Compiled at Mar 6 2008 11:28:55 %ENV: PERL5LIB="/export/home/nbkwae8/tmp_dcs/DCS_Perl:/export/home/nbkwae8/tm p_dcs/bin" @INC: /export/home/nbkwae8/tmp_dcs/DCS_Perl /export/home/nbkwae8/tmp_dcs/bin /export/home/nbkwae8/tmp.runtime/fdcs/localperl/lib/5.10.0/sun4- solaris /export/home/nbkwae8/tmp.runtime/fdcs/localperl/lib/5.10.0 /export/home/nbkwae8/tmp.runtime/fdcs/localperl/lib/site_perl/5.10. 0/sun4-solaris /export/home/nbkwae8/tmp.runtime/fdcs/localperl/lib/site_perl/5.10. 0 .
RT-Send-CC: dbd.informix [...] gmail.com
Thanks for the 'perl -V' information. The problem is related to the appearance of an empty argument in the command lines, and I'm going to have to track that down. It doesn't reproduce in my Solaris 10 / Perl 5.10.0 / ... environment. I will try to work out what causes that. I may end up needing some more assistance from you on your platform. The crude fix, obviously, is simply to filter out the empty argument. FWIW: I get: execute_command: esql -c -fno-strict-aliasing -pipe -I/usr/gnu/include -D_LARGEFILE_SOURCE -D_FILE_O FFSET_BITS=64 -DPERL_USE_SAFE_PUTENV -DESQLC_VERSION=300 -DNDEBUG -DDO_NOT_USE_STDERR_H esqlc_v6.ec +ec+ <<esql>> +ec+ <<-c>> +ec+ <<-fno-strict-aliasing>> +ec+ <<-pipe>> +ec+ <<-I/usr/gnu/include>> +ec+ <<-D_LARGEFILE_SOURCE>> +ec+ <<-D_FILE_OFFSET_BITS=64>> +ec+ <<-DPERL_USE_SAFE_PUTENV>> +ec+ <<-DESQLC_VERSION=300>> +ec+ <<-DNDEBUG>> +ec+ <<-DDO_NOT_USE_STDERR_H>> +ec+ <<esqlc_v6.ec>> + setenv INFORMIXC = /usr/perl/v5.10.0-32bit-multiplicity/bin/perl esqlcc + setenv ESQLCC = gcc esqlcc: Num args = 12 The empty argument in your output corresponds to an empty $Config{cppflags} in your 'perl -V' output, and the '-fno-strict-aliasing', '-pipe' and '-I/usr/gnu/include' correspond to the non-empty $Config{cppflags} in my 'perl -V' output, (which, for the record, is: Black JL: perl -V Summary of my perl5 (revision 5 version 10 subversion 0) configuration: Platform: osname=solaris, osvers=2.10, archname=sun4-solaris-multi uname='sunos black 5.10 generic_120011-14 sun4u sparc sunw,ultra-4 solaris ' config_args='' hint=recommended, useposix=true, d_sigaction=define useithreads=undef, usemultiplicity=define useperlio=define, d_sfio=undef, uselargefiles=define, usesocks=undef use64bitint=undef, use64bitall=undef, uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='gcc', ccflags ='-fno-strict-aliasing -pipe -I/usr/gnu/include -D_LARGEFILE_SOURCE -D_FIL FSET_BITS=64 -DPERL_USE_SAFE_PUTENV', optimize='-O', cppflags='-fno-strict-aliasing -pipe -I/usr/gnu/include' ccversion='', gccversion='4.2.1', gccosandvers='' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='gcc', ldflags =' -L/usr/gnu/lib ' libpth=/usr/gnu/lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/usr/gnu/lib' Characteristics of this binary (from libperl): Compile-time options: MULTIPLICITY PERL_DONT_CREATE_GVSV PERL_IMPLICIT_CONTEXT PERL_MALLOC_WRAP PERL_USE_SAFE_PUTENV USE_LARGE_FILES USE_PERLIO Built under solaris Compiled at Jan 31 2008 15:18:00 @INC: /usr/perl/v5.10.0-32bit-multiplicity/lib/5.10.0/sun4-solaris-multi /usr/perl/v5.10.0-32bit-multiplicity/lib/5.10.0 /usr/perl/v5.10.0-32bit-multiplicity/lib/site_perl/5.10.0/sun4-solaris-multi /usr/perl/v5.10.0-32bit-multiplicity/lib/site_perl/5.10.0 . Black JL: I should be able to track this down fairly fast - thanks. -- Jonathan Leffler <jleffler@earthlink.net> <jleffler@us.ibm.com> Guardian of DBD::Informix 2008.0229 -- see http://dbi.perl.org/ "I don't suffer from insanity - I enjoy every minute of it!"
From: michael.lieman [...] bankofamerica.com
On Thu Mar 06 15:49:25 2008, JOHNL wrote: Show quoted text
> The empty argument in your output corresponds to an empty > $Config{cppflags} in your 'perl -V' output, and the > '-fno-strict-aliasing', '-pipe' and '-I/usr/gnu/include' correspond
to Show quoted text
> the non-empty $Config{cppflags} in my 'perl -V' output,
Quick and Dirty Patch -- Trim leading spaces from the $Config{ccflags} before use... --- Makefile.PL.rbk Thu Mar 6 16:17:16 2008 +++ Makefile.PL Thu Mar 6 16:17:36 2008 @@ -584,8 +584,12 @@ $opts{DEFINE} =~ s/^\s+//; my $sx = $ENV{DBD_INFORMIX_DEBUG_ESQLTEST} ? 1 : 0; - my @ccflags = split / +/, $Config{ccflags}; +# my @ccflags = split / +/, $Config{ccflags}; + my $tmp_ccflags = $Config{ccflags}; + $tmp_ccflags =~ s/^\s+//; + my @ccflags = split / +/, $tmp_ccflags; my @cppflags = split / +/, $opts{DEFINE}; + if ($sx) { my($v);
RT-Send-CC: dbd.informix [...] gmail.com
This was fixed in the 2008.0513 release of DBD::Informix. -- Jonathan Leffler <jleffler@earthlink.net> <jleffler@us.ibm.com> Guardian of DBD::Informix 2008.0229 -- see http://dbi.perl.org/ "I don't suffer from insanity - I enjoy every minute of it!"