bug-ncurses
[Top][All Lists]
Advanced

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

RE: Race condition during ncurses installation


From: Bystricky, Juro
Subject: RE: Race condition during ncurses installation
Date: Mon, 14 Mar 2016 16:38:23 +0000

Hello Thomas,
thanks for your quick reply.
I think .NOTPARALLEL target may be only available for GNU make.
In any case, if 

make install.libs 

also installs headers,

then calling

make install.libs install.includes 

does not make much sense.

Juro


> -----Original Message-----
> From: Thomas Dickey [mailto:address@hidden
> Sent: Saturday, March 12, 2016 11:14 AM
> To: Bystricky, Juro <address@hidden>
> Cc: address@hidden
> Subject: Re: Race condition during ncurses installation
> 
> On Fri, Mar 11, 2016 at 11:20:25PM +0000, Bystricky, Juro wrote:
> > Hello ncurses maintainers,
> >
> > There is a race condition using parallel make installing ncurses when 
> > installing
> explicit targets:
> >
> > make install.libs install.includes
> >
> > Both targets install identicall files, often resulting in an error such as :
> > /usr/bin/install: cannot create regular file
> > '/data/master-ab/poky/build-ab/tmp/work/core2-64-poky-linux/ncurses/6.
> > 0+20160213-r0/image/usr/include/termcap.h': File exists
> >
> > The race is relatively easy to fix, i.e. add statement such as
> >
> > .NOTPARALLEL install.libs install.includes
> 
> I don't see that here:
> 
> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html
> 
> (though there is some discussion in the rationale which may be helpful)
> 
> > in the file mk-hdr.awk
> > While this would prevent the race, several identical files would be
> > still installed twice (still assuming installing via "make install.libs 
> > install.includes
> ").
> >
> > Is it fair to assume install.libs is a superset of install.includes?
> 
> Something like that - it's not changed for a long time: the description of 
> both in
> INSTALL was written in 1994.
> 
> > In other words, is
> >
> > make install.libs
> >
> > meant to be an equivalent to:
> >
> > make install.libs install.includes
> >
> > BTW, I should mention that "make install.libs install.includes" has
> > been used in Yocto ncurses recipes for years (instead of a generic "make
> install") in order to better granulate installed ncurses components.
> 
> I understand that :-)
> 
> --
> Thomas E. Dickey <address@hidden> http://invisible-island.net
> ftp://invisible-island.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]