I ran into the exact same issue as detailed below. I am unable to build DBD:: Informix on a Linux system. Was a solution identified for this issue ?
Thanks Francois Le Hir From:*Jonathan Leffler* Date: June 30, 2013 17:55 Subject: Re: DBD::Informix Message ID: CAH+RLGHj++6jpaSe7vzpi5XTtrm5YR6Uwv5rkTR+3d1hnsti=w...@mail.gmail.com<http://www.nntp.perl.org/group/perl.dbi.users/;msgid=CAH+RLGHj++6jpaSe7vzpi5XTtrm5YR6Uwv5rkTR+3d1hnsti=w...@mail.gmail.com> On Sun, Jun 30, 2013 at 2:38 AM, Dr. Helmut Zeilinger <h...@hzlabs.de> wrote: > I have Problems to build DBD::Informix (DBD-Informix-2013.0521). > > The output of "bug_report ('B')" is attached.. > I'm sorry you've run into problems. Thank you for using the bug reporting tools provided. The problem lines in the output are (split to avoid grossly overlong lines — but mail clients may do more damage to them): INFORMIXC='/usr/bin/perl5.16.3 esqlld' ESQLLD='x86_64-pc-linux-gnu-gcc -shared -march=core2 -mtune=generic -O2 -pipe -Wl,-O1 -Wl,--as-needed' esql -shared -march=core2 -mtune=generic -O2 -pipe -Wl,-O1 -Wl,--as-needed Informix.o dbdimp.o dbdattr.o sqltoken.o sqltype.o ixblob.o odbctype.o kludge.o link.o esqlcver.o esqlc_v6.o -o blib/arch/auto/DBD/Informix/Informix.so \ \ /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.4/../../../../lib64/crt1.o: In function `_start': (.text+0x20): undefined reference to `main' Informix.o: In function `XS_DBD__Informix__dr_driver_init': Informix.c:(.text+0x1e): undefined reference to `PL_thr_key' followed by many, many more similar undefined references. The reference to `main` is interesting; it tells me that things have gone horribly wrong, but in a fairly tightly-constrained area of the code, namely the linking of the shared library. Further debugging information is going to be necessary; I recommend keeping it off the DBI Users mailing list. Please run the build phase (no need to redo the configuration phase; no need to remove the object files) with these environment variables set: DBD_INFORMIX_DEBUG_ESQLLD=1 \ DBD_INFORMIX_DEBUG_ESQLCC=1 \ make 2>&1 | tee dbdix.log This should give information about what is going on inside the esqlld and esqlcc scripts. Send the output file dbdix.log to dbd.infor...@gmail.com, please. At this stage, my best guess is that the Makefile.PL has clobbered some important flag so that the shared object build thinks it is trying to build a program and not a shared library. However, this may well involve tinkering inside Makefile.PL in the medium term, which is not a pleasant thought — it is ugly code! And some of the 15 year old hacks may well have outlived their usefulness, and the ways used to tweak ExtUtils::MakeMaker settings may be ... sub-optimal, shall we say. Do you still have the source for DBI around? If so, I may end up asking you to build that and send (some of) the output from that, simply to provide a comparison between 'working' (DBI) and 'not working' (DBD::Informix) shared library build command lines. -- Jonathan Leffler <jonathan.leff...@gmail.com> #include <disclaimer.h> Guardian of DBD::Informix - v2013.0521 - http://dbi.perl.org "Blessed are we who can laugh at ourselves, for we shall never cease to be amused."