Subject: Re: Frustration
To: None <joe@mediaone.net>
From: Mike Long <mikel@shore.net>
List: current-users
Date: 03/17/1998 18:44:12
>From: Joseph Sarkes <joe@js.ne.mediaone.net>
>Date: Sun, 15 Mar 1998 06:57:55 -0500 (EST)
>
>Well, i am now totally frustrated and confused. Every time
>I try to build the current tree it dies somewhere and i have
>to reinstall the 1.3 sources to get an operational system.
>
>HOW do you do a make build without trashing your system?
The solution to your troubles is to follow these rules religiously:
1) Always have the COMPAT_ option for the most recent major release in
your kernel config. Since the last major release (i.e. not a patch
release) was 1.3, you should have 'options COMPAT_13' in your kernel
config.
2) Rebuild the kernel and reboot before building anything (*) in
userland.
Why? New syscalls are frequently added to the NetBSD kernel. If you
build and install a new libc without building a current kernel first,
then userland binaries start trying to use syscalls which don't exist
in the kernel. Much lossage results. You need the COMPAT_ option so
that your new kernel continues to support the syscall set used by your
old libc while you rebuild it.
(*) You may need to rebuild some tools in the tree (most often
config(8), but there may be others as well) before you can build a
new kernel successfully. Don't install headers or libraries
before doing this. Usually we try to post announcments to
current-users about this, but....
--
Mike Long <mikel(at)shore.net> http://www.shore.net/~mikel
"Every normal man must be tempted at times to spit on his hands,
hoist the black flag, and begin slitting throats." -- H.L. Mencken