Following is the error when I installed userland after a new kernel install, It told me /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax is required but not found. After run a grep, I found this file exists in my original kernel (the kernel used after a fresh install) under the path ./tooldir.NetBSD-6.0.4-i386/bin/nbpax, I do not know whether this is a bug worth to report or we can make a walk around by installing userland first, and then kernel.
# ./build.sh -U -O /usr/obj install=/ ===> build.sh command: ./build.sh -U -O /usr/obj install=/ ===> build.sh started: Sun May 8 16:31:08 UTC 2016 ===> NetBSD version: 7.99.29 ===> MACHINE: i386 ===> MACHINE_ARCH: i386 ===> Build platform: NetBSD 7.99.29 i386 ===> HOST_SH: /bin/sh ===> MAKECONF file: /etc/mk.conf (File not found) ===> TOOLDIR path: /usr/obj/tooldir.NetBSD-7.99.29-i386 ===> DESTDIR path: /usr/obj/destdir.i386 ===> RELEASEDIR path: /usr/obj/releasedir ===> Updated makewrapper: /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbmake-i386 installsets ===> distrib/sets (with: INSTALLDIR=/ INSTALLSETS=) cd /usr/src/distrib/sets && DESTDIR=/usr/obj/destdir.i386 MACHINE=i386 MACHINE_ARCH=i386 AWK=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbawk CKSUM=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbcksum DB=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbdb EGREP=grep\ -E HOST_SH=/bin/sh MAKE=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbmake MKTEMP=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbmktemp MTREE=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbmtree PAX=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax COMPRESS_PROGRAM=gzip GZIP=-n PKG_CREATE=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpkg_create SED=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbsed TSORT=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbtsort\ -q /bin/sh ./maketars -d /usr/obj/destdir.i386 -M /usr/obj/destdir.i386/METALOG.sanitised -N /usr/src/etc -L base -i / Copying set base ./maketars: /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax: not found Copying set comp ./maketars: /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax: not found Copying set games ./maketars: /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax: not found Copying set man ./maketars: /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax: not found Copying set misc ./maketars: /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax: not found Copying set modules ./maketars: /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax: not found Copying set tests ./maketars: /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax: not found Copying set text ./maketars: /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax: not found *** Failed target: installsets *** Failed command: cd /usr/src/distrib/sets && DESTDIR=/usr/obj/destdir.i386 MACHINE=i386 MACHINE_ARCH=i386 AWK=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbawk CKSUM=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbcksum DB=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbdb EGREP=grep\ -E HOST_SH=/bin/sh MAKE=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbmake MKTEMP=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbmktemp MTREE=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbmtree PAX=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpax COMPRESS_PROGRAM=gzip GZIP=-n PKG_CREATE=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbpkg_create SED=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbsed TSORT=/usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbtsort\ -q /bin/sh ./maketars -d /usr/obj/destdir.i386 -M /usr/obj/destdir.i386/METALOG.sanitised -N /usr/src/etc -L base -i / *** Error code 255 Stop. nbmake[1]: stopped in /usr/src/distrib/sets *** Failed target: installworld *** Failed command: _makedirtarget() { dir="$1"; shift; target="$1"; shift; case "${dir}" in /*) this="${dir}/"; real="${dir}" ;; .) this=""; real="/usr/src" ;; *) this="${dir}/"; real="/usr/src/${dir}" ;; esac; show=${this:-.}; echo "${target} ===> ${show%/}${1:+ (with: $@)}"; cd "${real}" && /usr/obj/tooldir.NetBSD-7.99.29-i386/bin/nbmake _THISDIR_="${this}" "$@" ${target}; }; _makedirtarget distrib/sets installsets INSTALLDIR=/ INSTALLSETS= *** Error code 1 Stop. nbmake: stopped in /usr/src ERROR: Failed to make installworld to / *** BUILD ABORTED *** 2016-05-08 7:24 GMT-07:00 Christos Zoulas <chris...@zoulas.com>: > On May 7, 8:57pm, charles.cui1...@gmail.com (Charles Cui) wrote: > -- Subject: Re: refine of the GSOC project > > | Hi Christos, > | > | I found the reason of _SC_TIMER_MAX not being found. > | Other functions that netbsd already provided but not found should have > | the same reason. > | Although I compiled the kernel myself (verified by uname), I found the > | header files in /usr/include/sys/unistd.h is not updated. After I > | copied the header file in > | kernel source into /usr/include/sys/unistd.h manually, it works. > | But I am wondering why a kernel build does not copy headers into the > | system folders? > | To update kernel faster, what I did was > | cd /usr/src; ./build.sh -U -O /usr/obj -j8 kernel=<my kenrel name> > | after building, I copy netbsd file into /. > | Are there best practices to install header files? (copy sys headers > | from kernel source into system path) > | I found online that there is a command "make includes" > | when I executed it in the kernel source /usr/src/sys, it promotes some > errors. > | By the way, thanks Matthew for letting me know nxr.netbsd.org, I > | already used it. > > You need to make a full build. Doing partial builds is a recipe for trouble. > https://www.netbsd.org/docs/guide/en/chap-updating.html > > christos