Re: [ANNOUNCE] haproxy-1.4.0

From: Willy Tarreau <w#1wt.eu>
Date: Sun, 28 Feb 2010 19:34:07 +0100


Hi Holger,

On Sun, Feb 28, 2010 at 11:16:01AM +0100, Holger Just wrote:
> Hi Willy,
>
> On 2010-02-28 07:29, Willy Tarreau wrote:
> > Could you please try to add the two following lines at the top of the
> > 3 faulty files (types/session.h, types/proxy.h, types/protocols.h) :
> >
> > #include <sys/types.h>
> > #include <sys/socket.h>
> >
> > I think it should fix the build.
>
> Thanks for your help. Unfortunately, it did not work. The errors are
> exactly the same.
>
> I noticed though, that the definition of sockaddr_storage in
> /usr/include/sys/socket_impl.h looks like this:
>
>
> #if !defined(_XPG4_2) || defined(_XPG6) || defined(__EXTENSIONS__)
> [...]
> struct sockaddr_storage {
> sa_family_t ss_family; /* Address family */
> /* Following fields are implementation specific */
> char _ss_pad1[_SS_PAD1SIZE];
> sockaddr_maxalign_t _ss_align;
> char _ss_pad2[_SS_PAD2SIZE];
> };
> #endif
>
>
> So if I add SILENT_DEFINE="-D__EXTENSIONS__=1" to the make call gcc does
> not complain anymore (even without adding the additional includes). I'm
> not currently able to decide if the resulting executable is completely
> valid or if this is a valid approach even.

Interesting. However, at least one of those defines is already present elsewhere because 1.3 correctly builds on solaris and already supports IPv6. The SuSv4 specification says that socket.h should be enough, but given the part you have spotted above, clearly something else is missing.

I'll have to unpack my ultra5 and replug it to test. I'd really like to get this definitely sorted out.

Regards,
Willy Received on 2010/02/28 19:34

This archive was generated by hypermail 2.2.0 : 2010/02/28 19:45 CET