[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Make-3.81 rc1 hangs with -j 2 but not with -j 1
From: |
J. David Bryan |
Subject: |
Make-3.81 rc1 hangs with -j 2 but not with -j 1 |
Date: |
Tue, 21 Feb 2006 18:07:34 -0500 |
Running make-3.81rc1 under Windows with the following makefile will hang if
"-j 2" is specified, but will run properly if "-j 1" is selected instead.
To duplicate, put the following makefile into a blank directory:
.SECONDARY : test.1 test.2 test.3
test : test.4
%.4 : %.int %.3
touch $@
%.int : %.3 %.2
touch $@
%.3 : | %.2
touch $@
%.2 : %.1
touch $@
%.1 : %.0
touch $@
Or, if you prefer, obtain the makefile from:
http://www.bcpl.net/~dbryan/dropbox/makefile
Running with "touch test.0 && make -j 2" runs properly the first time and
produces:
touch test.1
touch test.2
touch test.3
touch test.int
touch test.4
rm test.int
Running "touch test.0 && make -j 2" again hangs repeatably part-way
through:
touch test.1
touch test.2
Running instead with "touch test.0 && make -j 1" repeatably produces the
same output as the first run. Note that if "test.int" is touched
externally, so that's it's pre-existing, then "-j 2" works properly.
Deleting "test.int" and retrying will hang.
Running with "--debug=b" produces a few zillion lines of "File `test' does
not exist" when the hang occurs, so it looks as though make is stuck in a
loop.
-- Dave
- Make-3.81 rc1 hangs with -j 2 but not with -j 1,
J. David Bryan <=