NetBSD Problem Report #18573
Received: (qmail 14362 invoked by uid 605); 7 Oct 2002 19:24:03 -0000
Message-Id: <200210071923.g97JNkC14374@mouse.elfie.org>
Date: Mon, 7 Oct 2002 15:23:46 -0400 (EDT)
From: John Franklin <franklin@mouse.elfie.org>
Sender: gnats-bugs-owner@netbsd.org
Reply-To: franklin@mouse.elfie.org
To: gnats-bugs@gnats.netbsd.org
Subject: nbmake -j doesn't stop on error
X-Send-Pr-Version: 3.95
>Number: 18573
>Category: toolchain
>Synopsis: nbmake -j doesn't stop on error
>Confidential: no
>Severity: critical
>Priority: high
>Responsible: toolchain-manager
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Mon Oct 07 19:25:00 +0000 2002
>Closed-Date: Sat Dec 20 00:19:30 +0000 2003
>Last-Modified: Sat Dec 20 00:20:01 +0000 2003
>Originator: John Franklin
>Release: NetBSD 1.6I - 7 Oct 02
>Organization:
John Franklin
franklin@elfie.org
ICBM: 35°43'56"N 78°53'27"W
>Environment:
System: NetBSD deathmitten 1.6B NetBSD 1.6B (DM.MP) #0: Sun Jun 30 16:34:40 EDT 2002 franklin@deathmitten:/usr/src/sys/arch/i386-MP/compile/DM.MP i386
Architecture: i386
Machine: i386
>Description:
The nbmake process will skip from dependall to install stages if an error occurs with -j <n> where n is anything larger than 1. Without the -j option, the build will stop when the error is discovered.
>How-To-Repeat:
Break any file (say, by removing a semicolon), then:
./build.sh -j 2 <-whatever you normally use>
>Fix:
>Release-Note:
>Audit-Trail:
State-Changed-From-To: open->closed
State-Changed-By: jmc
State-Changed-When: Sat Dec 20 00:18:29 UTC 2003
State-Changed-Why:
Fixed via reworking of error checking for shells that provide no global method
to exit on any command having non-zero error. For sh this means wrapping
all commands with { ... n } || exit $?.
From: James Chacon <jmc@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: pr/18573 CVS commit: src/usr.bin/make
Date: Sat, 20 Dec 2003 00:18:22 +0000 (UTC)
Module Name: src
Committed By: jmc
Date: Sat Dec 20 00:18:22 UTC 2003
Modified Files:
src/usr.bin/make: job.c job.h
Log Message:
Fixes for PR#18573 (make -j not stopping correctly on error).
Using -e in sh/ksh to stop on error doesn't work with grouped commands. At
least for any SUSE compliant sh(1). Instead, extend the Shell struct and add
errOut which provides a template to use to check error status from commands.
To generate a diff of this commit:
cvs rdiff -r1.82 -r1.83 src/usr.bin/make/job.c
cvs rdiff -r1.20 -r1.21 src/usr.bin/make/job.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.51 2026/08/10 02:28:17 riastradh Exp $
$NetBSD: gnats_config.sh,v 1.10 2026/05/13 22:00:09 riastradh Exp $
Copyright © 1994-2026
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.