If memory serves me right, Yoshinobu Inoue wrote:
>
> > 'sys/scocket.h' header file start using ALIGN macro
> > defined in 'machine/param.h' header file while the man page
> > for "socket" only mentioned 'sys/types.h' as the prerequisite
> > for 'sys/socket.h'.
> >
> > As a result the 'net/pchar' port is now broken.
>
> Yes, this problem is already found by Bruce A. Mah and some
> mail is exchanged between related people.
I'm doing a pointrev to pchar to "fix" this problem...see below.
> > What must be done to solve this ?
> > Is it possible to '#include <sys/param.h>' in 'sys/socket.h' OR
> > the man page must be corrected to explicitly state 'param.h'
> > (sys/ or machine/ ?) as the prerequisite to 'sys/socket.h' and
> > all the programms using it patched accordingly ?
>
> As itojun's experience, including machine/param.h in socket.h
> also cause problems in some other apps.
>
> I feel requesting inclusion of machine/param.h for any apps
> which use socket is better. But if there are any other smarter
> solution, please let me know and I'll appreciate it much.
Just speaking as the slightly whiny developer of pchar: What bothers me
is that out of all the platforms where pchar can do IPv6 support, recent
FreeBSD versions seem the *only* case where I need to include machine/
param.h in order to use the CMSG* macros. This means that FreeBSD is
forcing me to make some code changes that aren't required for *any*
other platform. According to itojun's earlier mail, I can't just
blindly include machine/param.h either. So I need to figure out at
compile-time or configure-time whether or not I need machine/param.h.
Personally, I think this is a lose. Unfortunately I don't have any
better suggestion than "back out your last commit".
In the specific case of pchar, I need to make code changes in order to
work with 4.0-RELEASE, now that it's been shipped with the header files
as we've discussed. So I wrote a bunch of autoconf code to detect this
breakage and fix it. I'll probably roll in some Solaris fixes also and
call this pchar-1.1.2 or something like that.
Bruce.
PGP signature