[freetds] Getting it to all work on HPUX
christos at zoulas.com
Mon Feb 9 11:13:30 EST 2009
On Feb 9, 4:41pm, freddy77 at gmail.com (Frediano Ziglio) wrote:
-- Subject: Re: [freetds] Getting it to all work on HPUX
| 2009/2/9 Christos Zoulas <christos at zoulas.com>:
| > On Feb 9, 11:34am, freddy77 at gmail.com (Frediano Ziglio) wrote:
| > -- Subject: Re: [freetds] Getting it to all work on HPUX
| > | 2009/2/7 Christos Zoulas <christos at zoulas.com>:
| > | > On Feb 6, 9:45pm, jklowden at freetds.org ("James K. Lowden") wrote:
| > | > -- Subject: Re: [freetds] Getting it to all work on HPUX
| > | >
| > | > | Frediano Ziglio wrote:
| > | > | > > I think we should use an autoconf test to detect the presence of
| > | > | > > socklen_t instead of resorting to such ugliness .
| > | > | > >
| > | > | >
| > | > | > We already test for socklen_t. The problem is that HP-UX use
| > | > | > socklen_t* for last getsockopt argument in some cases and int in some
| > | > | > others (giving different defines).
| > | > |
| > | > | It reminds me of the gethostbyname_r fiasco. Solvable with autoconf, but
| > | > | not pretty. Perhaps another project has already written the approprite
| > | > | m4?
| > | >
| > | > Look in the tcsh's configure.in. Thank you HP *again*!
| > | >
| > | > christos
| > |
| > | I don't see nothing about getsockopt in tcsh's configure.in, only
| > | about socklen_t (which we already test in our configure script). The
| > | problem is not socklen_t but the use of it in getsockopt !!
| > | Yes, my workaround is ugly...
| > And it will not work for big-endian _LP64 machines where socklen_t is 32bits.
| > I don't know if any such beasts exist. Let me try to find a getsockopt test.
| > christos
| Just to make you smyle....
So, does this work?
#if defined(__hpux) && !defined(_XOPEN_SOURCE_EXTENDED)
Sorry,^WThankfully I don't have HP/UX so I can't test. Having the same
symbol in two different libraries with different ABI is not the best
solution. Why aren't they using symbol renaming?
More information about the FreeTDS