Hi,

Im using an unmodified SuSE 6.0 distribution
that comes with glibc 2.0.7 (which SuSE 6.0
modified to make it work with both libc 5
and glibc 2, I think). "ldd --version" just
says "2.0.7" and "ld --version" says "2.9.1"
if that matters.

My problem is that I'm using the iODBC library,
which is a bit special as it defines a number
of functions (namely those defined by the ODBC
standard) and loads a library for a specific
data base connection. This specific library also
has to defines all the functions of the ODBC
standard (and it couldn't work otherwise). If
I link my program statically with iODBC, I have
no problems, but when I link it dynamically, the
Linux linker gets it wrong, because the specific
ODBC driver (PostgreSQL ODBC to be precise, but
it could be any) also happen to call a few of
the ODBC functions internally and it aims to call
the ODBC functions defined in the driver, not
in iODBC, but ldd sends the calls to iODBC and
my program to heaven.

I post this to both linux-gcc and SuSE as I don't 
know where the bug was introduced (guessing on
SuSE).

I'd be thankful for a reply (sent to me, I'm not
subscribed to this list).

   Robert Roebling

Reply via email to