On Sun, Jun 30, 2013 at 2:38 AM, Dr. Helmut Zeilinger <[email protected]> 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 [email protected],
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 <[email protected]> #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."