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."

Reply via email to