DBD::Informix

2013-06-30 Thread Dr. Helmut Zeilinger

Hi all,

i have Problems to build DBD::Informix
(DBD-Informix-2013.0521).

The output of bug_report ('B') is attached..
(compressed with gzip)

Thank You !
Helmut





bug_report.gz
Description: application/gzip


Re: DBD::Informix

2013-06-30 Thread Jonathan Leffler
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 21 | 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.