On 2021-09-25, Vagrant Cascadian wrote:
> The order of references to various .scm files used when building guile
> (or using guile to build various .go files) may appear in arbitrary
> order, or sometimes even missing (in the example below):
>
>   
> https://tests.reproducible-builds.org/debian/rb-pkg/bookworm/amd64/diffoscope-results/guile-3.0.html
>
>   /usr/lib/x86_64-linux-gnu/guile/3.0/ccache/ice-9/deprecated.go
>
>   26 ice-9/deprecated.scm vs. 26 ice-9/deprecated.scm
>   27 ice-9/boot-9.scm         27 ice-9/boot-9.scm
>                                 28 ice-9/psyntax.scm
>
>
> The attached patch fixes this by disabling parallelism in debian/rules.
>
> With this patch applied, guile-3.0 should become reproducible on
> tests.reproducible-builds.org once it migrates to bookworm (in the
> unstable and experimental suites build paths will still trigger issues).

This is also an issue for NixOS, GNU Guix and OpenSUSE:

https://github.com/NixOS/nixpkgs/pull/78778
https://issues.guix.gnu.org/issue/20272
https://build.opensuse.org/request/show/732638

So while disabling parallelism in the build takes somewhat of a
performance hit, it would still be nice to have to get reproducible
builds!


> Though, the underlying issue is also triggered when using guile to build
> other packages... so it would be good to fix in guile upstream as well,
> as this is part of a toolchain used to build other packages...

And this part is still an upstream issue... the workaround for now is to
disable parallelism in any package building with guile.


live well,
  vagrant

Attachment: signature.asc
Description: PGP signature

Reply via email to