Matthew Jordan <matthewjordandev...@yandex.com> writes:

> Good Day everyone,
>
> After running the following commands I got some output at the end
> indicating non-determinisim.
>
> ================================================================================
>
> $ export GUIX_BUILD_OPTIONS="--keep-failed --verbosity=3"
> $ ./pre-inst-env guix build --rounds=2 go@1.4 &>/dev/stdout &>${BUILD_LOG}
>
> ...
> result of ‘/gnu/store/y89n1idbjpq0hhqjpg82mw6bd1llnl21-go-1.4.3.drv’
> differs from previous round; rejecting as non-deterministic
> @ build-failed /gnu/store/y89n1idbjpq0hhqjpg82mw6bd1llnl21-go-1.4.3.drv
> - 1 result of ‘/gnu/store/y89n1idbjpq0hhqjpg82mw6bd1llnl21-go-1.4.3.drv’
> differs from previous round; rejecting as non-deterministic
> note: keeping build directory `/tmp/guix-build-go-1.4.3.drv-0'
> guix build: error: build failed: build of
> `/gnu/store/y89n1idbjpq0hhqjpg82mw6bd1llnl21-go-1.4.3.drv' failed
>
> ================================================================================
>
> What I would like to know, is there a way to have two build/output directories
> to compare (maybe with diff or some other tool). Basically I'm just
> trying to identify the files causing the non-determinisim.
>
>From the manual
<https://www.gnu.org/software/guix/manual/html_node/Invoking-guix-challenge.html>,
you can use diffoscope as an 'advanced' diff.

>From this website
<https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/golang.html>,
it seems go is known to be non-reproducible.
Description of the problem:
  The golang compiler embeds paths with a random component into object files.
  Example:
  DW_AT_name : (indirect string, offset: 0x1b1): 
/tmp/go-build175461345/github.com/docker/docker/pkg/term/_obj/tc_linux_cgo.cgo2.c

People will be happy if you manage to fix it!

> Any information would be appreciated.
> Thanks in advance!
>
> Sincerely,
>
> --
> Matthew Jordan
> Sent with my mu4e

Reply via email to