[freetds] FreeTDS and iodbc

Les Gondor les at adanac.net
Wed Apr 14 13:28:33 EDT 2004



Nicolas Goy wrote:
> Hello everybody,
> 
> I try to setup tds with iodbc.
> 
> I use freetds 0.62.1 with iodbc 3.51.2.
> 
> I can compile everything well, and I can connect to my database with tsql.
> 
> I did setup iodbc, I think correctly.
> 
> But when I try to connect with iodbctest, I got this error:
> 
> 1: [iODBC][Driver Manager]ld.so.1: /opt/iODBC/bin/iodbctest: fatal: 
> relocation error: file /opt/FreeTDS/lib/libtdsodbc.so: symbol 
> __floatdisf: referenced symbol not found (0), SQLSTATE=00000
> 2: [iODBC][Driver Manager]Specified driver could not be loaded (0), 
> SQLSTATE=IM003
> 
> Can anybody help me?
> 
> Regards
> 
> Goyman
[snip]

Greetings Goyman

This error is caused by an unresolved symbol left over from the linking 
stage of libtdsodbc.so. The admittedly crude way I fixed this on Solaris 
9 was to include '-lgcc_s' in the additional linker flags variable in 
src/odbc/Makefile:

$ diff -u Makefile Makefile~
--- Makefile	Wed Feb 25 15:02:44 2004
+++ Makefile~	Tue Feb 24 15:02:13 2004
@@ -159,8 +159,7 @@
  	sql2tds.c sql2tds.h error.c \
  	odbc_checks.c odbc_checks.h

-libtdsodbc_la_LIBADD = ../tds/libtds_objects.la $(ODBCINSTLIB) 
$(NETWORK_LIBS) $(LIBICONV) ../replacements/libreplacements.la -lgcc_s
-
+libtdsodbc_la_LIBADD = ../tds/libtds_objects.la $(ODBCINSTLIB) 
$(NETWORK_LIBS) $(LIBICONV) ../replacements/libreplacements.la
  INCLUDES = -I$(top_srcdir)/include $(ODBC_INC)
  libtdsodbc_la_LDFLAGS = -export-symbols-regex '^(SQL|ODBCINST).*' 
-Wl,-Bsymbolic
  subdir = src/odbc
$

Now I have FreeTDS working with OpenOffice.org, talking to an MSSQL2000 
server.

Les Gondor
Adanac



More information about the FreeTDS mailing list