[freetds] FreeTDS, HP/UX, DBD::Sybase unresolved symbols

Andrew Stanley astanley at cs.uml.edu
Mon Jan 6 11:33:49 EST 2003


Hi,

I've given up on ODBC.  iODBC has been a total compilation nightmare, and
now it drops core when you CALL_DRIVER against libtdsodbc.sl.0.  *sigh*.

Anyways, I'm compiling DBD::Sybase and get this when DynaLoader calls
libct:

t/base........../usr/lib/dld.sl: Unresolved symbol: __eprintf (code)  from /home/ediusers/freetds/lib/libct.sl.0
/usr/lib/dld.sl: Unresolved symbol: __divdi3 (code)  from /home/ediusers/freetds/lib/libct.sl.0

Part of me thinks I could try and change the DynaLoader shl_load flags to
BIND_IMMEDIATE | BIND_NONFATAL, but I think that it would still croak
later downstream.  But, this also may be a linking problem....

I tried, out of curiosity, to see if those objects existed (they seem to),
I both nm'ed the .sl and tried an ar -x against the .a -- nothing in the
.a, but in the sl:

$ nm /home/ediusers/freetds/lib/libct.sl.0
[snip]
__divdi3            |          |undef |code   |
__divdi3            |     92736|uext  |stub   |
__eprintf           |          |undef |code   |
__eprintf           |     92616|uext  |stub   |

My linker output:

LD_RUN_PATH="/home/ediusers/freetds/lib:/lib/pa1.1" ld -o
blib/arch/auto/DBD/FreeTDS/FreeTDS.sl  -L/home/ediusers/freetds/lib -b
-L/usr/local/lib FreeTDS.o  dbdimp.o    -L/home/ediusers/freetds/lib -lct
-lm

(I hacked DBD::Sybase to look like DBD::FreeTDS, so I could have
2 different DBD::Sybase's co-existing)

So, what is (could?) be the resolution for this problem?

Thanks!

Cheers,

-Andrew

Andrew Stanley
http://www.cs.uml.edu/~astanley/




More information about the FreeTDS mailing list