Bug #408
closedmake buildkernel not -j >1 safe?
0%
Description
It appears a `make buildkernel` is not safe for more than one parallel
make. The fast scrolling output didn't make things very clear, but I
highly suspect there is no proper .ORDER -ing of the mkdep phase. Where
it normally is busy for a couple of seconds doing that, it now rushes
right along. I'm not enough of a Makefile guru to fix that though, I fear.
Cheers,
--
Thomas E. Spanjaard
tgen@netphreax.net
Updated by qhwt+dfly about 18 years ago
I hope kern.fwd.mk rev 1.6 fixes your problem.
Cheers.
Updated by TGEN about 18 years ago
Alas, it doesn't. The exact error is:
./aicasm.nx -nostdinc -I. -Iinclude -I/usr/home/tgen/work/current/sys
-I/usr/home/tgen/work/current/sys/../include
-I/usr/home/tgen/obj/usr/home/tgen/work/current/sys/DORADO
-I"/usr/home/tgen/work/current/sys/dev/acpica5"
-I"/usr/home/tgen/work/current/sys/contrib/dev/acpica-unix-20050309/include"
-I/usr/home/tgen/work/current/sys/contrib/ipfilter
-I/usr/home/tgen/work/current/sys/bus/cam/scsi
-I/usr/home/tgen/work/current/sys/dev/disk/aic7xxx -o aic7xxx_seq.h -r
aic7xxx_reg.h -p aic7xxx_reg_print.c -i
/usr/home/tgen/work/current/sys/dev/disk/aic7xxx/aic7xxx_osm.h
/usr/home/tgen/work/current/sys/dev/disk/aic7xxx/aic7xxx.seq
In file included from
/usr/home/tgen/work/current/sys/../include/stdint.h:32,
from /usr/home/tgen/work/current/sys/sys/types.h:50,
from /usr/home/tgen/work/current/sys/sys/param.h:77,
from
/usr/home/tgen/work/current/sys/machine/pc32/i386/genassym.c:41:
/usr/home/tgen/work/current/sys/sys/stdint.h:12:28: machine/stdint.h: No
such file or directory
Is this perhaps done before the fwd phase, or part of it?
Cheers,
--
Thomas E. Spanjaard
tgen@netphreax.net
Updated by TGEN about 18 years ago
It seems the BEFORE_DEPEND stuff is done too soon. Perhaps the .ORDER in
kern.fwd.mk should read something like this:
.ORDER: ${_MACHINE_FWD}/include/machine ${_FWDHDRS} assym.s ${_LHDRS}
Would that be possible?
Cheers,
--
Thomas E. Spanjaard
tgen@netphreax.net
Updated by TGEN about 18 years ago
.ORDER: ${_MACHINE_FWD}/include/machine ${_FWDHDRS} ${_LHDRS}
${BEFORE_DEPEND} \
genassym.o
Only fixes the BEFORE_DEPEND stuff, but not genassym.o.
genassym.o: $S/machine/$P/$M/genassym.c forwarding-headers
Fixes the latter. I'll try some more things later on, but this appears
to work. I'll see what the minimum required is (maybe just the
additional dependency on the forwarding-headers target for genassym.o is
enough), and then commit that if no objections arise.
Cheers,
--
Thomas E. Spanjaard
tgen@netphreax.net
Updated by TGEN about 18 years ago
Pardon me, but I was mistaken here. BEFORE_DEPEND are not a problem, it
was just that the output on console was confusing.
This is enough. I'll commit right away.
Cheers,
--
Thomas E. Spanjaard
tgen@netphreax.net