Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 01 Feb 2006 11:55:24 -0700 (MST)
From:      Warner Losh <imp@bsdimp.com>
To:        bakul@BitBlocks.com
Cc:        src-committers@freebsd.org, cvs-src@freebsd.org, cvs-all@freebsd.org, stefanf@freebsd.org, ru@freebsd.org, sgk@troutmask.apl.washington.edu, kris@obsecurity.org, stefan@fafoe.narf.at
Subject:   Re: cvs commit: src/sys/sys cdefs.h src/include nl_types.h stdio.h 
Message-ID:  <20060201.115524.104088017.imp@bsdimp.com>
In-Reply-To: <200602011851.k11Ip8VO071628@gate.bitblocks.com>
References:  <20060201183036.GA30206@xor.obsecurity.org> <200602011851.k11Ip8VO071628@gate.bitblocks.com>

next in thread | previous in thread | raw e-mail | index | archive | help
From: Bakul Shah <bakul@bitblocks.com>
Subject: Re: cvs commit: src/sys/sys cdefs.h src/include nl_types.h stdio.h 
Date: Wed, 01 Feb 2006 10:51:08 -0800

> > On Wed, Feb 01, 2006 at 10:25:28AM -0800, Bakul Shah wrote:
> > > > I'm actually surprised that make includes doesn't install the sys
> > > > directory as well, which would pick up the new sys/cdefs.h.  Does
> > > > 'make -f Makefile.inc _includes' also exhibit the same problem?
> > >=20
> > > The bigger question is *why* does buildworld depend on
> > > /usr/include.
> > 
> > You have to compile native bootstrap tools (i.e. against /usr/include)
> > before you can build the rest of the world with "internal" headers.
> > If you don't do this bootstrap step, your buildworld won't work in all
> > upgrade cases.
> 
> But look at this error message Steve Kargl posted:
> 
> ===> games/fortune/strfile (obj,depend,all,install)
> cc -O2 -fno-strict-aliasing -pipe  -I/usr/obj/usr/src/tmp/legacy/usr/include -c
> /usr/src/games/fortune/strfile/strfile.c
> In file included from /usr/src/games/fortune/strfile/strfile.c:53:
> /usr/include/stdio.h:331: error: syntax error before "__format_arg"
> 
> Is /usr/games/fortune is a build tool?  Even if /usr/includes
> is not consistent due to make includes, surely fortune
> shouldn't care since it includes only the "internal" headers?
> Internal meaning the ones in the target system.
> 
> BTW, I have seen similar things in the past few weeks while
> doing buildworld and the only way to fix this was to do make
> includes.
> 
> Anyway, if it is only build tools that rely on host includes,
> why do you need make includes at all?  If you do, that says
> that the build tools are relying on new stuff that they are
> supposed to help build and install.
> 
> More generally don't the build tools need to have an even
> more stable environment?

The problem is that Steve Kargl had an pooched /usr/include.  He
updated part of it, but not all of it, evidence suggests.  In that
cross threaded environment, mismatches between different parts of the
tree can be bad.

strfile is a build tool.  It is used to build fortune and must be
built using the host's build environment.

Warner



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060201.115524.104088017.imp>