--- Begin Message ---
Subject: |
23.2; race condition in parallel building might lead to byte-compilation failure |
Date: |
Sat, 14 Aug 2010 22:58:46 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.2.50 (gnu/linux) |
In bootstrapping, consider the situation where bar.el does
(require 'foo). It usually does not matter whether bar.el or foo.el are
compiled first, but if they are built in parallel there is a window
where foo.elc is half written, and then byte-compiling bar.el will fail
(or worse, be misbuilt).
If that sounds unlikely because write-region is usually fast: it just
happened for the emacs23 Debian package on amd64 (with "make -j 4"), see
https://buildd.debian.org/fetch.cgi?pkg=emacs23&arch=amd64&ver=23.2%2B1-3&stamp=1281813034&file=log.
The relevant excerpt follows:
,----
| In gnus-summary-limit-to-bodies:
| gnus-sum.el:8359:57:Warning: `save-excursion' defeated by `set-buffer'
| Wrote
/build/buildd-emacs23_23.2+1-3-amd64-ofeZOD/emacs23-23.2+1/debian/build-nox/lisp/gnus/gnus-win.elc
| Compiling
/build/buildd-emacs23_23.2+1-3-amd64-ofeZOD/emacs23-23.2+1/debian/build-nox/lisp/gnus/gnus.el
|
| In toplevel form:
| gnus/gnus-vm.el:36:1:Error: Required feature `gnus-sum' was not provided
| make[3]: ***
[/build/buildd-emacs23_23.2+1-3-amd64-ofeZOD/emacs23-23.2+1/debian/build-nox/lisp/gnus/gnus-vm.elc]
Error 1
| make[3]: *** Waiting for unfinished jobs....
| Wrote
/build/buildd-emacs23_23.2+1-3-amd64-ofeZOD/emacs23-23.2+1/debian/build-nox/lisp/gnus/gnus-sum.elc
`----
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#4196: Parallel bytecomp may sometimes fail |
Date: |
Sat, 11 Sep 2010 14:53:50 -0400 |
User-agent: |
Gnus (www.gnus.org), GNU Emacs (www.gnu.org/software/emacs/) |
Version: 24.1
Hopefully fixed by this change:
2010-09-11 Glenn Morris <rgm at gnu.org>
* emacs-lisp/bytecomp.el (byte-compile-file): Create .elc files
atomically, to avoid parallel build errors.
--- End Message ---