[freetds] freetds-0.64 problems on OS X 10.5 Leopard
Patrick van Kleef
iodbc at openlinksw.com
Tue Oct 30 06:41:12 EST 2007
Hi Fred,
On Oct 30, 2007, at 6:40 AM, Fred McCann wrote:
> I've been using freetds (0.64) with iODBC (03.52.0001.0928) on OS X
> 10.4.10 with no problems. iODBC comes with OS X and I installed
> freetds via mac ports.
>
> This weekend, I upgraded to OS X 10.5, Here's the versions I'm running
> now:
>
> OS X version: 10.5
> freetds version: 0.64
> iODBC version: 03.52.0406.1211
>
> When I try to access a MS SQL 2000 database, I'm getting this error:
>
> 1: SQLDriverConnect = [iODBC][Driver Manager]dlopen(/opt/local/lib/
> libtdsodbc.so, 6): Symbol not found: _MD4Final
> Referenced from: /opt/local/lib/libtdsodbc.so
> Expected in: flat namespace
> (0) SQLSTATE=00000
> 2: SQLDriverConnect = [iODBC][Driver Manager]Specified driver could
> not be loaded (0) SQLSTATE=IM003
I checked this on my Mac OS X 10.5 machine and it is a problem with
the libtool script. This causes some of the symbols in the ../tds/
tds_objects.a library, which includes the md4.o and therefore the
MD4Final symbol, not to be present in the final symbol table.
When the iODBC driver manager then loads the libtdsodbc.so driver
using dlopen (...., DYLD_NOW) the loader tries to fixup all the
internal symbols and fails to find it.
I tried both the default supplied libtool from the freetds package as
well as after running:
glibtoolize -f -c
aclocal
autoconf
automake
./configure ....
both both gave similar problems.
I have not yet checked exactly which flag is incorrect in the libtool
commands for Darwin, but i use a modified one i made myself for 10.4
which works just fine.
I will do some more checking and will file some bug reports to Apple
on this subject.
If you want either a binary build of FreeTDS for Mac, or the modified
libtool script, please contact me directly on iodbc at openlinksw.com.
Patrick
---
Patrick van Kleef
Maintainer iODBC <iodbc at openlinksw.com>
More information about the FreeTDS
mailing list