Building FREETDS

Norman Palardy palardyn at mac.com
Thu Oct 18 18:04:11 EDT 2001


I have compiled a significant amount of code on this machine; mostly of 
my own making.

I tried a few of the potential BSD OS's and nothing has yet resulted in 
a compiled version of FreeTDS.
Thanks for the suggestions about malloc.h in /usr/include. I may go that 
way yet after examining stdlib to see that the definitions are there

As for responding to my rant, yes I see it IS indeed there. Mention of 
it in the INSTALL and README's that come as part of the distribution 
would be nice.

Not sure how to organize the distributions.
Instead of by machine/os I would like to see a "compatibility" matrix.
So it it listed first by TDS Version and what Server platforms it is 
know to work with
Then by OS/Architecture as a pair (perhaps a more general heading like 
Linux/Other Unix/Windows/Mac/VMS/etc ?)
As for the dbmfix/msdblib issue not sure because these seem to be 
workarounds for other vendors introduced problems

So what you end up with is  (this is all pure speculation on my part as 
I'm not familiar with many variants of Linux and the hardware it has 
been ported to)

TDS 4.2
    Linux
      Debian/Intel   (with dbmfix/with msdblib)  (no dbmfix/with msdblib) 
(with dbmfix/no msdblib) (no dbmfix/no msdblib)
      Debian/PPC     (with dbmfix/with msdblib)  (no dbmfix/with msdblib) 
(with dbmfix/no msdblib) (no dbmfix/no msdblib)

    Windows
      NT3.5/Alpha
      NT3.5/Intel
      NT4.0/Intel
      2000/Intel

TDS5.0
    Linux
      Debian/Intel
      Debian/PPC

    Windows
      NT3.5/Alpha
      NT3.5/Intel
      NT4.0/Intel
      2000/Intel

I realise Sybase or MS has fewer variations to deal with, and, 
unfortunately for me, my variant is not one that either has a version of 
their API for. So, I'm trying to get FreeTDS working. It is one reason I 
am hoping I can figure this out because FreeTDS DOES seem to work darned 
near everywhere if you can figure out how to build it.

On Thursday, October 18, 2001, at 03:20  PM, Lowden, James K wrote:

> Hi Norman,
>
> Someone here undoubtedly knows the answer to your question.  I don't, 
> but I
> have an advanced degree in speculation, so if you're putzing around with
> this anyway, here's my two cents.
>
> I can't tell from your posts if this box has ever compiled anything
> successfully.  I'm guessing that --host=ppc is right and your 
> /usr/include
> is missing something.  I don't think you want to use sys/malloc.h, and I
> don't think there's anything else you need to tell ./configure.  All
> guesses, you realize.
>
> OS X is a FreeBSD variant, which is related to NetBSD, which is what I 
> have.
> On my system, there are two malloc.h files:
>
> $ find /usr/include -name malloc.h
> /usr/include/sys/malloc.h
> /usr/include/malloc.h
>
> Here's the entire contents of /usr/include/malloc.h:
>
> $cat /usr/include/malloc.h
> /*      $NetBSD: malloc.h,v 1.3 1994/10/26 00:56:03 cgd Exp $   */
>
> #include <stdlib.h>
>
> That's it.  stdlib.h has the declaration for malloc().
>
> If your stdlib.h has a malloc declaration, you might want to try 
> creating a
> one-line malloc.h like mine, and give it another whirl.
>
> I know you've been knocking around with this for a while.  I wish it 
> were
> otherwise.
>
> Let me respond to your rant, too.
>
> Many of your criticisms are well-placed (except I have to point out 
> that a
> link to the User Guide is on the very first line of the FAQ.  It was put
> online for your convenience, so you wouldn't have to build it from the
> sgml.)
>
> On the plus side, maybe your observations will encourage us to post 
> binary
> packages in the new ftp space.  OTOH, FreeTDS builds in so many 
> different
> environments that it will be hard even to name and organize binary 
> libraries
> such that you can find what you need.  A complete matrix would be the 
> cross
> product of:
>
> 8	or so OS's (probably more)
> N 	Supported hardware architectures for some of the OS's
> 3	TDS protocol versions (basically)
> Y/N	--enable-dbmfix
> Y/N	--enable-msdblib
>
> That's about 200 permutations and I haven't listed all the available 
> inputs
> to configure.  How would you suggest we organize and document such an
> ungainly collection?  I'm not challenging you or suggesting it's 
> impossible.
> I'm genuinely open to suggestion.
>
> A vendor gets to control a lot of these variables.  Sybase, for 
> instance,
> supports 1 protocol on a few OS's, for instance.  (I don't know what 
> they do
> about --enable-dbmfix.)  We won't speak of Microsoft.
>
> I think some of the difficulties you've encountered are fixable and 
> some are
> inescapeable.  FreeTDS might be the most complicated Hydra I've seen.  
> Not
> to say the beast can't be slain, only to say the solution isn't entirely
> straightforward.
>
> Regards,
>
> --jkl




More information about the FreeTDS mailing list