Subject: Re: road map for new immigrants?
To: Ted Spradley <email@example.com>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
Date: 09/14/1998 21:38:55
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.
[ compile_et not present ]
This is telling you that the utility used to build part of KerberosIV
(the table that maps Kerberos error numbers to strings) isn't present.
I beleve this is fixed in -current (it uses a compile_et built during
the build) but you need to get to -current before it works.
You can either build with EXPORTABLE_SYSTEM set (disables Kerberos),
or you can build compile_et from /usr/src/domestic/usr.bin/compile_et
(against your existing libc) install it by hand, and try the build
again. As Perry said:
I think there's a second program-generator in kerberosIV; it'll
probably have the same symptoms. Repair the same way.
>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
Both true. Cannot be repeated enough.
>If you are building 1.3.2 sources with a 1.3.2 kernel, or if you
>already running a -current kernel, ignore that warning.
[Use "make build"]
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).
The first step of "make build" removes all existing objects and
.depend files from your source tree; UPDATE=1 just stops it from
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.