[freetds] freetds-0.64 problems on OS X 10.5 Leopard

Fred McCann fred at automaticrootbeer.com
Tue Oct 30 00:40:52 EST 2007


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 get this when I build things by hand or using mac ports. I guess  
question number one is, is this an incompatibility with the freetds  
driver with OS X 10.5? Is it an incompatibility with this version of  
iODBC? Has anyone else seen this? I'm not sure where to begin with  
this error.

Here's my iODBC settings:

odbc.ini:

	[ODBC Data Sources]
	ih = FreeTDS

	[ODBC]
	Trace = 0

	[ih]
	Driver      = /opt/local/lib/libtdsodbc.so
	Description =
	ServerName  = winxp
	Database    = foo


odbcinst.ini:

	[ODBC Drivers]
	FreeTDS = Installed

	[FreeTDS]
	Driver = /opt/local/lib/libtdsodbc.so
	Setup  = /opt/local/etc/freetds/freetds.conf

This is the same set up I had on the previous version of OS X, which  
ran with no problems

This is my setup for freetds

freetds.conf:

[winxp]
	host = winxp.local
	port = 1433
	tds version = 8.0


When I test freetds, I think it's working (if I understand what the  
tsql tool is doing)

Hobbes bman$ tsql -H winxp.local -p 1433 -U sa -P qwerty
locale is "en_US.UTF-8"
locale charset is "UTF-8"
1>

 From here I can run a query successfully.

I also tried connecting by the server name:

Hobbes bman$ tsql -S winxp -U sa -P qwerty
locale is "en_US.UTF-8"
locale charset is "UTF-8"
1>

 From here I can run a query successfully too.

When I try using the driver in conjunction with iODBC, it all falls  
apart...

Hobbes bman$ iodbctest "dsn=ih;uid=sa;pwd=qwerty"
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0406.1211
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


So here's where I'm not sure what's going on. tsql seems to be telling  
me freetds is working. iodbctest seems to be telling me that either  
iODBC is broken in OS X 10.5 or it's not working with freetds. Any  
suggestions or insight would be appreciated, even if the suggestion is  
to try iODBC or Apple mailing lists.


- Fred McCann
fred at automaticrootbeer.com


More information about the FreeTDS mailing list