Subject: Re: problems trying to build today's -current
To: Steve Bellovin <smb@research.att.com>
From: Alan Barrett <apb@cequrux.com>
List: current-users
Date: 02/14/2003 18:58:08
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.

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").

--apb (Alan Barrett)