NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

bin/49720: make -k succeeds improperly on certain rules



>Number:         49720
>Category:       bin
>Synopsis:       make -k succeeds improperly on certain rules
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    bin-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Mar 05 04:00:00 +0000 2015
>Originator:     David A. Holland
>Release:        NetBSD 7.99.1 (20141024 (?))
>Organization:
>Environment:
System: NetBSD macaran 7.99.1 NetBSD 7.99.1 (MACARAN) #22: Fri Oct 24 18:32:54 EDT 2014 dholland@macaran:/usr/src/sys/arch/amd64/compile/MACARAN amd64
Architecture: x86_64
Machine: amd64
>Description:

Even though make -k is supposed to continue on error, in order to
build parts of the dependency graph not directly affected by a
failure, it's not supposed to call that "success" afterwards.

However, it's suppressing the error condition in some cases.

>How-To-Repeat:

Makefile:
   ------
reboom: boom
boom:
	false
   ------

then:
	% make -k boom; echo $?
	false
	*** Error code 1 (continuing)


	Stop.
	make: stopped in /tmp/muckle
	Exit 1
	1

which is as one would expect, as is:
	% make -j1 -k boom ; echo $?
	false
	*** [boom] Error code 1

	make: stopped in /tmp/muckle
	Exit 1
	1

(although the varying insertion of blank lines seems like a bug in its
own right)

but this seems wrong:
	% make -k reboom; echo $?
	false
	*** Error code 1 (continuing)
	`reboom' not remade because of errors.
	0

and doesn't happen in parallel mode:
	% make -j1 -k reboom; echo $?
	false
	*** [boom] Error code 1

	make: stopped in /tmp/muckle
	Exit 1
	1

(this is not because parallel mode -k fails to continue as -k is
supposed to, as can be readily checked by adding more stuff to the
makefile.)

>Fix:

dunno but I'll probably look into it eventually if nobody else gets
there first.



Home | Main Index | Thread Index | Old Index