On Tue, Sep 12, 2006 at 01:53:28PM +0200, [LoN]Kamikaze wrote: > Last time I built a kernel on Releng_6 (only a couple of days ago) > everything was fine with "-j 4". > Now buildkernel stops, this is an example: > > ===> sound/driver/als4000 (depend) > awk -f @/tools/makeobjops.awk @/kern/device_if.m -h > machine -> /usr/src/sys/i386/include > awk: can't open file @/tools/makeobjops.awk > source line number 1 source file @/tools/makeobjops.awk > context is > >>> <<< > *** Error code 2 > @ -> /usr/src/sys > 1 error > ... > > Where it stops is random (I suppose it sometimes is accidentally > built in the right order), but the error is always similar. > This puzzled me for a while, since kmod.mk has mechanisms that try to ensure `@' is built before it's accessed. What the implementation is missing is anti-footshooting measures. I bet your /usr/src/sys/modules/ has some stray `@' symlinks possibly left from compiling modules manually without creating object directories, and forgetting to run "make clean" afterwards. Here's how I can reproduce the behavior you're seeing:
: # pwd : /usr/src/sys/modules/sound/driver/als4000 : # make -s cleandir : # make -s cleandir : # make @ : @ -> /usr/src/sys : # make obj : /usr/obj/usr/src/sys/modules/sound/driver/als4000 created for /usr/src/sys/modules/sound/driver/als4000 : # make device_if.h : awk -f @/tools/makeobjops.awk @/kern/device_if.m -h : awk: can't open file @/tools/makeobjops.awk : source line number 1 source file @/tools/makeobjops.awk : context is : >>> <<< : *** Error code 2 : : Stop in /usr/src/sys/modules/sound/driver/als4000. Fix: cd /usr/src/sys/modules && make cleandir && make cleandir Cheers, -- Ruslan Ermilov [EMAIL PROTECTED] FreeBSD committer
pgplaXWKCvVJL.pgp
Description: PGP signature