emacs-bug-tracker
[Top][All Lists]
Advanced

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

[debbugs-tracker] bug#18301: closed (texi-vers.am: Problem with parallel


From: GNU bug Tracking System
Subject: [debbugs-tracker] bug#18301: closed (texi-vers.am: Problem with parallel builds due to vti.tmp)
Date: Sat, 23 Aug 2014 14:59:01 +0000

Your message dated Sat, 23 Aug 2014 07:58:37 -0700
with message-id <address@hidden>
and subject line Re:  texi-vers.am: Problem with parallel builds due to vti.tmp
has caused the debbugs.gnu.org bug report #18301,
regarding texi-vers.am: Problem with parallel builds due to vti.tmp
to be marked as done.

(If you believe you have received this mail in error, please contact
address@hidden)


-- 
18301: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18301
GNU Bug Tracking System
Contact address@hidden with problems
--- Begin Message --- Subject: texi-vers.am: Problem with parallel builds due to vti.tmp Date: Wed, 20 Aug 2014 11:17:59 +0200
Package: automake
Version: 1.11.6-1

I encounter a problem with automake during parallel builds for the debian pspp 
package. When I run the build
process non-parallel then it works. The problem only occurs sometimes when I do 
a parallel build. The build
is a debian package build. Here are the relevant sections from the build.log 
and Makefile.in: 

======== snippet from pspp_0.8.3-3_amd64.build ============
make[4]: Entering directory `/home/fritz/pspp/new/pspp-0.8.3'
make[4]: »doc/.dirstamp« ist bereits aktualisiert.
make[4]: Leaving directory `/home/fritz/pspp/new/pspp-0.8.3'
Updating ./doc/version.texi
Updating ./doc/version.texi
cp: Aufruf von stat für „vti.tmp“ nicht möglich: Datei oder Verzeichnis nicht 
gefunden
make[3]: *** [doc/stamp-vti] Fehler 1
make[3]: Leaving directory `/home/fritz/pspp/new/pspp-0.8.3'
make[2]: *** [pdf-recursive] Fehler 1
make[2]: *** Warte auf noch nicht beendete Prozesse…
================================================================

The build log shows „Updating ./doc/version.texi“ two times. This message is 
generated when
the stamp-vti target is build. So obviously the parallel build results in two 
parallel processes to build
stamp-vti. 

================ Relevant section from Makefile.in ======================
$(srcdir)/doc/version.texi:  $(srcdir)/doc/stamp-vti
$(srcdir)/doc/stamp-vti: doc/pspp.texinfo $(top_srcdir)/configure
        test -f doc/$(am__dirstamp) || $(MAKE) $(AM_MAKEFLAGS) 
doc/$(am__dirstamp)
        @(dir=.; test -f ./doc/pspp.texinfo || dir=$(srcdir); \
        set `$(SHELL) $(top_srcdir)/build-aux/mdate-sh $$dir/doc/pspp.texinfo`; 
\
        echo "@set UPDATED $$1 $$2 $$3"; \
        echo "@set UPDATED-MONTH $$2 $$3"; \
        echo "@set EDITION $(VERSION)"; \
        echo "@set VERSION $(VERSION)") > vti.tmp
        @cmp -s vti.tmp $(srcdir)/doc/version.texi \
          || (echo "Updating $(srcdir)/doc/version.texi"; \
              cp vti.tmp $(srcdir)/doc/version.texi)
        address@hidden -f vti.tmp
================================================================

I think the problem is due to the file „vti.tmp“ which is generated and removed 
during the build. When
one process has already deleted the file and the other process wants to delete 
it, then the error message
in the build log: "cp: Aufruf von stat für „vti.tmp“ nicht möglich: Datei oder 
Verzeichnis nicht gefunden“
will show up. This means that the file vti.tmp is not found for the copy action.

A possible solution could be based on unique temporary files, instead of 
vti.tmp.  The relevant automake file
is http://git.savannah.gnu.org/cgit/automake.git/tree/lib/am/texi-vers.am. I 
think the relevant part of the file
did not change since version 1.11.6. Attached is the full build.log. 
The bug report in the pspp project is here: https://savannah.gnu.org/bugs/?43029

Friedrich


Attachment: pspp_0.8.3-3_amd64.build
Description: Binary data






--- End Message ---
--- Begin Message --- Subject: Re: texi-vers.am: Problem with parallel builds due to vti.tmp Date: Sat, 23 Aug 2014 07:58:37 -0700 User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 Thanks, I installed the attached patch, which has the more-usual approach of a uniquely-named temporary.

Attachment: 0001-build-fix-race-in-parallel-builds.patch
Description: Text document


--- End Message ---

reply via email to

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