gnutls-devel
[Top][All Lists]
Advanced

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

Parallel make failure with gnutls-3.0.12


From: Kris Karas
Subject: Parallel make failure with gnutls-3.0.12
Date: Fri, 20 Jan 2012 15:34:06 -0500
User-agent: Mozilla/5.0 (X11; Linux i686; rv:9.0) Gecko/20120102 Thunderbird/9.0.1

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


reply via email to

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