看板 DFBSD_bugs 關於我們 聯絡資訊
On Sun, Feb 13, 2011 at 09:11:36AM +0000, Steve O'Hara-Smith wrote: > Hi, > > I just did a git pull and buildworld - which failed early (a few seconds) with: > > cc -O -pipe -march=pentiumpro -DSHELL -I. -I/usr/src/bin/sh -DNO_HISTORY -std=gnu99 -Wsystem-headers -Wall -W -Wno-unused-parameter -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wold-style-definition -Wreturn-type -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wcast-align -Wunused-parameter -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls -c /usr/src/bin/sh/eval.c > /usr/src/bin/sh/eval.c: In function 'safe_builtin': > /usr/src/bin/sh/eval.c:656: error: 'KILLCMD' undeclared (first use in this function) The `KILLCMD' is defined in builtins.c which is generated by `make depend,' so it's likely that you have stale files left somewhere under $MAKEOBJDIRPREFIX (which defaults to /usr/obj), or under /usr/src/bin/sh. Try this command to look for any local modifications or unmanaged files $ git status and this one for any ignored files which may be confusing the buildworld. $ git clean -nx Replacing -n flag above with -f removes such files for you, but be very careful not to remove important files. Alternatively you can move the Git repository to an empty directory and checkout a clean copy of the source tree there (you can remove src.bak later): $ cd /usr $ mv src src.bak $ mkdir src $ mv src.bak/.git src/ $ cd src $ git checkout . # note the dot at the end; it's not a dust Now that you've made sure that the source tree is clean, remove /usr/obj (or whichever directory pointed to by $MAKEOBJDIRPREFIX) and start over. (well, running `make cleandir' twice should generally cleans up ${.OBJDIR} and generated files in the current directory, but doing it under /usr/src may take long time...) Cheers.