From owner-freebsd-current Sat May 13 5:13:23 2000 Delivered-To: freebsd-current@freebsd.org Received: from gidora.zeta.org.au (gidora.zeta.org.au [203.26.10.25]) by hub.freebsd.org (Postfix) with SMTP id BB6B037BDF9 for ; Sat, 13 May 2000 05:13:18 -0700 (PDT) (envelope-from bde@zeta.org.au) Received: (qmail 2973 invoked from network); 13 May 2000 12:13:15 -0000 Received: from bde.zeta.org.au (203.2.228.102) by gidora.zeta.org.au with SMTP; 13 May 2000 12:13:15 -0000 Date: Sat, 13 May 2000 22:13:12 +1000 (EST) From: Bruce Evans X-Sender: bde@besplex.bde.org To: David O'Brien Cc: Munehiro Matsuda , freebsd-current@FreeBSD.ORG Subject: Re: Small fix for compile error with internat crypto code In-Reply-To: <20000512010946.A15400@dragon.nuxi.com> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Fri, 12 May 2000, David O'Brien wrote: > On Fri, May 12, 2000 at 04:41:09PM +0900, Munehiro Matsuda wrote: > > When run 'make -j4 buildworld' with internat crypto code installed, > > I get following error: > > mkdir: openssl: File exists > > *** Error code 1 > > - @test -d openssl || mkdir -p openssl > > + -@mkdir -p openssl > > The "-" is not needed as `mkdir -p' will not return an error condition. > > > - @test -d openssl || mkdir -p openssl > > + -@mkdir -p openssl > > Same here. Bruce Evans just told me the other day that make(1) can have > issues with shell "&&" and "||". Guess you hit one of the cases it can > fail with -j. I guess the bug is a more normal one for -j4 -- broken dependencies may cause a rule to be repeated concurrently. Multiple concurrent "mkdir -p openssl"s may loses races to each other and fail despite the -p. The "-" then hides the bug. The semantics of -p only hides it if the races are external to the mkdirs. Putting @ before commands mainly breaks debugging. E.g., here it may hide the multiple invocations of mkdir -p. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message