Project

General

Profile

Actions

Bug #408

closed

make buildkernel not -j >1 safe?

Added by TGEN over 17 years ago. Updated over 17 years ago.

Status:
Closed
Priority:
Low
Assignee:
-
Category:
-
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:

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

Actions #1

Updated by qhwt+dfly over 17 years ago

I hope kern.fwd.mk rev 1.6 fixes your problem.

Cheers.

Actions #2

Updated by TGEN over 17 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

Actions #3

Updated by TGEN over 17 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

Actions #4

Updated by TGEN over 17 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

Actions #5

Updated by TGEN over 17 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

Actions #6

Updated by qhwt+dfly over 17 years ago

Good catch!

Thanks.

Actions #7

Updated by sepherosa over 17 years ago

The fix has been committed.

Actions

Also available in: Atom PDF