guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Making package builds deterministic


From: Alex Vong
Subject: Re: Making package builds deterministic
Date: Thu, 07 Jul 2016 18:04:20 +0800
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux)

Matthew Jordan <address@hidden> 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 address@hidden &>/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

[Prev in Thread] Current Thread [Next in Thread]