GNU bug report logs -
#20272
Support reproducible builds
Previous Next
Full log
View this message in rfc822 format
On Fri, Nov 17, 2023 at 3:29 PM Bernhard M. Wiedemann
<bwiedemann <at> suse.de> wrote:
>
> Parallel builds with guile-3.0.9 still introduce non-determinism
I recently learned that the cross-module inlining optimization pass is
a source of nondeterminism. If module A imports module B, inlining of
procedures from B into A may occur *if* B has already been compiled.
Depending on the value of n in `make -j $n` you will likely get a
different build.
While working on Guile Hoot, I encountered a bug on my machine that
Andy Wingo couldn't reproduce on his. Turns out it was because my
`make -j6` build was different from his `make -j32` build. I don't
recall the details but apparently Guile's bootstrap process takes
great care to avoid sequencing issues like this.
I don't know what the solution might be, though. I want parallel *and*
reproducible builds!
- Dave
This bug report was last modified 1 year and 66 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.