Issue408

Title make buildkernel not -j >1 safe?
Priority feature Status resolved
Superseder Nosy List TGEN
Assigned To Keywords

Created on 2006-12-13.14:34:01 by TGEN, last changed by sephe.

Messages
msg1839 (view) Author: sephe Date: 2006-12-24.02:34:42
The fix has been committed.
msg1783 (view) Author: qhwt+dfly Date: 2006-12-13.23:32:00
Good catch!

Thanks.
msg1774 (view) Author: TGEN Date: 2006-12-13.19:40:00
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
msg1773 (view) Author: TGEN Date: 2006-12-13.19:37:00
.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
msg1769 (view) Author: TGEN Date: 2006-12-13.17:16:01
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
msg1768 (view) Author: TGEN Date: 2006-12-13.16:46:00
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
msg1767 (view) Author: qhwt+dfly Date: 2006-12-13.15:50:00
I hope kern.fwd.mk rev 1.6 fixes your problem.

Cheers.
msg1765 (view) Author: TGEN Date: 2006-12-13.14:34:00
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
History
Date User Action Args
2006-12-24 02:34:43sephesetstatus: chatting -> resolved
messages: + msg1839
2006-12-13 23:32:01qhwt+dflysetstatus: resolved -> chatting
messages: + msg1783
2006-12-13 19:47:36TGENsetpriority: feature
status: chatting -> resolved
2006-12-13 19:40:01TGENsetmessages: + msg1774
2006-12-13 19:37:00TGENsetmessages: + msg1773
2006-12-13 17:16:01TGENsetmessages: + msg1769
2006-12-13 16:46:00TGENsetmessages: + msg1768
2006-12-13 15:50:00qhwt+dflysetstatus: unread -> chatting
messages: + msg1767
2006-12-13 14:34:01TGENcreate