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
|