> -----Original Message-----
> From: openssh-unix-dev-bounces+scott_n=xypro.com at mindrot.org
> [mailto:openssh-unix-dev-bounces+scott_n=xypro.com at mindrot.org] On
> Behalf Of Roger Cornelius
> Sent: Wednesday, July 30, 2008 10:58 AM
> To: openssh-unix-dev at mindrot.org
> Subject: 5.1p build problem on SCO OSR6
>
> Build of 5.1p1 fails on SCO OSR6 with the error:
>
> UX:acomp: ERROR: "addrmatch.c", line 100: undefined struct/union
> member: sin6_scope_id
>
> configure checks for presence of struct sockaddr_in6 and uses the
> system
> declaration if found (via #define HAVE_STRUCT_SOCKADDR_IN6 in
config.h)> If not found, the struct is declared in openbsd-compat/fake-rfc2553.h.
> OSR6 has struct sockaddr_in6 but it does not include the sin6_scope_id
> member. The declaration in fake-rfc2553.h does include this member,
> which is referenced in addrmatch.c.
>
> So the problem seems to be, openssh erroneously assumes the presence
of> sin6_scope_id if struct sockaddr_in6 is present. This isn't true on
> OSR6 (and maybe others??).
>
Perhaps you could set environment variables at config time to disable
HAVE_STRUCT_SOCKADDR_IN6, assuming you won't need IPv6. It's an
ac_{something} variable.
I've done stuff like this to work around this sort of thing without
needing to tweak configure.