Subject: Re: problems trying to build today's -current
To: Alan Barrett <apb@cequrux.com>
From: Frederick Bruckman <fredb@immanent.net>
List: current-users
Date: 02/14/2003 11:04:38
On Fri, 14 Feb 2003, Alan Barrett wrote:

> On Fri, 14 Feb 2003, Steve Bellovin wrote:
> > Using build.sh kernel=... I get this:
> >
> > cc  -O -o nbmake *.o
> > ===> DESTDIR path:
> > ===> TOOLDIR path: /usr/src/tools/obj/tools.NetBSD-1.6M-i386
> > ===> Created /usr/src/tools/obj/tools.NetBSD-1.6M-i386/bin/nbmake
> > ===> Updated /usr/src/tools/obj/tools.NetBSD-1.6M-i386/bin/nbmake-i386
> > ===> Building kernel without building new tools
>        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>
> build.sh classifies this as pilot error.  The present code is similar
> to what I wrote some time ago, and I didn't know a good way, within the
> existing framework, to check whether building tools was necessary.
>
> > I assume I need a new config; I would think, though, that the toolchain
> > would ((make that "should") do that for me, given the usual warnings
> > about not running a new userland without first upgrading the kernel.
>
> Yes, I agree that build.sh "should" do that for you, but it doesn't.
> This could be fixed by enhancing the framework to touch various marker
> files at various points, and to compare timestamps of the marker files
> at various other points.

I wouldn't like that. Usually, you need to update the tools a maximum
of one time after updating the sources, and then you build different
kernels, sets, etc. with the same tools. Only the user knows if he
just updated all his sources, or if he just tweaked his kernel config.

> The instructions in the BUILDING file try to make it clear that it's
> your responsibility to run "build.sh tools" before "build.sh kernel=FOO"
> (or to run them both together, as "build.sh tools kernel=FOO").

Sure.

Frederick