[DB-SIG] pep 249

Carsten Haese carsten at uniqsys.com
Wed Nov 7 22:00:29 CET 2007


On Wed, 2007-11-07 at 12:10 -0700, John Lhotak wrote: 
> Carsten, Jeff, Thank you for the responses.
> 
> Carsten here is the out put from the commands you listed.
> INFORMIXDIR is set to /opt/informix when I compiled the module and when 
> I try to run the module
> 
> "ldd /usr/lib/python2.4/site-packages/_informixdb.so" returns:
>         linux-gate.so.1 =>  (0x004db000)
>         libifsql.so => /usr/local/informix/lib/esql/libifsql.so (0x00376000)
> [...]

This may be the source of your problem. Your $INFORMIXDIR
is /opt/informix, yet your dynamic linker finds the Informix libraries
in /usr/local/informix. Unless /opt/informix is a symlink
to /usr/local/informix, you have two versions of ESQL/C on your system.
One lives in /opt/informix, and it has sqli_describe_input_stmt, the
other is in /usr/local/informix, and it doesn't have
sqli_describe_input_stmt. You compiled with the former, and you're
trying to run with the latter.

If /opt/informix and /usr/local/informix are in fact two different
locations, correct your dynamic linker configuration ($LD_LIBRARY_PATH
or /etc/ld.so.conf or /etc/ld.so.conf.d) to make sure that it loads
libraries from /opt/informix instead of /usr/local/informix.

> "esql -V"  returns:
> 
>     IBM Informix CSDK Version 2.90, IBM Informix-ESQL Version 2.90.UC1 
>     Software Serial Number RDS#N000000

That version should have sqli_describe_input_stmt.

> 
> The grep command Jeff wrote about -
> "grep -i -r sqli_describe_input_stmt /usr/lib/*" returns:
> [...]
>     Binary file /usr/lib/libifsql.so matches
> [...]

This is a red herring because you should be looking
at /usr/local/informix/lib, since that's the library being pulled in by
the dynamic linker according to ldd. What does "grep
sqli_describe_input_stmt /usr/local/informix/lib/esql/libifsql.so" show?

Hope this helps,

-- 
Carsten Haese
http://informixdb.sourceforge.net




More information about the DB-SIG mailing list