Fwd: DBD::Informix -- Failure with make test

[email protected] (Jonathan Leffler)
Newsgroups perl.dbi.users
Message-ID <[email protected]>
Resend - hoping to evade the 50KB limit (and HTML/quoted formatting probably
had something to do with breaching that limit).

[Eg:
&gt; =A0Platform:<br>&gt; =A0 =A0osname=3Daix, osvers=3D5.3.0.0, archname=
=3Daix-thread-multi-64all<br>&
gt; =A0 =A0uname=3D&#39;aix luchda06 3 5 000a=
97d8d600 &#39;<br>&gt; =A0 =A0config_args=3D&#39;-d -Dcc=3Dcc_r -Duseshrpli=
b -Dusethreads -Duse64bitall -Dprefix=3D/usr/opt/perl5_64&#39;<br>
]



---------- Forwarded message ----------
From: Jonathan Leffler <[email protected]>
Date: Wed, Jul 21, 2010 at 7:21 AM
Subject: Re: DBD::Informix -- Failure with make test
To: Julie Bouillon <[email protected]>
Cc: [email protected]


Sorry for the slow response...


On Tue, Jul 20, 2010 at 3:28 AM, Julie Bouillon <[email protected]> wrote:
> I'm trying to build DBD::Informix on AIX but when I'm executing a make
test, it fails at every test with an unresolved symbol error (ifx_checkAPI).

This comes from checkapi.o - or should do.

What's puzzling is that the 'library' list correctly includes the object
file.


... We are going to use the library list:
-lifsql -lifasf -lifgen -lifos -lifgls -ltli -lc_r -lmsaa -lbsd -ldl -lm_r
/opt/informix/11.50/lib/esql/checkapi.o -lifglx

And the library build command includes the object file:


ld  -b64 -bhalt:4 -G
-bI:/usr/opt/perl5_64/lib/5.12.0/aix-thread-multi-64all/CORE/perl.exp
-bE:Informix.exp -bnoentry -lpthreads -lc -lm Informix.o dbdimp.o dbdattr.o
sqltoken.o sqltype.o ixblob.o odbctype.o kludge.o link.o esqlcver.o
esqlc_v6.o -L/opt/informix/11.50/lib -L/opt/informix/11.50/lib/esql -lifsql
-lifasf -lifgen -lifos -lifgls -ltli -lc_r -lmsaa -lbsd -ldl -lm_r
/opt/informix/11.50/lib/esql/checkapi.o -lifglx -o
blib/arch/auto/DBD/Informix/Informix.so

It can't readily be something weird like 'the checkapi.o file does not
contain ifx_checkAPI' because the test program compiled and ran.

I would take a look at the output of:

file dbdimp.o /opt/informix/11.50/lib/esql/checkapi.o

If the types quoted are not the same, that may account for some of the
problem.

Thank you for the thorough and detailed report - it does help cut down the
possible problems.

For example, I can see that your Perl was built with the latest XLC compiler
- I can confidently assert that the CSDK you are using was not.  There is
seldom a problem because of that - not least because we know the test
program worked.

So, why isn't the ifx_checkAPI() function found in the library when it is in
the object file linked into the library?  That is puzzling!

[...megasnip...]

-- 
Jonathan Leffler <[email protected]>  #include <disclaimer.h>
Guardian of DBD::Informix - v2008.0513 - http://dbi.perl.org
"Blessed are we who can laugh at ourselves, for we shall never cease to be
amused."
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.