Dear Marco,
I thought I remembered seeing this before, and when I looked at my email
archive at work, sure enough, on 2004-10-05 09:49 -07:00, I responded to
your questions. Did you not receive the email from me?
Is there any risk that your response was filtered out before reaching me
because of viral contamination -- did you reply from a Windows machine, in
other words?
Your previous subject line was 'problem install DBD Informix'. I'm
cutting and pasting my previous comments again, on the grounds that you
must not have seen them...
====
On Tue, 5 Oct 2004 14:23:26 +0200, Marco Avvisano
<[EMAIL PROTECTED]> wrote:
> i'm tryng to install DBD module for Informix on a Red Hat Enterprise
Linux ES release 3
> these are the error when i exec Makefile.PL.
>
> #######################
> perl Makefile.PL
>
> Configuring IBM Informix Database Driver for Perl Version 2003.04
(2003-03-05) (aka DBD::Informix)
> You are using DBI version 1.43 and Perl version 5.008
> Remember to actually read the README file!
>
> Perl: perl5.008 i386-linux-thread-multi dl_dlopen.xs
> System: linux tweet
> Compiler: gcc -O2 -g -pi -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-DDEBUGGING -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 -I/usr/include/gdbm
Perl 5.8.0? I guess you're using the system provided version rather
than your own build.
> Using IBM Informix CSDK Version 2.81, IBM Informix-ESQL Version
9.53.UC2X5 from /opt/informix
Mostly good - I'm not sure about the X5 designation (it means it is a
5th patched revision of UC2 - but doesn't tell me whether it was a
specific patch for you or something that is generally available).
> 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
> esqlvrsn.h written OK
> esqlinfo.h written OK
>
> Gosh! Perl doesn't think your compiler handles prototypes.
> Well, even though I don't believe it, we'll take Perl's word
> for it and we won't try to force them into use. Don't you
> need to upgrade your compiler? If you run into compilation
> problems with the test program, you will need to revisit this
> issue.
That's odd. I need your 'perl -V' output - as the README file says
you should supply. It is a warning, but I've not seen it in ages.
I'll need to review what the heck is wrong via the configuration
information in the 'perl -V' output. It is most likely an error in
the Makefile.PL script.
> Testing whether your Informix test environment will work...
> sh: -c: line 2: unexpected EOF while looking for matching `''
> sh: -c: line 3: syntax error: unexpected end of file
> Failed to compile esqltest.ec to esqltestub
That, too, is very odd. What has RedHat done to break shell scripts?
(I'm jaundiced against RedHat at the moment - they are getting to be
as bad as Microsoft at breaking working software with every upgrade.
And that's not easy to achieve!)
Please rerun with DBD_INFORMIX_DEBUG_ESQLTEST=yes set in the
environment, and send me the output:
DBD_INFORMIX_DEBUG_ESQLTEST=yes perl Makefile.PL 2>&1 | tee log
Please read the README file for details about the information required
when reporting problems.
====
As far as I know, you have not responded with the information I requested.
(Versions of everything; environment; specified log files.) Those 'sh
-c' lines really puzzle me - what on earth is going on there?
There are some issues with RedHat. RHEL3 update 3 has introduced a
feature called, IIRC, Exec-Guard, which amongst other things loads shared
libraries at random addresses. This can easily get in the way of
Informix's fixed address shared-memory communication buffer. The
indications are that if you use olsoctcp connection (network connections)
instead, then the system works fine. The trouble is that RHEL3 randomly
loads a shared library at the addresses we expect to use - the memory
fragmentation problems can be really bad when trying to get big hunks of
shared memory for the database server itself. ('Stable Enterprise
operating system - my foot!' You can't do that sort of thing in an update
release!) However, that is a problem you would encounter much later in
the build process - when running the tests, to be precise (possibly the
ESQL/C test before building the makefile, more likely the main module
testing phase). You haven't got that far yet.
I also note that you're using an 'i386-linux-thread-multi' version of
Perl. I'm not convinced that's all that safe for DBD::Informix. The
'multi' bit refers to 'multiplicity', meaning that you can have multiple
Perl interpreters in a single executable, IIRC. And the thread bit is
self-explanatory, but I don't think you're advised to use it with DBI. You
might need to set DBD_INFORMIX_ESQLC_LINKAGE="-shared -thread" and set
THLIB (I think that's the correct name) to the appropriate library name
(likely POSIX or posix -- check the ESQL/C release notes). Again, I don't
think this is your immediate issue - those errors are weird in the
extreme.
I note that Makefile.PL looks at $Config{"prototype"} to find out whether
your C compiler supports prototypes. One reason for asking for the 'perl
-V' output is to see whether something weird has happened to that bit of
the Perl configuration.
--
Jonathan Leffler ([EMAIL PROTECTED])
STSM, Informix Database Engineering, IBM Data Management
4100 Bohannon Drive, Menlo Park, CA 94025
Tel: +1 650-926-6921 Tie-Line: 630-6921
"I don't suffer from insanity; I enjoy every minute of it!"
Jonathan Leffler <[EMAIL PROTECTED]> wrote on 10/10/2004 09:39:12
PM:
> ---------- Forwarded message ----------
> From: Marco Avvisano <[EMAIL PROTECTED]>
> Date: Fri, 8 Oct 2004 10:30:06 +0200
> Subject: DBD::Informix A configuration failure
> To: [EMAIL PROTECTED]
> Cc: [EMAIL PROTECTED]
>
>
>
>
> I have problem to install DBD Informix module on Red Hat Enterprise
> Linux ES release 3
>
> #####
> perl Makefile.PL
>
> Configuring IBM Informix Database Driver for Perl Version 2003.04
> (2003-03-05) (aka DBD::Informix)
> You are using DBI version 1.45 and Perl version 5.008
> Remember to actually read the README file!
>
> Perl: perl5.008 i386-linux-thread-multi dl_dlopen.xs
> System: linux tweet
> Compiler: gcc -O2 -g -pi -D_REENTRANT -D_GNU_SOURCE
> -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing
> -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64
> -I/usr/include/gdbm
>
> Using IBM Informix CSDK Version 2.81, IBM Informix-ESQL Version
> 9.53.UC2X5 from /opt/informix
>
> 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
> esqlvrsn.h written OK
> esqlinfo.h written OK
>
> Gosh! Perl doesn't think your compiler handles prototypes.
> Well, even though I don't believe it, we'll take Perl's word
> for it and we won't try to force them into use. Don't you
> need to upgrade your compiler? If you run into compilation
> problems with the test program, you will need to revisit this
> issue.
> Testing whether your Informix test environment will work...
> sh: -c: line 2: unexpected EOF while looking for matching `''
> sh: -c: line 3: syntax error: unexpected end of file
> Failed to compile esqltest.ec to esqltestub
>
> ########
>
> any suggestions ?
>
> thanks for help
>
> Marco
>
>
>
> --
> Jonathan Leffler <[EMAIL PROTECTED]> #include <disclaimer.h>
> Guardian of DBD::Informix - v2003.04 - http://dbi.perl.org
> "I don't suffer from insanity - I enjoy every minute of it."