Subject: Re: build.sh -t fails on 1.6I
To: None <current-users@netbsd.org>
From: Alan Barrett <apb@cequrux.com>
List: current-users
Date: 11/12/2002 09:54:11
On Mon, 11 Nov 2002, Mr Mine Sakiyama wrote:
> /usr/src contains sources that I am trying to compile
> (NetBSD-current) and the system is currently running
> NetBSD-current(1.6I). Earlier I was following some
> instructions that suggested to run "make includes" in
> /usr/src,,that's might have been when I started
> getting this error. I have deleted the contents of
> /usr/obj, I am still getting the same error.

I suspect that "make includes" would have installed files into
/usr/include that do not match the running system.  If so, you should
fix that by restoring your /usr/include directory from backup.  Then,
once you have got your running kernel, installed applications, installed
libraries and installed include files all back in sync, try again.

I usually do something like this to build everything:

    cd /usr/src
    OBJDIR=/foo/OBJDIR
    TOOLDIR=/foo/TOOLDIR
    DESTDIR=/foo/DESTDIR
    RELEASEDIR=/foo/RELEASEDIR
    mkdir -p $OBJDIR $TOOLDIR $DESTDIR $RELEASEDIR
    rm -rf $OBJDIR/* $TOOLDIR/* $DESTDIR/* $RELEASEDIR/*
    # build tools
    sh ./build.sh -O $OBJDIR -T $TOOLDIR -D $DESTDIR -u -U -t
    # build kernel
    sh ./build.sh -O $OBJDIR -T $TOOLDIR -D $DESTDIR -u -U -k MYKERNEL
    # build everything
    sh ./build.sh -O $OBJDIR -T $TOOLDIR -D $DESTDIR -R $RELEASEDIR -u -U

then install the new kernel, reboot to single user mode running the new
kernel, install all the release sets except etc.tgz, run etcupdate,
reboot to multi user mode.

--apb (Alan Barrett)