[freetds] unresolved symbols with freetds-0.63.dev.20040418

James K. Lowden jklowden at schemamania.org
Tue Apr 20 01:07:47 EDT 2004

On Tue, 20 Apr 2004, Rolf Loudon <rolf at ses.tas.gov.au> wrote:
> hello


> On Solaris (2.6 - yes its old, but its necessary) I have unixODBC
> version 2.2.8 installed.
> Is this compatible with freetds-0.63.dev.20040418?

Probably?  It's meant to be.  

> Firstly bsqldb in src/apps fails :
> bsqldb.c: In function `print_results':
> bsqldb.c:438: warning: implicit declaration of function `asprintf'

The game here is that apparently your libc doesn't include asprintf(3). 
We include a public domain version in src/replacements, but the bsqldb
link command doesn't attempt to determine whether it needs the
replacement, never mind add it to the ld command line.  

The quick fix, albeit slower than --disable-apps, would be to rejigger the
link command to bring in the replacement.  If you try this, please let me
know how it turns out.  Obviously, I'll have to work out a better
arrangement for the release.  

> But then it failed unable to make the documentation, doxygen not found.

That's not supposed to happen.  I think you perhaps tripped on "test -L"? 
I've promised to fix that; you need "test -h" instead.  The deal here is
that the snapshots come with prebuilt documentation, which the Makefile
detects and copies, unless Doxygen is installed, in which case it builds
you a fresh copy from scratch.  That's the theory, anyway.  

> No big deal I thought so proceeded with make install to get the library 
> into /usr/local/freetds/lib and all the rest.

Well done.  

> ld.so.1: isql: fatal: relocation error: file 
> /usr/local/freetds/lib/libtdsodbc.so: symbol __eprintf: referenced
> symbol not found

I'm hoping you'll get useful advice from the Solaris folks out there.  If
you know  something that should be changed upstream -- some way in which
the configure script is deficient, for instance -- I'd be happy to make
the change.  


More information about the FreeTDS mailing list