Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 13 May 2000 22:13:12 +1000 (EST)
From:      Bruce Evans <bde@zeta.org.au>
To:        David O'Brien <obrien@FreeBSD.ORG>
Cc:        Munehiro Matsuda <haro@tk.kubota.co.jp>, freebsd-current@FreeBSD.ORG
Subject:   Re: Small fix for compile error with internat crypto code
Message-ID:  <Pine.BSF.4.21.0005132147110.15014-100000@besplex.bde.org>
In-Reply-To: <20000512010946.A15400@dragon.nuxi.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0005132147110.15014-100000>