Parallel make failure with gnutls-3.0.12
Kris Karas
ktk at enterprise.bidmc.harvard.edu
Fri Jan 20 21:34:06 CET 2012
Greetings,
A bug was introduced into gnutls-3.0.12 in the logic that creates the
"gnutls-3.0.12/doc/enums/" directory and its dependents, specifically
when "make" is run in parallel (e.g. "make -j10").
What is happening is this: For each file in ./doc/enums/ that gets
created, the make creates a temporary file called
"tmp-compare-makefile", runs "diff" against that file and Makefile.am,
then removes the file. However, no interlocking takes place to ensure
that only one instance of "make" accesses the same file at once. With a
parallel build, one make is removing the file while another make is
creating/diffing it, with predictable results. Here's a typical snippit
of the output of a parallel make (in this case, "make -j10"):
rm -f tmp-compare-makefile
make[4]: [enums/gnutls_certificate_print_formats_t] Error 1 (ignored)
./scripts/split-texi.pl enums enum< enums.texi
make[5]: Leaving directory `/tmp/gnutls-3.0.12/doc'
diff: tmp-compare-makefile: No such file or directory
mkdir enums
make[5]: *** [compare-makefile] Error 2
Best regards,
Kris Karas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: </pipermail/attachments/20120120/588a2b76/attachment.htm>
More information about the Gnutls-devel
mailing list