[freetds] solutions for building on Mac OS X

ZIGLIO Frediano Frediano.Ziglio at vodafone.com
Wed Oct 1 15:10:16 EDT 2003


> 
> A few people have emailed me about getting the current cvs version to 
> compile, and I've spent sometime figuring out what the problems are. 
> Unfortunately, I'm not sure I know enough to find the correct fix, 
> but I've got a hackish one that will get it to compile.
> 
> The first, and easy, problem is that EILSEQ #defined, but not to a 
> value. The TODO list says it needs to be fixed, but until that fix 
> happens, freetds won't compile on a system that doesn't define 
> EILSEQ. To get around this, I set it via CFLAGS. The following is how 
> I ran autogen.sh.
> 
> mlilback$CFLAGS=-DEILSEQ=ENOENT ./autogen.sh --with-tdsver=7.0
> 

James is working on this issue.

> 
> The next problem is that the final commands that are generated to 
> link the shared libraries are passing each library twice on the 
> command line. For example, when building in src/tds, $archive_cmds is 
> created with both $libobjs and $deplibs containing libtds_objects.al 
> and libreplacements.al.
> 
> To solve this, after running autogen.sh or configure, edit libtool 
> and look for "Do each of the archive commands." It was line 3179 on 
> my generated file. Add the following line above it:
> 
> 	deplibs=`echo "$deplibs" | sed -d 's#\([^ ]*\)\.al##g'`
> 

I updated libtool to 1.5.5 and problem disappear.
James, you should update your libtool too.

> Then a make will build libtds, libdb, libct, and libodbc. It dies 
> building tsql because gethostbyaddr_r is not found. (10.2 doesn't 
> support the _r functions.)
> 

I'm watching getaddrinfo/getnameinfo API (see
http://developer.apple.com/documentation/Darwin/Reference/ManPages/html/
getaddrinfo.3.html) or getipnodebyaddr
(http://developer.apple.com/documentation/Darwin/Reference/ManPages/html
/getipnodebyaddr.3.html).
In the meantime you can disable threadsafe.

> I spent a few hours digging through libtool and how it is created, 
> but couldn't figure out the process since there are so many options 
> and nesting is almost impossible to figure out in the shell scripts. 
> If someone has an idea, I'd love to hear it. Otherwise, I'll post a 
> message to a darwin list and see if I can get a helpful reply.
> 

freddy77


More information about the FreeTDS mailing list