On Wed, Feb 22, 2012 at 04:00:43PM +0100, Otto Moerbeek wrote:
> 
> I think Philip already spotted your problem: netdb.h this is indeed a
> bug that should be fixed. Don't now how yet. These type of changes
> often are very tricky. 
> 
>       -Otto

Quite so, I'm well aware of how tricky such can be. (I've maintained
large code bases, and have the characteristic shaking hands and
nervous tics).

I'm doing a "make build" now on a freshly scrubbed and installed
5.0 machine (CVS to mid January) with the nitems macro in (in
/usr/include/sys/param.h and /usr/src/sys/sys/param.h ) guarded
with

#if !defined(nitems) && defined(_KERNEL)

If src and xenocara complete OK, I can go on to try some selected
ports (ones I have source handy for...  includes mozilla-firefox 5
and her prerequisites).  I know that effects of the change might
be more subtle than a compiler error or warning... I will run this
system for a while, too.  I am cautiously optimistic.  Unfortunately,
I have only i386 (and amd64 in a pinch) architecture on hand and
my kernels will only exercise hardware I have.  As you said, it's
tricky.

And, indeed, it is likely the include of sys/param.h in netdb.h
that triggered the problem, but user (rogue, wild, feral) code is
in the bad habit of doing what Mr Guenther said -- including the
kitchen sink in order to be "sure" of getting "everything".  The
C++ environment seems to make this inevitable, with layer upon layer
of include-ing, building up strata of opaque cruft, like guano on
an island.

Dave AB3NR

Reply via email to