Thread: Re: [HACKERS] CVS -Tip compile issue -- FreeBSD 4.8

Re: [HACKERS] CVS -Tip compile issue -- FreeBSD 4.8

From
Rod Taylor
Date:
> First thought that comes to mind is that <sys/socket.h> may require
> something else to be included first --- maybe <sys/types.h> ?

That did it.  It's a little curious that sys/socket.h doesn't mention
that anywhere though.

--
Rod Taylor <rbt@rbt.ca>

PGP Key: http://www.rbt.ca/rbtpub.asc

Attachment

Re: [HACKERS] CVS -Tip compile issue -- FreeBSD 4.8

From
Tom Lane
Date:
Rod Taylor <rbt@rbt.ca> writes:
>> First thought that comes to mind is that <sys/socket.h> may require
>> something else to be included first --- maybe <sys/types.h> ?

> That did it.  It's a little curious that sys/socket.h doesn't mention
> that anywhere though.

I see a couple of places where configure neglects to include sys/types
before sys/socket.  Fixing now.

            regards, tom lane

Re: [HACKERS] CVS -Tip compile issue -- FreeBSD 4.8

From
Peter Eisentraut
Date:
Rod Taylor writes:

> > First thought that comes to mind is that <sys/socket.h> may require
> > something else to be included first --- maybe <sys/types.h> ?
>
> That did it.  It's a little curious that sys/socket.h doesn't mention
> that anywhere though.

Because it shouldn't be so.  Can you look in config.log what the real
reason of the failure was?  Maybe it's a bug in FreeBSD.

--
Peter Eisentraut   peter_e@gmx.net


Re: [HACKERS] CVS -Tip compile issue -- FreeBSD 4.8

From
Tom Lane
Date:
Peter Eisentraut <peter_e@gmx.net> writes:
> Rod Taylor writes:
>>> First thought that comes to mind is that <sys/socket.h> may require
>>> something else to be included first --- maybe <sys/types.h> ?
>>
>> That did it.  It's a little curious that sys/socket.h doesn't mention
>> that anywhere though.

> Because it shouldn't be so.  Can you look in config.log what the real
> reason of the failure was?  Maybe it's a bug in FreeBSD.

It's been true for years that <sys/socket.h> requires <sys/types.h> on
some platforms.  How do you think I knew what to recommend?  There's
no point in arguing about it, it's just a fact.

            regards, tom lane

Re: [HACKERS] CVS -Tip compile issue -- FreeBSD 4.8

From
"Andrew Dunstan"
Date:
The man page for socket on Linux says you need both, but you can get away
without it.

It's easy enough to test if a platform does the sane thing:

[andrew@Thor andrew]$ echo '#include <sys/socket.h>' > blurfl.c
[andrew@Thor andrew]$ gcc -E -M blurfl.c
blurfl.o: blurfl.c /usr/include/sys/socket.h /usr/include/features.h \
  /usr/include/sys/cdefs.h /usr/include/gnu/stubs.h \
  /usr/include/sys/uio.h /usr/include/sys/types.h \
[snip]

Probably the best bet is just include sys/types.h just before any place
sys/socket.h is included, no? Should be harmless enough.

cheers

andrew

Tom Lane wrote:
> Peter Eisentraut <peter_e@gmx.net> writes:
>> Rod Taylor writes:
>>>> First thought that comes to mind is that <sys/socket.h> may require
>>>> something else to be included first --- maybe <sys/types.h> ?
>>>
>>> That did it.  It's a little curious that sys/socket.h doesn't mention
>>> that anywhere though.
>
>> Because it shouldn't be so.  Can you look in config.log what the real
>> reason of the failure was?  Maybe it's a bug in FreeBSD.
>
> It's been true for years that <sys/socket.h> requires <sys/types.h> on
> some platforms.  How do you think I knew what to recommend?  There's no
> point in arguing about it, it's just a fact.
>
>             regards, tom lane
>





Re: [HACKERS] CVS -Tip compile issue -- FreeBSD 4.8

From
Peter Eisentraut
Date:
Tom Lane writes:

> It's been true for years that <sys/socket.h> requires <sys/types.h> on
> some platforms.  How do you think I knew what to recommend?  There's
> no point in arguing about it, it's just a fact.

Sure, but it still may be a bug in FreeBSD if they don't document it and
if they pretend to follow standards, which they do.

--
Peter Eisentraut   peter_e@gmx.net