[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