unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
From: Vagrant Cascadian <vagrant@reproducible-builds.org>
To: "Maxim Cournoyer" <maxim.cournoyer@gmail.com>,
	"Ludovic Courtès" <ludo@gnu.org>
Cc: 20272@debbugs.gnu.org
Subject: bug#20272: Support reproducible builds
Date: Mon, 23 Nov 2020 20:44:56 -0800	[thread overview]
Message-ID: <87o8jngy7r.fsf@yucca> (raw)
In-Reply-To: <87o8lcu1v8.fsf@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 3911 bytes --]

On 2020-10-08, Maxim Cournoyer wrote:
> I've hit a .go non-reproducibility issue fairly trivially on
> core-updates.  I think it sufficed to change a core library file (e.g.,
> commit 7102c18678dc02d5ee6c77a9a70ae344482af841 which touched (guix
> build utils)) and then attempting to build something with --rounds=2
> flagged it:
>
> --8<---------------cut here---------------start------------->8---
> ./pre-inst-env guix build --rounds=2 mit-krb5 -K --no-substitutes
>
> building /gnu/store/74fh18318l4f9zmkl3y3klyasnc1jqc2-module-import-compiled.drv...
> building /gnu/store/40wzfd27s4i50rc1q86dqks986ff8fq2-module-import-compiled.drv...
> building /gnu/store/dlzy98gvyddjg3zrv5f1l3nvgjvaxjmf-module-import-compiled.drv...
> building /gnu/store/0i3sqm9cl2rbbikfas2y28wibnmqr1pa-module-import-compiled.drv...
> [ 1/ 2] Loading './guix/build/utils.scm'...
> [ 2/ 2] Compiling './guix/build/utils.scm'...
> building /gnu/store/dlzy98gvyddjg3zrv5f1l3nvgjvaxjmf-module-import-compiled.drv...
> building /gnu/store/40wzfd27s4i50rc1q86dqks986ff8fq2-module-import-compiled.drv...
> output ‘/gnu/store/czbmygd6id8qk3bfb0rcjjkmpn5bh7f1-module-import-compiled’ of ‘/gnu/store/dlzy98gvyddjg3zrv5f1l3nvgjvaxjmf-module-import-compiled.drv’ differs from ‘/gnu/store/czbmygd6id8qk3bfb0rcjjkmpn5bh7f1-module-import-compiled-check’ from previous round
> build of /gnu/store/dlzy98gvyddjg3zrv5f1l3nvgjvaxjmf-module-import-compiled.drv failed
> View build log at '/var/log/guix/drvs/dl/zy98gvyddjg3zrv5f1l3nvgjvaxjmf-module-import-compiled.drv.bz2'.
> --8<---------------cut here---------------end--------------->8---

I'm not *positive* this is the same issue, but disabling parallelism
building the Debian package of guix appears to fix reproducibility of
almost all of the .go files... (the one exception is gnu/ci.go embeds
the build path, and just filed a bug for that: #44835)

https://tests.reproducible-builds.org/debian/rb-pkg/experimental/i386/diffoscope-results/guix.html

Notice the somewhat arbitrary list of different gnu/packages/*.scm files
and arbitrary order:

./usr/lib/i386-linux-gnu/guile/3.0/site-ccache/gnu/packages/admin.go

strings --all --bytes=8 {}
Offset 1402, 20 lines modified	Offset 1402, 20 lines modified
1402 	-4AI[4-AI[-4AI[	1402 	-4AI[4-AI[-4AI[
1403 	Guile·3.0.4                     1403 	Guile·3.0.4
1404 	arguments	                    1404 	arguments
1405 	native-inputs	                1405 	native-inputs
1406 	propagated-inputs	            1406 	propagated-inputs
1407 	sunxi-tools-source	            1407 	sunxi-tools-source
1408 	gnu/packages/admin.scm	        1408 	gnu/packages/admin.scm
                                        1409 	gnu/packages/aidc.scm
1409 	gnu/packages/algebra.scm        1410 	gnu/packages/algebra.scm
1410 	gnu/packages/anthy.scm	        1411 	gnu/packages/anthy.scm
1411 	gnu/packages/android.scm        1412 	gnu/packages/android.scm
1412 	gnu/packages/animation.scm	 
1413 	gnu/packages/aidc.scm	 
1414 	gnu/packages/agda.scm           1413 	gnu/packages/agda.scm
                                        1414 	gnu/packages/adns.scm
1415 	arguments                       1415 	arguments
1416 	native-inputs                   1416 	native-inputs
1417 	propagated-inputs	            1417 	propagated-inputs
1418 	sunxi-tools-source	            1418 	sunxi-tools-source
1419 	file-name	                    1419 	file-name
1420 	build-system                    1420 	build-system
1421 	supported-systems	            1421 	supported-systems


While building in serial rather than parallel is a significant slowdown,
it seems like being able to build reproducibly might be worth the cost,
at least for certain guix variants, such as the package used for
guix-daemon... I'll likely disable parallel building for the next guix
upload to Debian, at least. :)


live well,
  vagrant

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 227 bytes --]

  parent reply	other threads:[~2020-11-24  4:44 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-07 11:48 bug#20272: Support reproducible builds Ludovic Courtès
2016-02-04  2:41 ` Mark H Weaver
2016-02-04  9:35   ` Ludovic Courtès
2016-06-20 15:46   ` Andy Wingo
2016-02-11  7:09 ` Mark H Weaver
2016-02-12 16:29   ` Mark H Weaver
2016-06-20 15:48     ` Andy Wingo
2016-06-23 19:22       ` Andy Wingo
2016-11-03  6:54 ` Jan Nieuwenhuizen
2016-11-14 21:44   ` Jan Nieuwenhuizen
2016-12-14 16:25     ` Ludovic Courtès
2016-12-14 23:32       ` Ludovic Courtès
2016-12-14 23:42         ` Ludovic Courtès
2016-12-20 23:00           ` Ludovic Courtès
2016-12-21 23:53             ` Ludovic Courtès
2016-12-30 21:00               ` Ludovic Courtès
2017-03-07 19:55                 ` Ludovic Courtès
2017-02-28 13:26               ` Andy Wingo
2017-03-05 20:49                 ` Ludovic Courtès
2017-03-06 20:13                   ` Andy Wingo
2020-06-01 20:45 ` Andreas Rammhold
2020-06-02 12:25 ` Andreas Rammhold
     [not found] ` <87o8lcu1v8.fsf@gmail.com>
2020-11-24  4:44   ` Vagrant Cascadian [this message]
2023-11-17 20:28 ` Bernhard M. Wiedemann
2024-04-08 17:27 ` Thompson, David
2024-04-09  4:02   ` Bernhard M. Wiedemann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87o8jngy7r.fsf@yucca \
    --to=vagrant@reproducible-builds.org \
    --cc=20272@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    --cc=maxim.cournoyer@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).