GNU bug report logs - #20272
Support reproducible builds

Previous Next

Package: guile;

Reported by: ludo <at> gnu.org (Ludovic Courtès)

Date: Tue, 7 Apr 2015 11:49:01 UTC

Severity: important

Tags: patch

Full log


View this message in rfc822 format

From: "Thompson, David" <dthompson2 <at> worcester.edu>
To: "Bernhard M. Wiedemann" <bwiedemann <at> suse.de>
Cc: 20272 <at> debbugs.gnu.org
Subject: bug#20272: Support reproducible builds
Date: Mon, 8 Apr 2024 13:27:40 -0400
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.