Subject: Re: Bootstrapping...
To: Peter Seebach <seebs@solon.com>
From: John Birrell <jb@cimlogic.com.au>
List: current-users
Date: 03/04/1997 17:47:38
Peter Seebach wrote:
> 
> Has anyone else been frustrated by the amonut of hand tuning required to
> get NetBSD bootstrapped for the first time on a new system?  You can't build
> much of anything without groff, because make will fail (and then propagate
> the failure back up) the moment it gets to something with documentation.

Yep. Today for me on alpha, it was objects not released into /usr/lib
that prevented shared libraries (like libc!) from being built. Sigh.

> 
> But you can't build and install groff; to do that, you need to build some
> of the subdirectories first, then (after they fail due to lack of nroff)
> install them, then go to /usr/src/share/tmac and make install, then you can
> go back to the groff directory and run a plain make/make install and expect
> it to work, probably.
> 
> Should we perhaps have a "make bootstrap" that attempts to build a complete
> tree assuming just baseX.gz and compX.gz, where X is "1.2" or "-current"?

Before doing this, I'd like to see a list of *required* bootstrap programs.
And then the order that these should be built.

I've started looking at this a couple of times and given up in disgust at
the inter-dependencies between programs, include files and libraries.
The conclusion I reached was that NetBSD was not designed to be bootstrapped.

FreeBSD's 'make world' has a go at bootstrapping by over-building things,
however the same sorts of inter-dependencies exist there too. At least they
try!

I'll go out on a limb and suggest that some redesigning is required to
make the build process deterministic. [... Ducks for cover ... 8-) ]
I'd like to see the 'make cleandir' disappear from 'make build' so
that I don't have to keep re-building things that haven't changed.
And to do this requires a better 'make' which handles dependencies
accurately, including taking compiler switches into account.

I think that a 'make bootstrap' will always be incomplete until the
build process is reworked and code is re-designed to avoid race
conditions.

> 
> -s
> 

Just my 0.02 on a day when I've been bitten.

Regards,

-- 
John Birrell - jb@cimlogic.com.au; jb@netbsd.org
CIMlogic Pty Ltd, 119 Cecil Street, South Melbourne Vic 3205, Australia
Tel +61 3 9690 6900 Fax +61 3 9690 6650 Mob +61 418 353 137