[freetds] cygwin shared libraries creation

George Stanchev stanchev at hotmail.com
Mon Apr 12 18:14:33 EDT 2004


May be I am doing something wrong but any help would be 
extremely appreciated. I have spent couple of days so far 
trying to make things happen and its getting kind of frustrating 
by now. Basically I have a cygwin system with iodbc (3.51.2). 
I am trying to compile freetds and it builds fine, however it 
produces no .so files or any dll - just the static library for 
the odbc driver. I am not very familiar with iodbc, and 
all examples and documentation point that I need to 
have a shared library (.so) and the static one would not 
work as a driver. However I cannot make freetds to 
produce one. I finally was able to produce something 
by  capturing the output of the make script, and then 
editing the line where it actually generates the static library:
./../libtool --mode=link gcc -o libtdsodbc.la ...
line and adding "-shared" argument and 
replacing -o libtdsodbc.la with -o libtdsodbc.so.

This produced an libtdsodbc.so.exe...
however...now I get SQLAllocEnv() failed error
when I run the iodbctest program to connect to a 
datasource using the 'artificially' produced .so library.

I guess my questions are, is there anything I can do to 
get an .so, a .dll or whatever binary I need to plug in 
into the iodbc driver manager so I can connect to an 
MSSQL server. Is it something in my configuration 
that prevents me from getting an ODBC driver from 
/configure, make, make install sequence? If the 
'artificial' way (by adding -shared paramter) is OK, 
then may be something other is wrong and I get the
SQLAllocEnv() failed error from the iodbctest 

Also, can I use the static library for that matter?

Any help would be greatly greatly appreciated...
Even if someone has working cygwin binaries
and can share them with me would be great.

Thanks in advance for your time....

Best Regards,
George Stanchev

More information about the FreeTDS mailing list