Subject: Re: road map for new immigrants?
To: Jonathan Stone <jonathan@DSG.Stanford.EDU>
From: Ted Spradley <tsprad@spradley.tmi.net>
List: current-users
Date: 09/15/1998 00:02:52
> 
> First, the bad news is that NetBSD-current is in the middle of
> reworking the kernel and userland signal code, and -current doesnt'
> acutally build right now anyway :).  Wait a day or so or wait for
> Jason Thorpe's announcement that it's fixed.

No hurry.  Thanks for the warning.

[...]
> >WARNING: if you are running a 1.3.2 machine, and building -current
> >sources, you MUST first install a new kernel. Otherwise, your libc,
> >which refers to new system calls, and your userland, which uses those
> >calls, will not work. Building a -current kernel from 1.3.2 sources
> >will almost doubtless require that you manually rebuild and install
> >config.
> 
> Both true. Cannot be repeated enough. 

OK, well noted.  In FreeBSD they recommend the other way 'round.

[...]
> Some people say that ``make build'' is normal practice.  I've found it
> can be near-suicidal, especially if you use "make -k". It's like the
> FreeBSD "make World". But by default, it does an install over your
> current, live system.
> 
> 
> I always (always!) do
> 
>     make build DESTDIR=/somewhere/
> 
> which does a make build, but installs the newly-built tree under
> /somewhere instead of over my running system.  Iterate until the
> entire build completes cleanly.  Then, and only then, do a "make
> install" (no DESTDIR) or a "make build UPDATE=1" (again, no DESTDIR).

That seems like *very* sound advice.  Can I just blow the DESTDIR away 
after the "make install"?
 
> The first step of "make build" removes all existing objects and
> .depend files from your source tree; UPDATE=1 just stops it from
> doing that.

> BTW, in case you switched for the multi-arch support: if you want to
> compile again for a second architecture, you can create a separate
> object hierarchy for your i386 .o files by creating /usr/obj.i386 and
> then "make obj", before the "make build".  That lets you compile for
> other arches from the same source tree.

You mean NFS-mount the source tree on the various machines, and the 
objects will go into /usr/obj.{arch}?  That's cool!