GNU logs - #41669, boring messages


Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Chris Marusich <cmmarusich@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Tue, 02 Jun 2020 19:00:02 +0000
Resent-Message-ID: <handler.41669.B.159112435528152 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: report 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: 41669 <at> debbugs.gnu.org
X-Debbugs-Original-To: bug-guix@HIDDEN
Received: via spool by submit <at> debbugs.gnu.org id=B.159112435528152
          (code B ref -1); Tue, 02 Jun 2020 19:00:02 +0000
Received: (at submit) by debbugs.gnu.org; 2 Jun 2020 18:59:15 +0000
Received: from localhost ([127.0.0.1]:40964 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jgC82-0007K0-LM
	for submit <at> debbugs.gnu.org; Tue, 02 Jun 2020 14:59:14 -0400
Received: from lists.gnu.org ([209.51.188.17]:46320)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cmmarusich@HIDDEN>) id 1jgC80-0007Jt-SX
 for submit <at> debbugs.gnu.org; Tue, 02 Jun 2020 14:59:13 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:56954)
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <cmmarusich@HIDDEN>)
 id 1jgC80-0000xm-Je
 for bug-guix@HIDDEN; Tue, 02 Jun 2020 14:59:12 -0400
Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]:33029)
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <cmmarusich@HIDDEN>)
 id 1jgC7y-00084O-J8
 for bug-guix@HIDDEN; Tue, 02 Jun 2020 14:59:11 -0400
Received: by mail-pf1-x435.google.com with SMTP id b201so1412670pfb.0
 for <bug-guix@HIDDEN>; Tue, 02 Jun 2020 11:59:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:subject:date:message-id:user-agent:mime-version;
 bh=WMH/wfOFpPPa+HduRRWrEW6KSNMAFtiP2P8JuJc/C2g=;
 b=qfVlTnd8XZ97ZHMK3XVUWZgZXBuH+rVLJ6gtmfuQPWFTLddcjMT+BKkesrOstSJdMy
 Y/7RBRcqSzpbVHhy51SBIvdNx53ngkF7fihpopNSqibXmg/QmlM0cL3Clx00/oE1FrRN
 5oIsBYuXfJmzBMM5U+ZuWxVGBHNuiCUIw8A0mVBwM8iJ3Bzto5QJV+Xd7A6xWc2ImgA5
 rZLq9aMbm8eG0yd64Zqbl26ktC5z0U75Ueort4Ni1RMr/QI1ae7SMafzSlyhTCu9ePBm
 LFXlvBHz9P74OPCCI349926YWtcufzlwlOMZGD0TVEMIoIdhqJH9e3P7p0dqqgZ42w5d
 1C6w==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:subject:date:message-id:user-agent
 :mime-version;
 bh=WMH/wfOFpPPa+HduRRWrEW6KSNMAFtiP2P8JuJc/C2g=;
 b=hWp6OtFqm4aC8p8MIuIBut4rBBsKiG3n+Xt2GgbxkIaBuAdUO9XW1XLbIM/MQti1jd
 uUCF7S8o6ew2mmnOztglJaEWE3GC9tlYxYpTj41WXzHd8CmTLlb+s9pyIXI4qlRblhDy
 3Jv3eIkRIRNrQn+2acMpdck4qVlERpE87MAMWG3KZucyDhrjHGisIPHac+q2PvSippzL
 pjiH/eNH35GmLPc8AKKxD9SDJNlkFzXAC5fbEJRdSSdfdGgOKGpu3YxEFZMN7Qo7lgDt
 5yTap4bJlrFWbdJ+Zuu3iVnBqorKkTME/i5cYGQrNr7gx2ErhYoBWE17ghndbJEL9nfG
 +ecQ==
X-Gm-Message-State: AOAM532cM3MaHySuB5t9d050wE+xA3516YhOohh1zDt6FhND+4tJvlSv
 Ga+tkv5ijaZV/zJNiPydNG9xRsBj3tQ=
X-Google-Smtp-Source: ABdhPJxQulS0bN1pOzmDfyg3EDuuLZ8Ry9K+6IVxtnnGqBf3X8b48M+gz2uL/cdN36aYV8LWOOgU2A==
X-Received: by 2002:a63:7d1d:: with SMTP id y29mr25187924pgc.189.1591124348452; 
 Tue, 02 Jun 2020 11:59:08 -0700 (PDT)
Received: from garuda-lan (c-73-97-103-127.hsd1.wa.comcast.net.
 [73.97.103.127])
 by smtp.gmail.com with ESMTPSA id w206sm3078542pfc.28.2020.06.02.11.59.06
 for <bug-guix@HIDDEN>
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 02 Jun 2020 11:59:07 -0700 (PDT)
From: Chris Marusich <cmmarusich@HIDDEN>
Date: Tue, 02 Jun 2020 11:59:03 -0700
Message-ID: <874krtnvk8.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
Received-SPF: pass client-ip=2607:f8b0:4864:20::435;
 envelope-from=cmmarusich@HIDDEN; helo=mail-pf1-x435.google.com
X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache.
 That's all we know.
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001,
 URIBL_BLOCKED=0.001 autolearn=_AUTOLEARN
X-Spam_action: no action
X-Spam-Score: 0.7 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hi,

As demonstrated in the following email thread, the powerpc64-linux
bootstrap-tarballs are not reproducible when cross-compiled from an
x86_64-linux system:

https://lists.gnu.org/archive/html/guix-devel/2020-06/msg00003.html

Four people attempted to invoke the following command using Guix commit
8159ce1970d91567468cf1bacac313099a009d2a:

  guix build --no-substitutes --target=3Dpowerpc64-linux-gnu bootstrap-tarb=
alls

All of the bootstrap tarballs except for gcc-stripped were reproducible.
However, these attempts produced four different versions of
gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz.  At least two of the
attempts were performed on two different x86_64-linux systems.

The derivation that produced the differing output was:

/gnu/store/pygln3lr6qbxcps3kmn3w4bc0d0nlpd3-gcc-stripped-tarball-5.5.0.drv

You can build this derivation in a variety of ways, for example:

  guix build --target=3Dpowerpc64-linux-gnu -e '(@ (gnu packages make-boots=
trap) %gcc-bootstrap-tarball)'

or just

  guix build /gnu/store/pygln3lr6qbxcps3kmn3w4bc0d0nlpd3-gcc-stripped-tarba=
ll-5.5.0.drv

On my x86_64-linux system, twice I tried running "guix build --check" on
this derivation, but each time it surprisingly reported no difference.
Out of paranoia, I tried deleting its output with "guix gc --delete",
and then building it again.  The new output was, indeed, identical to
the old output.  This makes me think that the non-reproducibility is
coming from something outside the immediate build logic of the
gcc-stripped-tarball-5.5.0.drv derivation itself.

I will next try to rebuild everything from scratch again.  I will also
try to get copies of the differing outputs from the people involved in
that email thread, in order to run diffoscope on them.

=2D-=20
Chris

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl7WoXcACgkQ3UCaFdgi
Rp0twQ//VDfFrWpdAkX4XpGke8c4sT6/W2LbR7N+xl126nbXhcAKjH13SCjgX3vp
/Yrik1IlnEhXwPpujU6GXLv7UbjZLBDERMOee0bFpreaq9TQMq2NJQkcoKE4kOSr
+ockDEE71tv4ZEjW3hY8funw9uRGoZBcyPYHyIjd0bNYvRAa1x8nuhrXYE5+rRZ2
h/2k5tynQrkMpxUEVQr0XL0OWXhY5VPD9Wwgd3anY/l643RIg2eLTDF1kvnRCdOq
OFN+88hWEx3QzPMZ852SSc99XkHRBaboFkrNIquxIU2lsOHiUSwOkT4/NrdOoeW7
+pXgJ2dcUNvI1JHER50NUjHBndqCke1bYUbCll0f9VE7hi1z/V/hut4t7a5uTUXp
QP+aLeS9WDDDyFHwYPf6hotjNwCyOE1aBo0LlNpR+nIX4WSDYCzSKIFQFAva84l2
TDRte0rIKcZ/B3xRraGjgFwJBezme8RkOiORNzFpcRzf0y5hCSPvL3cLc8XmsbAl
HT8pCdm0b3kSlBNQmUSV+XxnXvpIUDnxernYb7PEYhgWsopyHBgQtfxMqCj/IZtE
OXeh/oumsuKZWxDcgbUI81liQPNlrFlXgfsWiUmtBmv56g/jFko+e+IgIIZroGWj
iWHVBGz1EMaENBMXpga4g7XMRTXoXO3QB9xGQ34mHsZC007QPwQ=
=DG+o
-----END PGP SIGNATURE-----
--=-=-=--




Message sent:


Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Mailer: MIME-tools 5.505 (Entity 5.505)
Content-Type: text/plain; charset=utf-8
X-Loop: help-debbugs@HIDDEN
From: help-debbugs@HIDDEN (GNU bug Tracking System)
To: Chris Marusich <cmmarusich@HIDDEN>
Subject: bug#41669: Acknowledgement (Cross-compiled powerpc64-linux
 bootstrap-tarballs not reproducible)
Message-ID: <handler.41669.B.159112435528152.ack <at> debbugs.gnu.org>
References: <874krtnvk8.fsf@HIDDEN>
X-Gnu-PR-Message: ack 41669
X-Gnu-PR-Package: guix
Reply-To: 41669 <at> debbugs.gnu.org
Date: Tue, 02 Jun 2020 19:00:02 +0000

Thank you for filing a new bug report with debbugs.gnu.org.

This is an automatically generated reply to let you know your message
has been received.

Your message is being forwarded to the package maintainers and other
interested parties for their attention; they will reply in due course.

Your message has been sent to the package maintainer(s):
 bug-guix@HIDDEN

If you wish to submit further information on this problem, please
send it to 41669 <at> debbugs.gnu.org.

Please do not send mail to help-debbugs@HIDDEN unless you wish
to report a problem with the Bug-tracking system.

--=20
41669: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D41669
GNU Bug Tracking System
Contact help-debbugs@HIDDEN with problems


Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Chris Marusich <cmmarusich@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Wed, 03 Jun 2020 09:49:02 +0000
Resent-Message-ID: <handler.41669.B41669.15911777148225 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: 41669 <at> debbugs.gnu.org
Cc: Vincent Legoll <vincent.legoll@HIDDEN>, Jack Hill <jackhill@HIDDEN>, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.15911777148225
          (code B ref 41669); Wed, 03 Jun 2020 09:49:02 +0000
Received: (at 41669) by debbugs.gnu.org; 3 Jun 2020 09:48:34 +0000
Received: from localhost ([127.0.0.1]:42004 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jgQ0g-00028b-HK
	for submit <at> debbugs.gnu.org; Wed, 03 Jun 2020 05:48:34 -0400
Received: from mail-pg1-f182.google.com ([209.85.215.182]:37580)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cmmarusich@HIDDEN>) id 1jgQ0e-00028L-HG
 for 41669 <at> debbugs.gnu.org; Wed, 03 Jun 2020 05:48:32 -0400
Received: by mail-pg1-f182.google.com with SMTP id d10so1412517pgn.4
 for <41669 <at> debbugs.gnu.org>; Wed, 03 Jun 2020 02:48:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=Q18QBCNrvylD3ooY6bLE5vwc+rjT7BPMYahw7tGb2u0=;
 b=iqlXdEM8yhWXwpcYsC0IwU5p5GzcUbwaV0S+7px+8FP5FMwwaXHF9cp/3ZZ5LnZ532
 iL/1QXNuW/zcA3LUGoi+AdTJPCVyxwJ0EQcidzJqO2pZSCNsBe5hr3A37z3tY0q6JxF8
 ORVffEsRUS47bHiyx0fgh1XcT6swO23zzoRI61G1iIZwo3nWLuhTqk9xlXYHd101jRH9
 5GGGEsK4ZqQLHFS1UFwgJP/a78/R3UjXlPygTlc0+/s2IFJ7ZNiVUrZ7cXWQtujik8FK
 beiR9Qxh9rkNGT2nFYzJivc9S5tg4K62lgOEPnjGVH/Wi20Aow78Y0Zd17W2100ug/tS
 R1RA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=Q18QBCNrvylD3ooY6bLE5vwc+rjT7BPMYahw7tGb2u0=;
 b=HuWIKiUrOgJtFnoMUF8MBDlhnfya9hFviMqRdpbhtXQAgOJdH89hSgrCLYvsMEJZj5
 kPfUiIweoYbZZVedR4IGdmSarzlJR1ext4pTpKPKzWlMrBLK04C0nPv5H2DzlcwVW1yT
 2xCecYRk7oB4lSlcpelr/bXs6sOiurzUG7fK4AhmosTtvXvfsTrn1cYB6tDcFtQuKxRM
 MnayPYk2w5uf38EAABq9tARTZW6K/Ynoz5+wSjJaj6GDt22zR6KZSokH5GLLqgXpC7XY
 9NBjcXQ3zTAZGB899dB+lLksEy5NAN3GUc1UW+N6hmFJu6T4atfrbJuW2jFx+fsGClEW
 aegw==
X-Gm-Message-State: AOAM530nfhOj97I7tkVFJuMJeFoeS9UjHKaD1eRiB2X6FxqZGI7R4aHl
 KtbmUgTcP5fIG1m3vjN9+0Q=
X-Google-Smtp-Source: ABdhPJylWJr0BXh5vycpb64yv141d9EBVZ93/em3KOeO+2vNgRl2PdvXqnrs7GuAq/S+a40hLF6Y8g==
X-Received: by 2002:a17:90a:1642:: with SMTP id
 x2mr4433137pje.149.1591177706367; 
 Wed, 03 Jun 2020 02:48:26 -0700 (PDT)
Received: from garuda-lan (c-73-97-103-127.hsd1.wa.comcast.net.
 [73.97.103.127])
 by smtp.gmail.com with ESMTPSA id n2sm1573113pfd.125.2020.06.03.02.48.24
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 03 Jun 2020 02:48:25 -0700 (PDT)
From: Chris Marusich <cmmarusich@HIDDEN>
References: <874krtnvk8.fsf@HIDDEN>
Date: Wed, 03 Jun 2020 02:48:21 -0700
In-Reply-To: <874krtnvk8.fsf@HIDDEN> (Chris Marusich's message of "Tue, 02
 Jun 2020 11:59:03 -0700")
Message-ID: <87y2p4mqe2.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hi all,

Chris Marusich <cmmarusich@HIDDEN> writes:

> The derivation that produced the differing output was:
>
> /gnu/store/pygln3lr6qbxcps3kmn3w4bc0d0nlpd3-gcc-stripped-tarball-5.5.0.drv
>
> On my x86_64-linux system, twice I tried running "guix build --check" on
> this derivation, but each time it surprisingly reported no difference.

This derivation corresponds to %gcc-bootstrap-tarball from (gnu packages
make-bootstrap), which just creates a tarball of the output of
%gcc-stripped.  Therefore, it's not too surprising that it's
reproducible.  Similarly, %gcc-stripped just strips some store
references from the output of %gcc-static.  The %gcc-static package is
more interesting: it's where we actually build the statically linked
bootstrap GCC (which is then stripped and packed into a tarball as
mentioned above), so I thought that it might be where the
non-determinism is coming from.  However, I haven't yet pinpointed the
problem.

If you examine the derivations and their inputs, you'll find that they
depend upon each other in the following order:

guix build --target=3Dpowerpc64-linux-gnu -d -e '(@ (gnu packages make-boot=
strap) %gcc-bootstrap-tarball)'
/gnu/store/pygln3lr6qbxcps3kmn3w4bc0d0nlpd3-gcc-stripped-tarball-5.5.0.drv

guix build --target=3Dpowerpc64-linux-gnu -d -e '(@@ (gnu packages make-boo=
tstrap) %gcc-stripped)'
/gnu/store/kcv3ja1rfr93hw6ly51878zjhdwpgv7z-gcc-stripped-5.5.0.drv

guix build --target=3Dpowerpc64-linux-gnu -d -e '(@@ (gnu packages make-boo=
tstrap) %gcc-static)'
/gnu/store/m9hfwppla8lph0vxa15lfkp81s2bbjjs-gcc-static-5.5.0.drv

In other words, gcc-static-5.5.0.drv is an input of
gcc-stripped-5.5.0.drv, which is an input of
gcc-stripped-tarball-5.5.0.drv.  Above, I've included example guix
commands you can use to obtain each derivation.  Using "guix build
=2D-check", I confirmed that all three of these derivations build
reproducibly on my machine.

I hoped to find more information by invoking "guix build --check" on
every input of gcc-static-5.5.0.drv.  When I tried that, what I found
was that all of its inputs build reproducibly except the following two:

/gnu/store/x32cnfkd50fnxs10xp1jdn24h7ai2gxr-guile-3.0.2.drv
/gnu/store/g9fpkg2qa27mka1znqsvx8vxqyabsj2y-gcc-7.5.0.drv

I haven't investigated guile-3.0.2.drv.  However, gcc-7.5.0.drv felt
more suspicious to me, and it is actually the derivation that builds
gcc-final from (gnu packages commencement), which you can see via:

guix build -d -e '(@@ (gnu packages commencement) gcc-final)'

Using "guix gc", I deleted the outputs of
gcc-stripped-tarball-5.5.0.drv, gcc-stripped-5.5.0.drv,
gcc-static-5.5.0.drv, and gcc-7.5.0.drv.  I then tried building these
four derivations again (without substitutes, the same as before).
Before doing this, I stored the SHA-512 hashes of their output files,
and after the build succeeded, I compared the hashes of the new files
with the previous values.  I found that these derivations' newly rebuilt
outputs were identical to their original values, except for
gcc-7.5.0.drv, which produced some different files.  Most significantly,
this means that gcc-stripped-tarball-5.5.0.drv produced the exact same
tarball for me as it did the first time I built it, even though some of
its inputs are not themselves reproducible.

At present, it seems possible that within the context of a single
machine, gcc-stripped-tarball-5.5.0.drv builds reproducibly, but on a
different machine, it may (reproducibly) build a different output.  I'm
a bit paranoid about making mistakes, so I'll perform another full GC
and then try yet again to build gcc-stripped-tarball-5.5.0.drv in order
to verify whether it truly produces the same output when all (or nearly
all) of its inputs are rebuilt from scratch.

Some people have also shared their differing copies of the binaries on
the email list.  It could be productive to compare the contents with
diffoscope, although I suspect the diff might be too large to be useful.

=2D-=20
Chris

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl7XceUACgkQ3UCaFdgi
Rp0EgRAA0OmlaDC8TFlxSXsGjlbPVhV5kO7mplWnYNAbROMWrFWoRU4okIISdCeV
pklnsneNtg9UN+OagjGMNsgw6w/iaiftMduLS17AqWeUoaCi7HUTGVgwg6AZD2z3
nWFFgjPdYy8NO0uSA4wxoqGXHIXZsmy6m8HlNkQ5Wxv4ILrMLW1aAloAwLuicnD7
xszXKVfC38UyVwdjVyTbdVqUcl8QPY8jYdQtk+RtK6Yb1aWba6xyFW6FZhgNl4PW
DcEIBD6lKewXYT8saDJkkD1dBhkGiHjMPWkDPKiDuPR7dfDhrm4QHxRZHifv5Fu3
wGoya2yxyCtaB2O/xH8YLiQiLbWjGE+pZdbGN3hIwf8ie2lilK97895hTIhMRasi
1q6XMpRW27X8cZG7nv/spMyo3Zu/PudOghzOk/h16W0Ey24hLv0IO4xAtUxCprnB
4gtU/hKxbKYS8mN4K9AmkgnCDlibfAuEqRAwAcDpA3oxobjZLTih/BBlulUn3pxN
lf4/xIn9DCaZpi9pckjYnucByP0wv/JjA4aJGBpPM9rfau805E8XeHtBBX1djsL0
ekPaT9BkEYVxILT9eHkrIp3JO5P1H0dRqhtT6XUFShKwe9FC3BgxaJeW8v7DsLnv
bsKJ/0nXMjrcjJBqR5FhuAy/ZZXi+ILivSHQ5QlG/D1uBg8kEPM=
=kMiK
-----END PGP SIGNATURE-----
--=-=-=--




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Vincent Legoll <vincent.legoll@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Wed, 03 Jun 2020 20:52:02 +0000
Resent-Message-ID: <handler.41669.B41669.15912174697796 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Chris Marusich <cmmarusich@HIDDEN>, 41669 <at> debbugs.gnu.org
Cc: Jack Hill <jackhill@HIDDEN>, Christopher Baines <mail@HIDDEN>, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.15912174697796
          (code B ref 41669); Wed, 03 Jun 2020 20:52:02 +0000
Received: (at 41669) by debbugs.gnu.org; 3 Jun 2020 20:51:09 +0000
Received: from localhost ([127.0.0.1]:44643 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jgaLq-00021d-9y
	for submit <at> debbugs.gnu.org; Wed, 03 Jun 2020 16:51:09 -0400
Received: from mail-wr1-f68.google.com ([209.85.221.68]:35118)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <vincent.legoll@HIDDEN>) id 1jgaLl-000215-B2
 for 41669 <at> debbugs.gnu.org; Wed, 03 Jun 2020 16:51:05 -0400
Received: by mail-wr1-f68.google.com with SMTP id x14so3829004wrp.2
 for <41669 <at> debbugs.gnu.org>; Wed, 03 Jun 2020 13:51:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=subject:to:cc:references:from:message-id:date:user-agent
 :mime-version:in-reply-to:content-language:content-transfer-encoding;
 bh=OuSTr0Sm/YNfsPkJs4svH57GdZyYGAQrpFBJM0AtayU=;
 b=hRmkBFcmfKgocGWEzyKI55qdPi+ZtflOJX3+jrAiMqSoadfcKbUUiYU4xPhcY2O+xA
 73Er38dMj31g+8VcLMWaGr/C1lKO4CK4kVKf3qb3UtLryr6ORGHHlJXRONqhPIqltc7y
 PfIDpICiCrhRdIHUxes3u7WQ3nZC9G67z9fBTWAChy8fpjhP9ML4o6LYCZPZouVN71vm
 eb3mnuROKLSK6H0bNpUZLeAqYrYe3RfVwB3k7gom3iTozau12ZsBAmNrT8N90aZ1CRC2
 gaWKT6sFD52LAb7el6x5EeUsvRoSu7soZu2cZo+SNACJPYBZQPlY8FPwpvFABCPgHu1o
 g1xw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:subject:to:cc:references:from:message-id:date
 :user-agent:mime-version:in-reply-to:content-language
 :content-transfer-encoding;
 bh=OuSTr0Sm/YNfsPkJs4svH57GdZyYGAQrpFBJM0AtayU=;
 b=PBJoWnkKUg3Po2CVL4044a6dcJ+Ko8Fw5741BbodV28X3Ozlt+87kB9zZQnn+jLt30
 ceTkft/JzwSvuUg7NB5ow2XVPxDbu1ZCec8Ne6Ej2XQGH2gkKyOfEu72Pi+w1KWAbd4y
 zc0qIQnzo3zJ0HiAQ+WBqVkCK0GjNnbQHueco7DHT7EUg+FlP/VPVckIxlka9UmnLrmP
 sRkSL3oRjZavoqXzfrcjAq7gTQeIbiUydpJQt4E0pQYBgrmo95d55FRvp+VBTBW2W3R8
 uYsWejQmPbN2U5RnfpqGx4M0++uR/FriMePt2qczeMQF2Ax99kSz0mlWzDxYn+Sxfcp8
 nglg==
X-Gm-Message-State: AOAM531yYExq3Y6UtzMQ5CdhiKJkufHsBmkI8hp3FqLx9a+ER3zUTkDT
 Ok0l64bFHNatkDdkxn37eDQ=
X-Google-Smtp-Source: ABdhPJxyrIrQAk2vOTC6kq8sLcm3vkOYh4S3a2tM2fiTs8POG6NtaJeUK+u2h5/x3iCej65ZpnyXXw==
X-Received: by 2002:adf:9304:: with SMTP id 4mr1215534wro.280.1591217455499;
 Wed, 03 Jun 2020 13:50:55 -0700 (PDT)
Received: from [10.0.0.2] (se167-1-82-242-148-1.fbx.proxad.net. [82.242.148.1])
 by smtp.gmail.com with ESMTPSA id u10sm4202252wmc.31.2020.06.03.13.50.54
 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128);
 Wed, 03 Jun 2020 13:50:54 -0700 (PDT)
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
From: Vincent Legoll <vincent.legoll@HIDDEN>
Message-ID: <02a1602c-582a-7faf-9756-1ee74962d2dd@HIDDEN>
Date: Wed, 3 Jun 2020 22:50:53 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.8.0
MIME-Version: 1.0
In-Reply-To: <87y2p4mqe2.fsf@HIDDEN>
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Language: en-US
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Is that showing the same (or a similar) problem :

https://data.guix-patches.cbaines.net/gnu/store/0lcbxpw1vrca02dzpzw2rxhad7pn4zw7-gcc-objc-5.5.0

?

-- 
Vincent Legoll





Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
In-Reply-To: <874krtnvk8.fsf@HIDDEN>
Resent-From: Chris Marusich <cmmarusich@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Wed, 10 Jun 2020 06:16:01 +0000
Resent-Message-ID: <handler.41669.B41669.15917697173638 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: 41669 <at> debbugs.gnu.org
Cc: Vincent Legoll <vincent.legoll@HIDDEN>, Jack Hill <jackhill@HIDDEN>, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.15917697173638
          (code B ref 41669); Wed, 10 Jun 2020 06:16:01 +0000
Received: (at 41669) by debbugs.gnu.org; 10 Jun 2020 06:15:17 +0000
Received: from localhost ([127.0.0.1]:33182 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jiu15-0000wb-UQ
	for submit <at> debbugs.gnu.org; Wed, 10 Jun 2020 02:15:17 -0400
Received: from mail-pj1-f66.google.com ([209.85.216.66]:37850)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cmmarusich@HIDDEN>) id 1jiu13-0000wM-DY
 for 41669 <at> debbugs.gnu.org; Wed, 10 Jun 2020 02:15:14 -0400
Received: by mail-pj1-f66.google.com with SMTP id m2so454151pjv.2
 for <41669 <at> debbugs.gnu.org>; Tue, 09 Jun 2020 23:15:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:user-agent:date:message-id
 :mime-version; bh=aETPuNJLkmW778+oww6ESA/VbfuajigFS1o9lvA0/pk=;
 b=vEjYDOV8NE/fxU+p7g8RYprFm9IvsXguRBg7faWphNc7udik67CwmYUXYCPDkXubtB
 mpbQGUYCpDmnlkvclXXbaiEutN85PzdPjWdJUqCsGEWNTyPCyVTdSqnc1lzcKwXexsIQ
 WqQSsgLsl61GpfMc+ctyyUNOBbGkl1YgR7vXdF77FWXVL+bhZ4xRQtPgud5ETj+Avb57
 mpvRA6btzjGXeb+ixmfmNYjaMkXNak6YLJ+ZImpo32HmE2HbD+uNibJwbi68PWf7tBZN
 FU99ocMOPk5yjbLX0c4TII8L/FLoiyMhf63FXJRr2n8Nqf+YLx6vE8QCamPDKBU17mLZ
 1+mQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:user-agent:date
 :message-id:mime-version;
 bh=aETPuNJLkmW778+oww6ESA/VbfuajigFS1o9lvA0/pk=;
 b=gWrpPRKwj3U1vdz9OQVQ2pKtfQbKIDaB8T3XhaPLzQkl7sqdAw0WIDMPnJ18eSDBNW
 wyv+hVJlfYGOIjMIMlKLvCEjlwVDe7j30UuluSXm5J0RbicKCzjfuYrPQW9HxRtFqN5n
 fzP7Jt/uKVBIDZdS7HybkS5o2GGjHEWWxv5xydtMz4KXxK2xMs0EWM1ElUt1Jm9MCIga
 ntsH5U8zhi/sMd/er10Sp4ZoHSBGLULiSvw4n8QoaMTk9Z/POTdFg76DpPdJUMgpl9U9
 bxqkVJAq8neKoIQb8Z1XtHfAsnG+JAIqsGuHouGPw4hccZ457zNwuQQjkrhs4lARX5V6
 z7cQ==
X-Gm-Message-State: AOAM53367yTpiYeAQGMlzjo7hzp4rwO/xqVOS4P3k233hr5M6Qq6K+uh
 lyh8fFMt6EkYGMzu+kfwyN0=
X-Google-Smtp-Source: ABdhPJxio/jGTwBQWDnqjiT79UYewiOW0Y5DhvmCeNwn9DY/XWexa65mQHlc//eNGoBNK6n6rcQsZw==
X-Received: by 2002:a17:90a:2622:: with SMTP id
 l31mr1636349pje.18.1591769707020; 
 Tue, 09 Jun 2020 23:15:07 -0700 (PDT)
Received: from garuda-lan (c-73-97-103-127.hsd1.wa.comcast.net.
 [73.97.103.127])
 by smtp.gmail.com with ESMTPSA id 124sm11447927pfb.15.2020.06.09.23.15.04
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 09 Jun 2020 23:15:05 -0700 (PDT)
From: Chris Marusich <cmmarusich@HIDDEN>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
Date: Tue, 09 Jun 2020 23:15:01 -0700
Message-ID: <87imfzcuqi.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi Vincent and everyone,

Vincent Legoll <vincent.legoll@HIDDEN> writes:

> Is that showing the same (or a similar) problem :
>
> https://data.guix-patches.cbaines.net/gnu/store/0lcbxpw1vrca02dzpzw2rxhad=
7pn4zw7-gcc-objc-5.5.0
>
> ?

Can you clarify what you mean?  I'm not sure what you're referring to.

Chris Marusich <cmmarusich@HIDDEN> writes:

> At present, it seems possible that within the context of a single
> machine, gcc-stripped-tarball-5.5.0.drv builds reproducibly, but on a
> different machine, it may (reproducibly) build a different output.
> I'm a bit paranoid about making mistakes, so I'll perform another full
> GC and then try yet again to build gcc-stripped-tarball-5.5.0.drv in
> order to verify whether it truly produces the same output when all (or
> nearly all) of its inputs are rebuilt from scratch.

I repeated the experiment on the same machine (it took a day or two to
build), and the result was the same: on my machine,
gcc-stripped-tarball-5.5.0.drv builds identical output to what it built
before. To be clear, using Guix 8159ce1970d91567468cf1bacac313099a009d2a
on an x86_64-linux machine, I tried (yet again) the following steps:

=2D I deleted as much as I could from the store using 'guix gc'.

=2D I explicitly verified that all outputs for the following derivations
  no longer existed in the store:

  /gnu/store/pygln3lr6qbxcps3kmn3w4bc0d0nlpd3-gcc-stripped-tarball-5.5.0.drv
  /gnu/store/kcv3ja1rfr93hw6ly51878zjhdwpgv7z-gcc-stripped-5.5.0.drv
  /gnu/store/m9hfwppla8lph0vxa15lfkp81s2bbjjs-gcc-static-5.5.0.drv
  /gnu/store/g9fpkg2qa27mka1znqsvx8vxqyabsj2y-gcc-7.5.0.drv

=2D I then built gcc-stripped-tarball-5.5.0.drv via the following command:

  guix build --no-substitutes --check --target=3Dpowerpc64-linux-gnu \
       -e '(@@ (gnu packages make-bootstrap) %gcc-static)'

This rebuilt basically everything, including gcc-7.5.0.drv and the other
derivations mentioned above.  When I checked the built output of the
gcc-stripped-tarball-5.5.0.drv derivation, I found that its SHA-512 hash
was identical to the one I calculated previously, which was:

=2D-8<---------------cut here---------------start------------->8---
8aca7f332a1ba8e3c2225c161a7545b0a04ddd690d164dc97afee9c9ea067b0c49bc155e9f0=
6d285c22e24cdd16d91e59730af5f1dd9efcda13a26bede5948a2  /gnu/store/rsmhiyplm=
biqm1qwniiafi4ak76pd61v-gcc-stripped-tarball-5.5.0/gcc-stripped-5.5.0-power=
pc64-linux-gnu.tar.xz
=2D-8<---------------cut here---------------end--------------->8---

Anyway, this confirms what we already knew: GCC builds reproducibly on
my machine, but it is different when other people build it on other
machines.  I'm now quite convinced of this fact.

Jack and Vincent shared their build results on the email list.  For
reference, you can get them here:

https://flashner.co.il/~efraim/gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz
https://jackhill.us/misc/gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz
https://media.marusich.info/gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz

I also received a copy of Vincent's build results via private email.  In
short, they all seem to differ in basically the same ways:

=2D-8<---------------cut here---------------start------------->8---
[1] marusich@garuda-lan:~/Documents/notes/guix/ppc/gcc-stripped-tarballs
$ diff -r chris jack
Binary files chris/bin/c++ and jack/bin/c++ differ
Binary files chris/bin/cpp and jack/bin/cpp differ
Binary files chris/bin/g++ and jack/bin/g++ differ
Binary files chris/bin/gcc and jack/bin/gcc differ
Binary files chris/bin/gcov and jack/bin/gcov differ
Binary files chris/bin/gcov-dump and jack/bin/gcov-dump differ
Binary files chris/bin/gcov-tool and jack/bin/gcov-tool differ
Binary files chris/bin/powerpc64-linux-gnu-c++ and jack/bin/powerpc64-linux=
-gnu-c++ differ
Binary files chris/bin/powerpc64-linux-gnu-g++ and jack/bin/powerpc64-linux=
-gnu-g++ differ
Binary files chris/bin/powerpc64-linux-gnu-gcc and jack/bin/powerpc64-linux=
-gnu-gcc differ
Binary files chris/bin/powerpc64-linux-gnu-gcc-5.5.0 and jack/bin/powerpc64=
-linux-gnu-gcc-5.5.0 differ
Binary files chris/lib/libstdc++.a and jack/lib/libstdc++.a differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1 and jack/libex=
ec/gcc/powerpc64-linux-gnu/5.5.0/cc1 differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus and jack/l=
ibexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 and jack/=
libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper and ja=
ck/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper differ
[1] marusich@garuda-lan:~/Documents/notes/guix/ppc/gcc-stripped-tarballs
$ diff -r chris vincent
Binary files chris/bin/c++ and vincent/bin/c++ differ
Binary files chris/bin/cpp and vincent/bin/cpp differ
Binary files chris/bin/g++ and vincent/bin/g++ differ
Binary files chris/bin/gcc and vincent/bin/gcc differ
Binary files chris/bin/gcov and vincent/bin/gcov differ
Binary files chris/bin/gcov-dump and vincent/bin/gcov-dump differ
Binary files chris/bin/gcov-tool and vincent/bin/gcov-tool differ
Binary files chris/bin/powerpc64-linux-gnu-c++ and vincent/bin/powerpc64-li=
nux-gnu-c++ differ
Binary files chris/bin/powerpc64-linux-gnu-g++ and vincent/bin/powerpc64-li=
nux-gnu-g++ differ
Binary files chris/bin/powerpc64-linux-gnu-gcc and vincent/bin/powerpc64-li=
nux-gnu-gcc differ
Binary files chris/bin/powerpc64-linux-gnu-gcc-5.5.0 and vincent/bin/powerp=
c64-linux-gnu-gcc-5.5.0 differ
Binary files chris/lib/libstdc++.a and vincent/lib/libstdc++.a differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1 and vincent/li=
bexec/gcc/powerpc64-linux-gnu/5.5.0/cc1 differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus and vincen=
t/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 and vince=
nt/libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper and vi=
ncent/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper differ
[1] marusich@garuda-lan:~/Documents/notes/guix/ppc/gcc-stripped-tarballs
$ diff -r chris efraim
Binary files chris/bin/c++ and efraim/bin/c++ differ
Binary files chris/bin/cpp and efraim/bin/cpp differ
Binary files chris/bin/g++ and efraim/bin/g++ differ
Binary files chris/bin/gcc and efraim/bin/gcc differ
Binary files chris/bin/gcov and efraim/bin/gcov differ
Binary files chris/bin/gcov-dump and efraim/bin/gcov-dump differ
Binary files chris/bin/gcov-tool and efraim/bin/gcov-tool differ
Binary files chris/bin/powerpc64-linux-gnu-c++ and efraim/bin/powerpc64-lin=
ux-gnu-c++ differ
Binary files chris/bin/powerpc64-linux-gnu-g++ and efraim/bin/powerpc64-lin=
ux-gnu-g++ differ
Binary files chris/bin/powerpc64-linux-gnu-gcc and efraim/bin/powerpc64-lin=
ux-gnu-gcc differ
Binary files chris/bin/powerpc64-linux-gnu-gcc-5.5.0 and efraim/bin/powerpc=
64-linux-gnu-gcc-5.5.0 differ
diff -r chris/lib/gcc/powerpc64-linux-gnu/5.5.0/include-fixed/bits/statx.h =
efraim/lib/gcc/powerpc64-linux-gnu/5.5.0/include-fixed/bits/statx.h
5c5
< 	"/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include/bits/sta=
tx.h"
=2D--
> 	"/gnu/store/cb88z63hyg1icd2kkahiink2p291mhr2-glibc-2.31/include/bits/sta=
tx.h"
Binary files chris/lib/libstdc++.a and efraim/lib/libstdc++.a differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1 and efraim/lib=
exec/gcc/powerpc64-linux-gnu/5.5.0/cc1 differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus and efraim=
/libexec/gcc/powerpc64-linux-gnu/5.5.0/cc1plus differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 and efrai=
m/libexec/gcc/powerpc64-linux-gnu/5.5.0/collect2 differ
Binary files chris/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper and ef=
raim/libexec/gcc/powerpc64-linux-gnu/5.5.0/lto-wrapper differ
[1] marusich@garuda-lan:~/Documents/notes/guix/ppc/gcc-stripped-tarballs
$=20
=2D-8<---------------cut here---------------end--------------->8---

Efraim's diff looks a little different in statx.h, even though he used
the same Guix commit as me.  Maybe this is because he cross-compiled on
an aarch64-linux machine, while I cross-compiled on an x86_64-linux
machine.  In the other cases, it looks like the binary files differ in
basically the same ways.  I will share some examples below.

Here is some diffoscope output between my c++ and Efraim's (many other
sections also differed in similarly cryptic ways):

=2D-8<---------------cut here---------------start------------->8---
diffoscope chris/bin/c++ efraim/bin/c++
...
=E2=94=9C=E2=94=80=E2=94=80 /gnu/store/xakj5dgs1729297nv50s84sdmq2jiz64-bin=
utils-2.34/bin/readelf --wide --symbols {}
=E2=94=82 @@ -328,18 +328,18 @@
=E2=94=82     324: 00000000101aece0   152 FUNC    LOCAL  DEFAULT   19 check=
_free.isra.0
=E2=94=82     325: 00000000101aed28    24 FUNC    LOCAL  DEFAULT   19 fini
=E2=94=82     326: 00000000101b6008     8 OBJECT  LOCAL  DEFAULT   24 stati=
c_buf
=E2=94=82     327: 00000000101b6010    32 OBJECT  LOCAL  DEFAULT   24 last_=
result
=E2=94=82     328: 00000000101b6030     4 OBJECT  LOCAL  DEFAULT   24 key
=E2=94=82     329: 00000000101b6034     4 OBJECT  LOCAL  DEFAULT   24 once
=E2=94=82     330: 00000000101b23b8   104 OBJECT  LOCAL  DEFAULT   22 _dlfc=
n_hooks
=E2=94=82 -   331: 00000000101a98f8   524 FUNC    LOCAL  DEFAULT   19 _ZN12=
_GLOBAL__N_14pool4freeEPv.constprop.2
=E2=94=82 -   332: 00000000101a9910   524 FUNC    LOCAL  DEFAULT   19 _ZN12=
_GLOBAL__N_14pool8allocateEm.constprop.3
=E2=94=82 -   333: 00000000101a99a0   180 FUNC    LOCAL  DEFAULT   19 _GLOB=
AL__sub_I_eh_alloc.cc
=E2=94=82 -   334: 00000000101b4f68    64 OBJECT  LOCAL  DEFAULT   24 _ZN12=
_GLOBAL__N_114emergency_poolE
=E2=94=82 +   331: 00000000101a9880   524 FUNC    LOCAL  DEFAULT   19 _ZN12=
_GLOBAL__N_14pool4freeEPv.constprop.2
=E2=94=82 +   332: 00000000101a9898   524 FUNC    LOCAL  DEFAULT   19 _ZN12=
_GLOBAL__N_14pool8allocateEm.constprop.3
=E2=94=82 +   333: 00000000101a9928   180 FUNC    LOCAL  DEFAULT   19 _GLOB=
AL__sub_I_eh_alloc.cc
=E2=94=82 +   334: 00000000101b4f78    64 OBJECT  LOCAL  DEFAULT   24 _ZN12=
_GLOBAL__N_114emergency_poolE
=E2=94=82     335: 000000001011c5a8    19 OBJECT  LOCAL  DEFAULT    7 _ZZ18=
ggc_internal_allocmPFvPvEmmE12__FUNCTION__
=E2=94=82     336: 000000001011c5c0    27 OBJECT  LOCAL  DEFAULT    7 _ZZ26=
ggc_internal_cleared_allocmPFvPvEmmE12__FUNCTION__
=E2=94=82     337: 000000001011c600    21 OBJECT  LOCAL  DEFAULT    7 _ZZ20=
lang_specific_driverPP17cl_decoded_optionPjPiE12__FUNCTION__
=E2=94=82     338: 00000000101a42d0   228 FUNC    LOCAL  DEFAULT   19 _ZL12=
elf_platformv
=E2=94=82     339: 00000000101a42e8   236 FUNC    LOCAL  DEFAULT   19 _ZL15=
elf_dcachebsizev
=E2=94=82     340: 00000000101a4300   164 FUNC    LOCAL  DEFAULT   19 _ZL14=
describe_cachejjjj.isra.0.constprop.1
=E2=94=82     341: 000000001011c6b8   752 OBJECT  LOCAL  DEFAULT    7 _ZL9a=
sm_names
...
=E2=94=82 @@ -1379,25 +1379,25 @@
=E2=94=82    1375: 00000000101b2448     0 SECTION LOCAL  DEFAULT   23=20
=E2=94=82    1376: 00000000101b2b80     0 SECTION LOCAL  DEFAULT   24=20
=E2=94=82    1377: 00000000101b6860     0 SECTION LOCAL  DEFAULT   25=20
=E2=94=82    1378: 0000000000000000     0 SECTION LOCAL  DEFAULT   26=20
=E2=94=82    1379: 0000000000000000     0 SECTION LOCAL  DEFAULT   27=20
=E2=94=82    1380: 00000000101a2a28   752 OBJECT  GLOBAL DEFAULT   18 _nl_C=
_LC_CTYPE
=E2=94=82    1381: 00000000101ace20    56 IFUNC   GLOBAL DEFAULT   19 __lib=
c_strcspn
=E2=94=82 -  1382: 00000000101a9958   100 FUNC    GLOBAL DEFAULT   19 __cxa=
_free_exception
=E2=94=82 +  1382: 00000000101a98e0   100 FUNC    GLOBAL DEFAULT   19 __cxa=
_free_exception
=E2=94=82    1383: 00000000101acfe8   104 FUNC    WEAK   DEFAULT   19 stpcpy
=E2=94=82    1384: 00000000101ab7e8   516 FUNC    GLOBAL DEFAULT   19 putch=
ar
=E2=94=82 -  1385: 00000000101a9598    20 FUNC    GLOBAL DEFAULT   19 _ZNKS=
t9type_info15__is_function_pEv
=E2=94=82 +  1385: 00000000101a9778    20 FUNC    GLOBAL DEFAULT   19 _ZNKS=
t9type_info15__is_function_pEv
=E2=94=82    1386: 000000001016a3cc    76 OBJECT  GLOBAL DEFAULT    7 _nl_C=
_LC_CTYPE_class_print
=E2=94=82    1387: 00000000101adfc0   640 FUNC    WEAK   DEFAULT   19 tsear=
ch
=E2=94=82    1388: 00000000101af0a0   176 FUNC    WEAK   DEFAULT   19 clock=
_gettime
=E2=94=82    1389: 00000000101a4150  4856 FUNC    GLOBAL DEFAULT   19 _ZNK6=
driver12set_up_specsEv
=E2=94=82    1390: 00000000101a9268    88 FUNC    GLOBAL DEFAULT   19 xmall=
oc
=E2=94=82    1391: 00000000101b1d68     8 OBJECT  GLOBAL DEFAULT   22 __mor=
ecore
=E2=94=82 -  1392: 00000000101a9568    40 FUNC    GLOBAL DEFAULT   19 _ZSt1=
0unexpectedv
=E2=94=82 +  1392: 00000000101a94f0    40 FUNC    GLOBAL DEFAULT   19 _ZSt1=
0unexpectedv
=E2=94=82    1393: 00000000101a8ef0    60 FUNC    GLOBAL DEFAULT   19 lbase=
name
=E2=94=82    1394: 00000000101aded0    96 FUNC    GLOBAL DEFAULT   19 __get=
dtablesize
=E2=94=82    1395: 00000000101a4348   752 FUNC    GLOBAL DEFAULT   19 updat=
e_path
...
=E2=94=9C=E2=94=80=E2=94=80 /gnu/store/xakj5dgs1729297nv50s84sdmq2jiz64-bin=
utils-2.34/bin/readelf --wide --decompress --hex-dump=3D.data.rel.ro {}
=E2=94=82 @@ -112,27 +112,27 @@
=E2=94=82    0x101a1718 00000000 10164560 00000009 00000001 ......E`........
=E2=94=82    0x101a1728 00000000 10164570 00000000 10164578 ......Ep......Ex
=E2=94=82    0x101a1738 0000000c 00000002 00000000 101499e8 ................
=E2=94=82    0x101a1748 00000000 10116018 00000001 00000001 ......`.........
=E2=94=82    0x101a1758 00000000 10164588 00000000 10164590 ......E.......E.
=E2=94=82    0x101a1768 00000007 00000001 00000000 10119850 ...............P
=E2=94=82    0x101a1778 00000000 1015e290 00000002 00000002 ................
=E2=94=82 -  0x101a1788 00000000 101641c0 00000000 101653e8 ......A.......S.
=E2=94=82 +  0x101a1788 00000000 101641c0 00000000 101653a8 ......A.......S.
=E2=94=82    0x101a1798 00000001 00000002 00000000 10164598 ..............E.
=E2=94=82    0x101a17a8 00000000 10117df0 00000001 00000002 ......}.........
=E2=94=82    0x101a17b8 00000000 101645a0 00000000 1015e238 ......E........8
=E2=94=82    0x101a17c8 00000002 00000002 00000000 101645a8 ..............E.
=E2=94=82    0x101a17d8 00000000 101631d8 00000001 00000002 ......1.........
=E2=94=82    0x101a17e8 00000000 101645b0 00000000 1015e1e0 ......E.........
=E2=94=82 -  0x101a17f8 00000002 00000002 00000000 101653c0 ..............S.
=E2=94=82 +  0x101a17f8 00000002 00000002 00000000 10165380 ..............S.
=E2=94=82    0x101a1808 00000000 1015e268 00000003 00000003 .......h........
=E2=94=82 -  0x101a1818 00000000 101653c8 00000000 1015e268 ......S........h
=E2=94=82 -  0x101a1828 00000003 00000003 00000000 101653d0 ..............S.
=E2=94=82 +  0x101a1818 00000000 10165388 00000000 1015e268 ......S........h
=E2=94=82 +  0x101a1828 00000003 00000003 00000000 10165390 ..............S.
=E2=94=82    0x101a1838 00000000 1015e268 00000003 00000002 .......h........
=E2=94=82 -  0x101a1848 00000000 101653d8 00000000 1015e268 ......S........h
=E2=94=82 +  0x101a1848 00000000 10165398 00000000 1015e268 ......S........h
=E2=94=82    0x101a1858 00000003 00000002 00000000 10144ea8 ..............N.
=E2=94=82    0x101a1868 00000000 1015e1f0 00000002 00000002 ................
...
=2D-8<---------------cut here---------------end--------------->8---

Here is some diffoscope output betweeen my c++ and Jack's (many other
sections also differed in similarly cryptic ways):

=2D-8<---------------cut here---------------start------------->8---
diffoscope chris/bin/c++ jack/bin/c++
...
=E2=94=9C=E2=94=80=E2=94=80 /gnu/store/xakj5dgs1729297nv50s84sdmq2jiz64-bin=
utils-2.34/bin/readelf --wide --symbols {}
=E2=94=82 @@ -328,17 +328,17 @@
=E2=94=82     324: 00000000101aece0   152 FUNC    LOCAL  DEFAULT   19 check=
_free.isra.0
=E2=94=82     325: 00000000101aed28    24 FUNC    LOCAL  DEFAULT   19 fini
=E2=94=82     326: 00000000101b6008     8 OBJECT  LOCAL  DEFAULT   24 stati=
c_buf
=E2=94=82     327: 00000000101b6010    32 OBJECT  LOCAL  DEFAULT   24 last_=
result
=E2=94=82     328: 00000000101b6030     4 OBJECT  LOCAL  DEFAULT   24 key
=E2=94=82     329: 00000000101b6034     4 OBJECT  LOCAL  DEFAULT   24 once
=E2=94=82     330: 00000000101b23b8   104 OBJECT  LOCAL  DEFAULT   22 _dlfc=
n_hooks
=E2=94=82 -   331: 00000000101a98f8   524 FUNC    LOCAL  DEFAULT   19 _ZN12=
_GLOBAL__N_14pool4freeEPv.constprop.2
=E2=94=82 -   332: 00000000101a9910   524 FUNC    LOCAL  DEFAULT   19 _ZN12=
_GLOBAL__N_14pool8allocateEm.constprop.3
=E2=94=82 -   333: 00000000101a99a0   180 FUNC    LOCAL  DEFAULT   19 _GLOB=
AL__sub_I_eh_alloc.cc
=E2=94=82 +   331: 00000000101a94c0   524 FUNC    LOCAL  DEFAULT   19 _ZN12=
_GLOBAL__N_14pool4freeEPv.constprop.2
=E2=94=82 +   332: 00000000101a94d8   524 FUNC    LOCAL  DEFAULT   19 _ZN12=
_GLOBAL__N_14pool8allocateEm.constprop.3
=E2=94=82 +   333: 00000000101a9568   180 FUNC    LOCAL  DEFAULT   19 _GLOB=
AL__sub_I_eh_alloc.cc
=E2=94=82     334: 00000000101b4f68    64 OBJECT  LOCAL  DEFAULT   24 _ZN12=
_GLOBAL__N_114emergency_poolE
=E2=94=82     335: 000000001011c5a8    19 OBJECT  LOCAL  DEFAULT    7 _ZZ18=
ggc_internal_allocmPFvPvEmmE12__FUNCTION__
=E2=94=82     336: 000000001011c5c0    27 OBJECT  LOCAL  DEFAULT    7 _ZZ26=
ggc_internal_cleared_allocmPFvPvEmmE12__FUNCTION__
=E2=94=82     337: 000000001011c600    21 OBJECT  LOCAL  DEFAULT    7 _ZZ20=
lang_specific_driverPP17cl_decoded_optionPjPiE12__FUNCTION__
=E2=94=82     338: 00000000101a42d0   228 FUNC    LOCAL  DEFAULT   19 _ZL12=
elf_platformv
=E2=94=82     339: 00000000101a42e8   236 FUNC    LOCAL  DEFAULT   19 _ZL15=
elf_dcachebsizev
=E2=94=82     340: 00000000101a4300   164 FUNC    LOCAL  DEFAULT   19 _ZL14=
describe_cachejjjj.isra.0.constprop.1
...
=E2=94=9C=E2=94=80=E2=94=80 /gnu/store/xakj5dgs1729297nv50s84sdmq2jiz64-bin=
utils-2.34/bin/readelf --wide --decompress --hex-dump=3D.data.rel.ro {}
=E2=94=82 @@ -206,60 +206,60 @@
=E2=94=82    0x101a1cf8 00000000 101a3b08 00000000 10118108 ......;.........
=E2=94=82    0x101a1d08 00000000 101a4120 00000000 10118120 ......A .......=
=20
=E2=94=82    0x101a1d18 00000000 101a4108 00000000 10115758 ......A.......WX
=E2=94=82    0x101a1d28 00000000 101a3a60 00000000 10118138 ......:`.......8
=E2=94=82    0x101a1d38 00000000 101a3a48 00000000 10115ae8 ......:H......Z.
=E2=94=82    0x101a1d48 00000000 101a3c10 00000000 10118150 ......<........P
=E2=94=82    0x101a1d58 00000000 101a4318 00000000 00000000 ......C.........
=E2=94=82 -  0x101a1d68 00000000 00000000 00000000 101a1dd8 ................
=E2=94=82 -  0x101a1d78 00000000 101650d0 00000000 101a1e70 ......P........p
=E2=94=82 -  0x101a1d88 00000000 00000000 00000000 101a1d70 ...............p
=E2=94=82 -  0x101a1d98 00000000 101a9388 00000000 101a93a0 ................
=E2=94=82 -  0x101a1da8 00000000 101a9370 00000000 101a1dd8 .......p........
=E2=94=82 -  0x101a1db8 00000000 101650f0 00000000 101a1fd8 ......P.........
=E2=94=82 -  0x101a1dc8 00000000 00000000 00000000 101a1db0 ................
=E2=94=82 -  0x101a1dd8 00000000 101a93d0 00000000 101a93e8 ................
=E2=94=82 -  0x101a1de8 00000000 101a9598 00000000 101a9598 ................
=E2=94=82 -  0x101a1df8 00000000 101a9b20 00000000 101a9a90 ....... ........
=E2=94=82 -  0x101a1e08 00000000 101a9430 00000000 101a9418 .......0........
=E2=94=82 -  0x101a1e18 00000000 101a9400 00000000 101a2000 .............. .
=E2=94=82 -  0x101a1e28 00000000 10165118 00000000 00000000 ......Q.........
=E2=94=82 -  0x101a1e38 00000000 101a1e20 00000000 101a9580 ....... ........
=E2=94=82 -  0x101a1e48 00000000 101a95c8 00000000 101a9598 ................
=E2=94=82 -  0x101a1e58 00000000 101a9598 00000000 101a95e0 ................
=E2=94=82 -  0x101a1e68 00000000 101a95b0 00000000 101a2000 .............. .
=E2=94=82 -  0x101a1e78 00000000 10165128 00000000 101a1dd8 ......Q(........
=E2=94=82 -  0x101a1e88 00000000 10165138 00000000 101a1e70 ......Q8.......p
=E2=94=82 -  0x101a1e98 00000000 101a2000 00000000 10165150 ...... .......QP
=E2=94=82 -  0x101a1ea8 00000000 101a2000 00000000 10165170 ...... .......Qp
=E2=94=82 -  0x101a1eb8 00000000 00000000 00000000 101a1e70 ...............p
=E2=94=82 -  0x101a1ec8 00000000 101a96e8 00000000 101a9748 ...............H
=E2=94=82 -  0x101a1ed8 00000000 101a9718 00000000 00000000 ................
=E2=94=82 -  0x101a1ee8 00000000 101a1e80 00000000 101a9700 ................
=E2=94=82 -  0x101a1ef8 00000000 101a9760 00000000 101a9730 .......`.......0
=E2=94=82 -  0x101a1f08 00000000 00000000 00000000 101a1e98 ................
=E2=94=82 -  0x101a1f18 00000000 00000000 00000000 00000000 ................
=E2=94=82 -  0x101a1f28 00000000 101a99b8 00000000 00000000 ................
=E2=94=82 -  0x101a1f38 00000000 101a1ea8 00000000 00000000 ................
=E2=94=82 -  0x101a1f48 00000000 00000000 00000000 101a99b8 ................
=E2=94=82 -  0x101a1f58 00000000 101a1dd8 00000000 101651c0 ..............Q.
=E2=94=82 -  0x101a1f68 00000000 101a1e70 00000000 101a1dd8 .......p........
=E2=94=82 -  0x101a1f78 00000000 101651e8 00000000 101a1e70 ......Q........p
=E2=94=82 -  0x101a1f88 00000000 00000000 00000000 101a1f58 ...............X
=E2=94=82 -  0x101a1f98 00000000 101a9880 00000000 101a98b0 ................
=E2=94=82 -  0x101a1fa8 00000000 101a9850 00000000 00000000 .......P........
=E2=94=82 -  0x101a1fb8 00000000 101a1f70 00000000 101a9898 .......p........
=E2=94=82 -  0x101a1fc8 00000000 101a98c8 00000000 101a9868 ...............h
=E2=94=82 -  0x101a1fd8 00000000 101a1dd8 00000000 101652a8 ..............R.
=E2=94=82 -  0x101a1fe8 00000000 101a1e20 00000000 00000000 ....... ........
=E2=94=82 -  0x101a1ff8 00000000 101a1fd8 00000000 101a9ac0 ................
=E2=94=82 -  0x101a2008 00000000 101a9ad8 00000000 101a9598 ................
=E2=94=82 -  0x101a2018 00000000 101a9598 00000000 101a9b20 ...............=
=20
=E2=94=82 -  0x101a2028 00000000 101a9a90 00000000 101a9b08 ................
=E2=94=82 -  0x101a2038 00000000 101a9af0 00000000 101a9aa8 ................
=E2=94=82 +  0x101a1d68 00000000 00000000 00000000 101a1f40 ...............@
=E2=94=82 +  0x101a1d78 00000000 101650d0 00000000 101a1e30 ......P........0
=E2=94=82 +  0x101a1d88 00000000 101a1f40 00000000 101650f8 .......@......P.
=E2=94=82 +  0x101a1d98 00000000 101a1e30 00000000 00000000 .......0........
=E2=94=82 +  0x101a1da8 00000000 101a1d70 00000000 101a9448 .......p.......H
=E2=94=82 +  0x101a1db8 00000000 101a9478 00000000 101a9418 .......x........
=E2=94=82 +  0x101a1dc8 00000000 00000000 00000000 101a1d88 ................
=E2=94=82 +  0x101a1dd8 00000000 101a9460 00000000 101a9490 .......`........
=E2=94=82 +  0x101a1de8 00000000 101a9430 00000000 101a1f40 .......0.......@
=E2=94=82 +  0x101a1df8 00000000 10165178 00000000 101a1e30 ......Qx.......0
=E2=94=82 +  0x101a1e08 00000000 00000000 00000000 101a1df0 ................
=E2=94=82 +  0x101a1e18 00000000 101a9610 00000000 101a9628 ...............(
=E2=94=82 +  0x101a1e28 00000000 101a95f8 00000000 101a1fb0 ................
=E2=94=82 +  0x101a1e38 00000000 10165198 00000000 101a1f40 ......Q........@
=E2=94=82 +  0x101a1e48 00000000 101651a8 00000000 101a1e30 ......Q........0
=E2=94=82 +  0x101a1e58 00000000 101a1fb0 00000000 101651c0 ..............Q.
=E2=94=82 +  0x101a1e68 00000000 101a1fb0 00000000 101651e0 ..............Q.
=E2=94=82 +  0x101a1e78 00000000 00000000 00000000 101a1e30 ...............0
=E2=94=82 +  0x101a1e88 00000000 101a9760 00000000 101a97c0 .......`........
=E2=94=82 +  0x101a1e98 00000000 101a9790 00000000 00000000 ................
=E2=94=82 +  0x101a1ea8 00000000 101a1e40 00000000 101a9778 .......@.......x
=E2=94=82 +  0x101a1eb8 00000000 101a97d8 00000000 101a97a8 ................
=E2=94=82 +  0x101a1ec8 00000000 00000000 00000000 101a1e58 ...............X
=E2=94=82 +  0x101a1ed8 00000000 00000000 00000000 00000000 ................
=E2=94=82 +  0x101a1ee8 00000000 101a98b0 00000000 00000000 ................
=E2=94=82 +  0x101a1ef8 00000000 101a1e68 00000000 00000000 .......h........
=E2=94=82 +  0x101a1f08 00000000 00000000 00000000 101a98b0 ................
=E2=94=82 +  0x101a1f18 00000000 101a1f40 00000000 10165270 .......@......Rp
=E2=94=82 +  0x101a1f28 00000000 101a1f88 00000000 00000000 ................
=E2=94=82 +  0x101a1f38 00000000 101a1f18 00000000 101a98e0 ................
=E2=94=82 +  0x101a1f48 00000000 101a98f8 00000000 101a9af0 ................
=E2=94=82 +  0x101a1f58 00000000 101a9af0 00000000 101a9ac0 ................
=E2=94=82 +  0x101a1f68 00000000 101a9a30 00000000 101a9940 .......0.......@
=E2=94=82 +  0x101a1f78 00000000 101a9928 00000000 101a9910 .......(........
=E2=94=82 +  0x101a1f88 00000000 101a1f40 00000000 10165298 .......@......R.
=E2=94=82 +  0x101a1f98 00000000 101a1ff8 00000000 00000000 ................
=E2=94=82 +  0x101a1fa8 00000000 101a1f88 00000000 101a9a60 ...............`
=E2=94=82 +  0x101a1fb8 00000000 101a9a78 00000000 101a9af0 .......x........
=E2=94=82 +  0x101a1fc8 00000000 101a9af0 00000000 101a9ac0 ................
=E2=94=82 +  0x101a1fd8 00000000 101a9a30 00000000 101a9aa8 .......0........
=E2=94=82 +  0x101a1fe8 00000000 101a9a90 00000000 101a9a48 ...............H
=E2=94=82 +  0x101a1ff8 00000000 101a1fb0 00000000 101652c0 ..............R.
=E2=94=82 +  0x101a2008 00000000 00000000 00000000 101a1ff8 ................
=E2=94=82 +  0x101a2018 00000000 101a9ad8 00000000 101a9b20 ...............=
=20
=E2=94=82 +  0x101a2028 00000000 101a9af0 00000000 101a9af0 ................
=E2=94=82 +  0x101a2038 00000000 101a9b38 00000000 101a9b08 .......8........
=E2=94=82    0x101a2048 00000000 10165a28 00000000 101aa888 ......Z(........
=E2=94=82    0x101a2058 00000000 00000000 04040404 00000000 ................
=E2=94=82    0x101a2068 00000000 10165a38 00000000 101aa8a0 ......Z8........
=E2=94=82    0x101a2078 00000000 00000000 04040404 00000000 ................
=E2=94=82    0x101a2088 00000000 10165a58 00000000 101aa8b8 ......ZX........
=E2=94=82    0x101a2098 00000000 00000000 04040404 00000000 ................
=E2=94=82    0x101a20a8 00000000 10165a70 00000000 101aa8d0 ......Zp........
=2D-8<---------------cut here---------------end--------------->8---

If I'm reading this correctly, one problem seems to be that our GCC
toolchains are putting symbols at different locations.  This issue (and
maybe others) could be trickling down, causing other aspects of the
binaries to differ (e.g., in length).  Nothing really stands out, but
when we discussed this on IRC, we thought perhaps factors like the
following might contribute to the non-reproducibility:

=2D Perhaps we are all running different Linux kernel versions?  In some
  cases, the kernel version can unfortunately influence the build
  output, so this might be worth testing.

=2D Perhaps the GCC Makefiles etc. are doing something non-deterministic?

=2D Something else?

Avenues of investigation:

=2D If anything obvious stands out from the diffoscope output, please
  leave a comment.

=2D Try building with different kernel versions on the same machine, to
  see if they differ.

=2D If somebody else could please confirm that running the following
  command reports no difference on their own machine (i.e., exit code
  0), that would be good to know, since it would help further solidify
  the theory that on a single machine, the build of gcc-static-5.5.0.drv
  is reproducible, even if it is not reproducible across machines:

  guix build --no-substitutes --check --target=3Dpowerpc64-linux-gnu \
       -e '(@@ (gnu packages make-bootstrap) %gcc-static)'

=2D Try building two different versions of gcc-7.5.0 (maybe by hand?), and
  then use them to build a simple reproduction case and compare results.
  If we're lucky, maybe this will help us understand the problem better.

We'll get there!

=2D-=20
Chris

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl7gemUACgkQ3UCaFdgi
Rp3CJA/+I1u4W3TlKPLAWFq8mPWkE9iJGwWKcbSfVAMONQGqqNFv6nBfix2AhZDj
trMnElbu7sDXDsihJnopBeoKmSpfYl59O4eFbRcpKzVxSg4aJ78GFoqwX9KKTNTG
l0BJNnnrSwdxWQWZiZ3+ujexdSd3gpWk176WkcrDzUWLknBfGE+SRQf2j4JldnZ+
8dDhMRhT+2jkRQBWUi6hZ6FP0xAmrOP6fpBv+aIrjQXgx6OsERpFy+paqn4lLjnn
Lr0J943KlrpSDRDTX6VOZkpgNnZqq75QWoOWdVpcNrGtzEDusw6AoxUudQm1ZNZf
TZqq1LQiH4S4V7M5T//PftkDRoCoHyynaePNrkQpzcNKjeG0jGK4xRZss+2eAEVV
pZZAXMbe17JhkNjjxxlYI+CwhXAXV5Xy5llUM1DMd9oG9TCl+21xgboIaV9Nvyz8
8fYU4B0diXCXSGLc7odtDhZfukhag9geVuOh+7XfzTdItYEfC/vwrzC9JZZt0vbj
jI6iKR5yvG6oEqdJkMTUBDONphCq2H7R3s+hyr8W5CO/VZ2UonE7Q/lE610hfpaS
lagRuriOAkFtsyt15IsfJ/dHNJDnlzwrpe2YI/7Wr+cyUBGAnAzRHsGw0oYiQNUV
jYoht9mw3kpqvh9/C8TLAF9KZBDUDWAcMaOFLSPgN72oGufMCq4=
=7To8
-----END PGP SIGNATURE-----
--=-=-=--




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Bengt Richter <bokr@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Wed, 10 Jun 2020 22:21:02 +0000
Resent-Message-ID: <handler.41669.B41669.159182762422293 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Chris Marusich <cmmarusich@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Reply-To: Bengt Richter <bokr@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.159182762422293
          (code B ref 41669); Wed, 10 Jun 2020 22:21:02 +0000
Received: (at 41669) by debbugs.gnu.org; 10 Jun 2020 22:20:24 +0000
Received: from localhost ([127.0.0.1]:35566 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jj955-0005nV-IK
	for submit <at> debbugs.gnu.org; Wed, 10 Jun 2020 18:20:23 -0400
Received: from imta-36.everyone.net ([216.200.145.36]:36906
 helo=imta-38.everyone.net)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <bokr@HIDDEN>) id 1jj954-0005nM-17
 for 41669 <at> debbugs.gnu.org; Wed, 10 Jun 2020 18:20:23 -0400
Received: from pps.filterd (omta002.sj2.proofpoint.com [127.0.0.1])
 by imta-38.everyone.net (8.16.0.27/8.16.0.27) with SMTP id 05AMH0QI004431;
 Wed, 10 Jun 2020 15:20:21 -0700
X-Eon-Originating-Account: H4SzW8FaSkwGSif7jeDnM_m1YTv3GA2Qd-qjf20FW3M
X-Eon-Dm: m0116293.ppops.net
Received: by m0116293.mta.everyone.net (EON-AUTHRELAY2 - 5a81c94d)
 id m0116293.5e67f91c.81a880; Wed, 10 Jun 2020 15:20:18 -0700
X-Eon-Sig: AQMHrIJe4VyiMk/tzgIAAAAF,f938924eb8f51a25ce799e06f480d947
X-Eip: WAdbK_sdcq8v4IO9A5Md1wWTkjF1uhrNQrNtDrvbinY
Date: Thu, 11 Jun 2020 00:20:08 +0200
From: Bengt Richter <bokr@HIDDEN>
Message-ID: <20200610222008.GB3238@LionPure>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
 <87imfzcuqi.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
In-Reply-To: <87imfzcuqi.fsf@HIDDEN>
User-Agent: Mutt/1.10.1 (2018-07-13)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.216, 18.0.687
 definitions=2020-06-10_13:2020-06-10,
 2020-06-10 signatures=0
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0
 priorityscore=1501 malwarescore=0
 suspectscore=0 phishscore=0 bulkscore=0 spamscore=0 clxscore=1034
 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0
 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-2004280000
 definitions=main-2006100159
X-Spam-Score: -0.4 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.4 (-)

Hi Chris, et al,

On +2020-06-09 23:15:01 -0700, Chris Marusich wrote:
> Hi Vincent and everyone,
> 
> Vincent Legoll <vincent.legoll@HIDDEN> writes:
> 
> > Is that showing the same (or a similar) problem :
> >
> > https://data.guix-patches.cbaines.net/gnu/store/0lcbxpw1vrca02dzpzw2rxhad7pn4zw7-gcc-objc-5.5.0
> >
> > ?
> 
> Can you clarify what you mean?  I'm not sure what you're referring to.
> 
> Chris Marusich <cmmarusich@HIDDEN> writes:
> 
> > At present, it seems possible that within the context of a single
> > machine, gcc-stripped-tarball-5.5.0.drv builds reproducibly, but on a
> > different machine, it may (reproducibly) build a different output.
> > I'm a bit paranoid about making mistakes, so I'll perform another full
> > GC and then try yet again to build gcc-stripped-tarball-5.5.0.drv in
> > order to verify whether it truly produces the same output when all (or
> > nearly all) of its inputs are rebuilt from scratch.
> 
> I repeated the experiment on the same machine (it took a day or two to
> build), and the result was the same: on my machine,
> gcc-stripped-tarball-5.5.0.drv builds identical output to what it built
> before. To be clear, using Guix 8159ce1970d91567468cf1bacac313099a009d2a
> on an x86_64-linux machine, I tried (yet again) the following steps:
>
[...]

> Efraim's diff looks a little different in statx.h, even though he used
> the same Guix commit as me.  Maybe this is because he cross-compiled on
> an aarch64-linux machine, while I cross-compiled on an x86_64-linux
> machine.  In the other cases, it looks like the binary files differ in
> basically the same ways.  I will share some examples below.
> 
> Here is some diffoscope output between my c++ and Efraim's (many other
> sections also differed in similarly cryptic ways):
> 
[...]

> 
> If I'm reading this correctly, one problem seems to be that our GCC
> toolchains are putting symbols at different locations.  This issue (and
> maybe others) could be trickling down, causing other aspects of the
> binaries to differ (e.g., in length).  Nothing really stands out, but
> when we discussed this on IRC, we thought perhaps factors like the
> following might contribute to the non-reproducibility:
> 
> - Perhaps we are all running different Linux kernel versions?  In some
>   cases, the kernel version can unfortunately influence the build
>   output, so this might be worth testing.
> 
> - Perhaps the GCC Makefiles etc. are doing something non-deterministic?
>

Questions triggered in my mind:

Where are respective machines getting their rules for packing and
aligning structs and unions?

Is any struct or rule/flags source dynamically generated, where different
rules could come from different defaults, or .configs, or even invalid
memoizations jumping domains?

Could pointer arithmetic get done in one domain and the offset be
misused in another? Wrong C preprocessor?

Difference in sort key comparisons for canonicalization of ordering?

Hope that's not all red herrings :)
Sorry for the noise otherwise.

> - Something else?

Hm, some race condition between processes that should be order-independent
but are not.

Then if different hardware components on different systems -- disks, memory,
processors -- cause different but repeatable patterns of waits (convoying?)
you could get repeatable but different builds.

I guess you'd have to figure out which order was really right, and force
the order of processing explicitly to that order, so all systems would
do it that way.

> 
> Avenues of investigation:
> 
> - If anything obvious stands out from the diffoscope output, please
>   leave a comment.
> 
> - Try building with different kernel versions on the same machine, to
>   see if they differ.
> 
> - If somebody else could please confirm that running the following
>   command reports no difference on their own machine (i.e., exit code
>   0), that would be good to know, since it would help further solidify
>   the theory that on a single machine, the build of gcc-static-5.5.0.drv
>   is reproducible, even if it is not reproducible across machines:
> 
>   guix build --no-substitutes --check --target=powerpc64-linux-gnu \
>        -e '(@@ (gnu packages make-bootstrap) %gcc-static)'
> 
> - Try building two different versions of gcc-7.5.0 (maybe by hand?), and
>   then use them to build a simple reproduction case and compare results.
>   If we're lucky, maybe this will help us understand the problem better.
> 
> We'll get there!
> 
> -- 
> Chris

-- 
Regards,
Bengt Richter




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Jack Hill <jackhill@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Thu, 11 Jun 2020 21:10:01 +0000
Resent-Message-ID: <handler.41669.B41669.159190979731565 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Chris Marusich <cmmarusich@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.159190979731565
          (code B ref 41669); Thu, 11 Jun 2020 21:10:01 +0000
Received: (at 41669) by debbugs.gnu.org; 11 Jun 2020 21:09:57 +0000
Received: from localhost ([127.0.0.1]:38247 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1jjUSS-0008D3-VI
	for submit <at> debbugs.gnu.org; Thu, 11 Jun 2020 17:09:57 -0400
Received: from minsky.hcoop.net ([104.248.1.95]:33730)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <jackhill@HIDDEN>) id 1jjUSR-0008Cr-7T
 for 41669 <at> debbugs.gnu.org; Thu, 11 Jun 2020 17:09:55 -0400
Received: from marsh.hcoop.net ([45.55.52.66])
 by minsky.hcoop.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.89) (envelope-from <jackhill@HIDDEN>)
 id 1jjUSL-0001oI-NB; Thu, 11 Jun 2020 17:09:49 -0400
Date: Thu, 11 Jun 2020 17:09:49 -0400 (EDT)
From: Jack Hill <jackhill@HIDDEN>
X-X-Sender: jackhill@HIDDEN
In-Reply-To: <87imfzcuqi.fsf@HIDDEN>
Message-ID: <alpine.DEB.2.20.2006111707180.5735@HIDDEN>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
 <87imfzcuqi.fsf@HIDDEN>
User-Agent: Alpine 2.20 (DEB 67 2015-01-07)
MIME-Version: 1.0
Content-Type: text/plain; charset=US-ASCII; format=flowed
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Tue, 9 Jun 2020, Chris Marusich wrote:

> - Try building with different kernel versions on the same machine, to
>  see if they differ.

I've done the rebuild after updated from Linux 5.4.41 to 5.4.45, and go 
identical results to my previous build. I am using a different kernel 
configuration than Guix's default kernel, but it was the same between the 
builds.

Best,
Jack




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Chris Marusich <cmmarusich@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Sun, 13 Sep 2020 02:54:01 +0000
Resent-Message-ID: <handler.41669.B41669.159996559819617 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: 41669 <at> debbugs.gnu.org
Cc: Vincent Legoll <vincent.legoll@HIDDEN>, Jack Hill <jackhill@HIDDEN>, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.159996559819617
          (code B ref 41669); Sun, 13 Sep 2020 02:54:01 +0000
Received: (at 41669) by debbugs.gnu.org; 13 Sep 2020 02:53:18 +0000
Received: from localhost ([127.0.0.1]:49261 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kHI8j-00056L-Qr
	for submit <at> debbugs.gnu.org; Sat, 12 Sep 2020 22:53:18 -0400
Received: from mail-pj1-f67.google.com ([209.85.216.67]:51214)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cmmarusich@HIDDEN>) id 1kHI8i-000568-L4
 for 41669 <at> debbugs.gnu.org; Sat, 12 Sep 2020 22:53:17 -0400
Received: by mail-pj1-f67.google.com with SMTP id a9so3645455pjg.1
 for <41669 <at> debbugs.gnu.org>; Sat, 12 Sep 2020 19:53:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=3v1jX2Ze1zrYhtlgur09vsciZmdynesJ+3F1pqvzW1Q=;
 b=pwyJ+w4cw4ts4LkxX5n71F40PRASmm3JyasSxO/6n0gxpxDjusO5RbiF0mflfPSHJj
 j6gRIhX8Bi1X38EHCymOFs2BPstGtc5Wnv/BUcrkf92C66Og9naxjyxPC2wOzLdAytKk
 qzV6DiB6Nj+DUnqp6layTDwwbB6X1YSswx9iHzRUrI3P08eBRvMk8yykJzpmHosnAX2t
 wsa91nn6JZYYTOiBjdIalKY0MmAcq/4oTeHeB7eGkoB5woKiTDqTdz9l0grhSNPGVuAU
 iYfYpg3pAeF64WDo4mwXRzy8MUGNaRIrnrHqSi4gwu9POEPkHvTGXi+Jzt91/XTPmXco
 ogVw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=3v1jX2Ze1zrYhtlgur09vsciZmdynesJ+3F1pqvzW1Q=;
 b=gjXmMleyusPHTxEUjj+t9oC2K2sJ6cJN5CnUxq9l76afAqQdQF/UKSSf5iTLPdpInh
 46I6q2DO/n4R9E1VHVXXwOq2RXyNXUkg4ZhNAIMM69bU3ZkDlB4q+c//0SBYr/QPB7fE
 om5elYU/lFmlrHr05k0HvSGPniMF97+tQ0xMC2X8tPBZqBmVKlbqZlxBP6eGvnsXC/0z
 HFl7M5YDCui9TjMGp6M/498m8A3/tc54eYBih12kNKXybqm2K/fobiwDh4HJS8HJ2OU5
 XzQC44DjdeHFu7t395vjh7UBsCpCJbwPdvTBi2ni4Lf/4/xiJOcR7kpuG/yU1slDh2tr
 RUJg==
X-Gm-Message-State: AOAM530pNQxDX7Meqc0k+42Qd7HgfbSZHWcOycThgPu9vM8TydJq1xpj
 zwde/brccjO0rhSKQ7t5t/c=
X-Google-Smtp-Source: ABdhPJxgTT6HkeZqMs9PsAX31JsCetuP+piS64fbXyvOATcU2zNllOxsMboDIiVuknXdLMSiHJ73XQ==
X-Received: by 2002:a17:90b:3004:: with SMTP id
 hg4mr8182561pjb.7.1599965590589; 
 Sat, 12 Sep 2020 19:53:10 -0700 (PDT)
Received: from garuda-lan ([2601:601:9d00:688::e6b])
 by smtp.gmail.com with ESMTPSA id q4sm6241268pfs.193.2020.09.12.19.53.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 12 Sep 2020 19:53:09 -0700 (PDT)
From: Chris Marusich <cmmarusich@HIDDEN>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
Date: Sat, 12 Sep 2020 19:53:04 -0700
In-Reply-To: <87y2p4mqe2.fsf@HIDDEN> (Chris Marusich's message of "Wed, 03
 Jun 2020 02:48:21 -0700")
Message-ID: <87a6xu2xrj.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hi everyone,

Chris Marusich <cmmarusich@HIDDEN> writes:

> If you examine the derivations and their inputs, you'll find that they
> depend upon each other in the following order:
>
> guix build --target=3Dpowerpc64-linux-gnu -d -e '(@ (gnu packages make-bo=
otstrap) %gcc-bootstrap-tarball)'
> /gnu/store/pygln3lr6qbxcps3kmn3w4bc0d0nlpd3-gcc-stripped-tarball-5.5.0.drv
>
> guix build --target=3Dpowerpc64-linux-gnu -d -e '(@@ (gnu packages make-b=
ootstrap) %gcc-stripped)'
> /gnu/store/kcv3ja1rfr93hw6ly51878zjhdwpgv7z-gcc-stripped-5.5.0.drv
>
> guix build --target=3Dpowerpc64-linux-gnu -d -e '(@@ (gnu packages make-b=
ootstrap) %gcc-static)'
> /gnu/store/m9hfwppla8lph0vxa15lfkp81s2bbjjs-gcc-static-5.5.0.drv
>
> In other words, gcc-static-5.5.0.drv is an input of
> gcc-stripped-5.5.0.drv, which is an input of
> gcc-stripped-tarball-5.5.0.drv.  Above, I've included example guix
> commands you can use to obtain each derivation.  Using "guix build
> --check", I confirmed that all three of these derivations build
> reproducibly on my machine.

After further experimentation, I've discovered that %gcc-static, when
built as shown above (without the -d option, of course), produces
different output on Debian than on Fedora.

Specifically, the %gcc-static output contains a file named libstdc++.a.
This file is an archive file.  Although its members are
content-identical in the case of Fedora and Debian, the order of the
members in the archive differs.  Because the exact same inputs were
used, it seems very likely that a difference in the Guix build
environment caused the %gcc-static build logic to order the members of
libstdc++.a differently.

I built %gcc-static using Guix commit
a02b2f8b86c0227eb69aa24b4373aef456365334.  Both Debian and Fedora were
x86_64-linux systems.  I took the following steps to make absolutely
certain that the exact same inputs were used on Debian and Fedora:

=2D I provisioned two fresh EC2 instances (Debian and Fedora).

=2D I installed Guix on Debian.

=2D I did "guix pull" on Debian to get to the aforementioned commit.

=2D I built %gcc-static on Debian as indicated above.

=2D I manually copied the Guix store and the Guix database from Debian to
  Fedora.

=2D I manually fixed up Fedora so it could run Guix (I created the guix
  users, added a systemd unit file, disabled selinux, etc.).

=2D I manually verified the Guix version and the store contents were
  identical on Fedora and Debian.

=2D I GC'd %gcc-static (and nothing else) on Fedora.

=2D I rebuilt %gcc-static on Fedora.

=2D I compared the Fedora %gcc-static output to the Debian %gcc-static
  output.

The %gcc-static package uses GCC 5.5.0 as its source.  I got a copy of
the GCC 5.5.0 source code, and I looked at it.  However, it's complex.
I can't pinpoint where they actually build the libstdc++.a file.  Can
anyone point me to the code that does this in the GCC 5.5.0 source?  I
expected to find the logic hiding in a makefile or a configure script or
something, but I haven't found it yet.

Since this is an old GCC, it is possible that this was a known
reproducibility bug which has since been fixed.  I haven't looked into
that possibility yet.  If that's the case, though, it would be nice
because we could simply backport a fix.

=2D-=20
Chris

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl9diZAACgkQ3UCaFdgi
Rp0WHxAAxQnPB0Dg4GfaXrtRxOwZsqVuNlg14Qpp46YzroCJ66MyK3x4ddekFIkj
p1pyyzLVF9RSvsPspf9oc0Go12JndQMOqpsAUE0rJLbVPbTlrNrkh9Jhhfar95IX
p+cSNQoeuab1+nOeUH17J2TMdoxsXiwzB/4IuQHQtNLe3DVNKmIYB0tgL/L/Xasc
WN0qHyNwkW/Lobs4jWNzukD3DiCv+zN0r1eDwsk02EOegW+m5yeyGMKbQUa7QCba
g5vGeSi92AiqEVkuj62/IObMFVQP1rlNUBN9a3Yn8UTxW//PF9fwkJRIpSqdmGx7
VYpRJ/e4L6NT2GE91X+RPz0Pz0J9viV/lsM8esALudxQRv2/1loh4T6mubM394Cw
yrhv2TxFmtlrBAEGJmIulCSOKGTJYy2bXbq2vR0sfbXZs3iKvPdY0FVyy3NShTz0
d3+Yk1T1dXw0tKQBmr04mpq+2SFvKTrHJB3FmVQa8/v+q+Q7ca10/X7NhcIgMG5H
Nq7ttes7zV/zlIvWRChCKUHyefQBzN00ZQeBWfsJykko4m6W5vquOVs0Log54TrJ
rgQIZAickNIQSMcG0fOVmzaj7iGf1smiaeB3bIW91Ub6FJ9NuoJuyLMFd6xmezVJ
gv3wpnd6Yh9kzORQV79C14iIDUvYIOPJn3qBm1DPe5RQdlu3wn4=
=OFt6
-----END PGP SIGNATURE-----
--=-=-=--




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Efraim Flashner <efraim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Sun, 13 Sep 2020 06:30:02 +0000
Resent-Message-ID: <handler.41669.B41669.15999785948101 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Chris Marusich <cmmarusich@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.15999785948101
          (code B ref 41669); Sun, 13 Sep 2020 06:30:02 +0000
Received: (at 41669) by debbugs.gnu.org; 13 Sep 2020 06:29:54 +0000
Received: from localhost ([127.0.0.1]:49373 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kHLWL-00026b-Ip
	for submit <at> debbugs.gnu.org; Sun, 13 Sep 2020 02:29:53 -0400
Received: from flashner.co.il ([178.62.234.194]:40960)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <efraim@HIDDEN>) id 1kHLWJ-00026M-Iz
 for 41669 <at> debbugs.gnu.org; Sun, 13 Sep 2020 02:29:52 -0400
Received: from localhost (unknown [31.210.181.177])
 by flashner.co.il (Postfix) with ESMTPSA id 4DBF24000B;
 Sun, 13 Sep 2020 06:29:44 +0000 (UTC)
Date: Sun, 13 Sep 2020 09:28:58 +0300
From: Efraim Flashner <efraim@HIDDEN>
Message-ID: <20200913062858.GC1100@E5400>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
 <87a6xu2xrj.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="Clx92ZfkiYIKRjnr"
Content-Disposition: inline
In-Reply-To: <87a6xu2xrj.fsf@HIDDEN>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--Clx92ZfkiYIKRjnr
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Sep 12, 2020 at 07:53:04PM -0700, Chris Marusich wrote:
> Hi everyone,
>=20
> Chris Marusich <cmmarusich@HIDDEN> writes:
>=20
> > If you examine the derivations and their inputs, you'll find that they
> > depend upon each other in the following order:
> >
> > guix build --target=3Dpowerpc64-linux-gnu -d -e '(@ (gnu packages make-=
bootstrap) %gcc-bootstrap-tarball)'
> > /gnu/store/pygln3lr6qbxcps3kmn3w4bc0d0nlpd3-gcc-stripped-tarball-5.5.0.=
drv
> >
> > guix build --target=3Dpowerpc64-linux-gnu -d -e '(@@ (gnu packages make=
-bootstrap) %gcc-stripped)'
> > /gnu/store/kcv3ja1rfr93hw6ly51878zjhdwpgv7z-gcc-stripped-5.5.0.drv
> >
> > guix build --target=3Dpowerpc64-linux-gnu -d -e '(@@ (gnu packages make=
-bootstrap) %gcc-static)'
> > /gnu/store/m9hfwppla8lph0vxa15lfkp81s2bbjjs-gcc-static-5.5.0.drv
> >
> > In other words, gcc-static-5.5.0.drv is an input of
> > gcc-stripped-5.5.0.drv, which is an input of
> > gcc-stripped-tarball-5.5.0.drv.  Above, I've included example guix
> > commands you can use to obtain each derivation.  Using "guix build
> > --check", I confirmed that all three of these derivations build
> > reproducibly on my machine.
>=20
> After further experimentation, I've discovered that %gcc-static, when
> built as shown above (without the -d option, of course), produces
> different output on Debian than on Fedora.
>=20
> Specifically, the %gcc-static output contains a file named libstdc++.a.
> This file is an archive file.  Although its members are
> content-identical in the case of Fedora and Debian, the order of the
> members in the archive differs.  Because the exact same inputs were
> used, it seems very likely that a difference in the Guix build
> environment caused the %gcc-static build logic to order the members of
> libstdc++.a differently.
>=20
> I built %gcc-static using Guix commit
> a02b2f8b86c0227eb69aa24b4373aef456365334.  Both Debian and Fedora were
> x86_64-linux systems.  I took the following steps to make absolutely
> certain that the exact same inputs were used on Debian and Fedora:
>=20
> - I provisioned two fresh EC2 instances (Debian and Fedora).
>=20
> - I installed Guix on Debian.
>=20
> - I did "guix pull" on Debian to get to the aforementioned commit.
>=20
> - I built %gcc-static on Debian as indicated above.
>=20
> - I manually copied the Guix store and the Guix database from Debian to
>   Fedora.
>=20
> - I manually fixed up Fedora so it could run Guix (I created the guix
>   users, added a systemd unit file, disabled selinux, etc.).
>=20
> - I manually verified the Guix version and the store contents were
>   identical on Fedora and Debian.
>=20
> - I GC'd %gcc-static (and nothing else) on Fedora.
>=20
> - I rebuilt %gcc-static on Fedora.
>=20
> - I compared the Fedora %gcc-static output to the Debian %gcc-static
>   output.
>=20
> The %gcc-static package uses GCC 5.5.0 as its source.  I got a copy of
> the GCC 5.5.0 source code, and I looked at it.  However, it's complex.
> I can't pinpoint where they actually build the libstdc++.a file.  Can
> anyone point me to the code that does this in the GCC 5.5.0 source?  I
> expected to find the logic hiding in a makefile or a configure script or
> something, but I haven't found it yet.
>=20
> Since this is an old GCC, it is possible that this was a known
> reproducibility bug which has since been fixed.  I haven't looked into
> that possibility yet.  If that's the case, though, it would be nice
> because we could simply backport a fix.
>=20
> --=20
> Chris

Is this a file we actually need during the bootstrap process? Can we
"work around it" by just deleting it?


--=20
Efraim Flashner   <efraim@HIDDEN>   =D7=90=D7=A4=D7=A8=D7=99=D7=9D =
=D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--Clx92ZfkiYIKRjnr
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl9dvCoACgkQQarn3Mo9
g1Ecbg//XfW6XzWsg5kVwdUW0cxO40TNaBumnuPBed5NGR92cCP1QibPEzbvpM2y
Vol26ZUjFatN5REkuWnn4JCuTy6S4BUmzhV5UGwupioEuq2LdMeWGT2rpgB/f9pI
E2RfT/PfAZSW2pEIASzVHzJyEL+fKX2LzByUWciIkmssYDRfbtYfpLNsgUGSxqLw
mRMecqUW52UalRx7vKdqQOwbuF235hmHRx6JTlnoauq7KkYgx1qLqzwbty4VhkDR
J3D8I40lVuEcaZ4rRdn4Ng33B3v6HR7VhMN+59f0amRc4D6c4HHfknxyvU8wXnI8
cT43E7k+ZlW9TsGyZXWiL1vxolcBnggPopJ6ZCIDhDllFpHVtCtrhTR0wDyqw3X8
TtpAXUFlqwI+ivPgzOrYs3cYqZp8VoHfp/COO5rEKOCdA4aWhh2XEpWPMBgUQ1oo
0EWJW7Fx+0RcOJd1Dd+QWDSWd9n4nUqp6NtTDtnU+LZGQvmS557v4q3ehBhvJJq+
ioGVpT1Z4HEHrwl0a6W9LQjKpj9k/KYD3nqhBoWaDAZKqYgikKlRR9vsgUwqszFr
BsGrS/MRt9qsCZtxz0jgE4vSz5yB4Jet/LhOBaDr+DANuGv6fEJ3aciC3217PgYe
yad0y9FRbHPuScohHrmk+b+SXKLxnZy68hDaUPXQDIb+H0kp6vU=
=qHSj
-----END PGP SIGNATURE-----

--Clx92ZfkiYIKRjnr--




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Chris Marusich <cmmarusich@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Sat, 26 Sep 2020 06:54:02 +0000
Resent-Message-ID: <handler.41669.B41669.160110318325550 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Efraim Flashner <efraim@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.160110318325550
          (code B ref 41669); Sat, 26 Sep 2020 06:54:02 +0000
Received: (at 41669) by debbugs.gnu.org; 26 Sep 2020 06:53:03 +0000
Received: from localhost ([127.0.0.1]:45685 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kM44s-0006e2-JN
	for submit <at> debbugs.gnu.org; Sat, 26 Sep 2020 02:53:03 -0400
Received: from mail-pf1-f195.google.com ([209.85.210.195]:39061)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cmmarusich@HIDDEN>) id 1kM44n-0006dU-Ib
 for 41669 <at> debbugs.gnu.org; Sat, 26 Sep 2020 02:53:01 -0400
Received: by mail-pf1-f195.google.com with SMTP id n14so5183893pff.6
 for <41669 <at> debbugs.gnu.org>; Fri, 25 Sep 2020 23:52:57 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=Czce+yfdkb7csCeUcygn9K//y8sGJkrMZg6xIKRRfkY=;
 b=n3KkbdSKRbZU5IRY0DRkyMxcDj2DCce4z3blb+XMhi/EXm7NsbyaW0BAc3gxOzy4WO
 Ar36ilpIhO/LbmthegcBMXljxCnV+v4d7roZUjezgqJjsUrCo18GOzGQUYkBZLhH1skK
 UAfXusXvPgV4skBzQK+lsn8w5Zqs02phaVa8RT3YzNq97Ako65BWg+Soza7p9zdZWBYW
 ijNGRqhBBCjY7vCGiB9fSPH91o/lw8mN2o1CcX3tEDllo9cqytNCEsphcuv+Z8fEKOg9
 FujnU0V4UceWrmA+U2TZtZ9JF4N9cd2Gs6bPPx6l18jHlwBesDGyl8GCwThkaj/kU26C
 pYaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=Czce+yfdkb7csCeUcygn9K//y8sGJkrMZg6xIKRRfkY=;
 b=PAgWZ1OJM+BSC5ClKjn5141M5Mq4WmCebrPfg9Kq5kjGs9mN2R3rT/yhL5E2qJ+Yg8
 poW2odrD+K4TS7NaG2OX070FOE7SshUwxr2GM67g6OABNA1z0VBXjB2Kex48lYT3Cpjf
 dwj9nOj43xdSzn7gJvZF0u3OZxegV4m7ujgxzgoAnKrqWDCDkcbFZHIlFBiWtZRM2hnl
 MOKJqU3yndBqQQX30BCtw7lCPpSj1nuLi7pt2wJMG/Ew8qsoDr63XOm/m32pkM+3AeCA
 jk4JE8Qd+M8z3u3GiWJqOLs5WBjwcYBf2aPaqUz9uCDNyokFh3mbqk+BG/RSLohp9UyU
 YX/A==
X-Gm-Message-State: AOAM530Oe6WCcwgGaVkY0c/GEkmVzyLfUWtMG3p4dSNfxCpK0H5Kel7f
 fyeJqK55YZVEUHVfDn+3vCc=
X-Google-Smtp-Source: ABdhPJyouk2r8EWzkSe8S0eYiDAL3IbGo6d1UFSHyoC4xO6bQI/3tj4cDiFv5CsHpVLg4zkKJSPd4g==
X-Received: by 2002:aa7:8a54:0:b029:142:2501:34f6 with SMTP id
 n20-20020aa78a540000b0290142250134f6mr2558574pfa.79.1601103171458; 
 Fri, 25 Sep 2020 23:52:51 -0700 (PDT)
Received: from garuda-lan ([2601:601:9d00:688::e6b])
 by smtp.gmail.com with ESMTPSA id u138sm4508538pfc.218.2020.09.25.23.52.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 25 Sep 2020 23:52:50 -0700 (PDT)
From: Chris Marusich <cmmarusich@HIDDEN>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
 <87a6xu2xrj.fsf@HIDDEN> <20200913062858.GC1100@E5400>
Date: Fri, 25 Sep 2020 23:52:48 -0700
In-Reply-To: <20200913062858.GC1100@E5400> (Efraim Flashner's message of "Sun, 
 13 Sep 2020 09:28:58 +0300")
Message-ID: <87wo0hqbb3.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="==-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--==-=-=
Content-Type: multipart/mixed; boundary="=-=-="

--=-=-=
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Hi everyone,

Efraim Flashner <efraim@HIDDEN> writes:

> Is this a file we actually need during the bootstrap process? Can we
> "work around it" by just deleting it?

That's a good idea.  I tried building %gcc-static with the
=2D-disable-libstdcxx configure flag (see attached patch), and that caused
the build of %gcc-static itself to become reproducible on Debian and
Fedora when using exactly the same inputs.  To clarify, I have recently
run the following experiments:

+------+-------------+---------------------+--------------+----------------=
+---------------+
| Case |    Build    |      libstdcxx      | substitutes? |     Inputs     =
|    Result     |
+------+-------------+---------------------+--------------+----------------=
+---------------+
|      |             |                     |              | Built fresh on =
|    Output     |
|  1   | %gcc-static |       enabled       |     yes      | Debian, copied =
|   differs:    |
|      |             |                     |              |   to Fedora    =
|  libstdc++.a  |
+------+-------------+---------------------+--------------+----------------=
+---------------+
|      |             |                     |              | Re-used inputs =
|  Toy binary   |
|  2   | toy program |         n/a         |     yes      |   from above   =
|   does not    |
|      |             |                     |              |                =
|    differ     |
+------+-------------+---------------------+--------------+----------------=
+---------------+
|      |             |                     |              | Built fresh on =
|  Output does  |
|  3   | %gcc-static |      disabled       |     yes      | Debian, copied =
|  not differ   |
|      |             |                     |              |   to Fedora    =
|               |
+------+-------------+---------------------+--------------+----------------=
+---------------+
|      |             |                     |              | Built fresh on =
|    Output     |
|  4   | %gcc-static |      disabled       |     yes      | Debian, fresh  =
|   differs:    |
|      |             |                     |              |   on Fedora    =
| various files |
+------+-------------+---------------------+--------------+----------------=
+---------------+
|      |             |                     |              | Inputs failed  =
| Build failed  |
|  5   | %gcc-static |      disabled       |      no      |  to build on   =
|    on both    |
|      |             |                     |              |  both systems  =
|    systems    |
+------+-------------+---------------------+--------------+----------------=
+---------------+

The "toy program" in case 2 was just this:

  #include <stdio.h>
  int main() {
    printf("Hello");
    return 0;
  }

When I say I "copied" the inputs from Debian to Fedora, I mean just
that.  I copied stuff like /gnu and /var/guix from Debian to Fedora
(while guix-daemon was stopped, of course), GC'd just %gcc-static on
Fedora, and then rebuilt %gcc-static on Fedora so it would use exactly
the same inputs as were used on Debian.

The most notable new findings are cases 3 and 4.  Case 5 made me pretty
sad because I spent almost an entire weekend trying to build Guix from
source using various binary Guix releases, and in none of the attempts
was I successful in running "guix pull" or even just "guix environment
=2D-pure guix" without substitutes, which really surprised me.

Case 3 confirms Efraim's suggestion: we can fix the libstdc++.a
reproducibility problem by simply not building libstdc++.a in the first
place. It also confirms that, when built with --disable-libstdcxx,
%gcc-static can be built reproducibly on different systems as long as
exactly the same inputs are used.  Whether or not %gcc-static can be
used to successfully bootstrap packages on powerpc64-linux when built in
this way remains to be seen.

Case 4, unfortunately, demonstrates that there are still other
reproducibility issues that we have not yet resolved.  Since the only
difference between cases 3 and 4 is how the inputs were realized, the
differing %gcc-static output must be caused by the inputs somehow.

In case 4, the %gcc-static output differed in the following files (the
hashes on the left are MD5 hashes):

=2D-8<---------------cut here---------------start------------->8---
=2D-- /dev/fd/63	2020-09-25 20:35:33.386554595 -0700
+++ /dev/fd/62	2020-09-25 20:35:33.387554604 -0700
@@ -1,28 +1,28 @@
=2Dc9b0dfcbad566c0b8b88df94bb993312  ./bin/c++
=2D092823145dc96b9eb81111362f7b4ced  ./bin/cpp
=2Dc9b0dfcbad566c0b8b88df94bb993312  ./bin/g++
=2De4cc43b7790dcd25f31419bad606b36e  ./bin/gcc
+8f02302b55643f1c711e472a42fea8bd  ./bin/c++
+9f1fd993e4f2b796fcc56f0b2f8a47d2  ./bin/cpp
+8f02302b55643f1c711e472a42fea8bd  ./bin/g++
+583d1b011a7ba009d7385117dd7a33c8  ./bin/gcc
 f9d94f4bb61f70d14ea4b2ce73c9be9d  ./bin/gcc-ar
 01fc2184f99c558771aa8f2fe30b373d  ./bin/gcc-nm
 da5356ee09ccda4ca06758d056370f7e  ./bin/gcc-ranlib
=2D98645f7b00ba185e713915099853fd37  ./bin/gcov
=2D37dd62589454703ae7f2eaac1668b66e  ./bin/gcov-dump
=2Df3dbc7e0c84a40194af3aa2429444e87  ./bin/gcov-tool
=2Dc9b0dfcbad566c0b8b88df94bb993312  ./bin/powerpc64-linux-gnu-c++
=2Dc9b0dfcbad566c0b8b88df94bb993312  ./bin/powerpc64-linux-gnu-g++
=2De4cc43b7790dcd25f31419bad606b36e  ./bin/powerpc64-linux-gnu-gcc
=2De4cc43b7790dcd25f31419bad606b36e  ./bin/powerpc64-linux-gnu-gcc-5.5.0
+a208bedbfca9c7bd6c27d0d42f7096fe  ./bin/gcov
+43330e8ae00976b4b3427d2f83b0725e  ./bin/gcov-dump
+9f37da5e96f147d733eb7195350ae5d2  ./bin/gcov-tool
+8f02302b55643f1c711e472a42fea8bd  ./bin/powerpc64-linux-gnu-c++
+8f02302b55643f1c711e472a42fea8bd  ./bin/powerpc64-linux-gnu-g++
+583d1b011a7ba009d7385117dd7a33c8  ./bin/powerpc64-linux-gnu-gcc
+583d1b011a7ba009d7385117dd7a33c8  ./bin/powerpc64-linux-gnu-gcc-5.5.0
 f9d94f4bb61f70d14ea4b2ce73c9be9d  ./bin/powerpc64-linux-gnu-gcc-ar
 01fc2184f99c558771aa8f2fe30b373d  ./bin/powerpc64-linux-gnu-gcc-nm
 da5356ee09ccda4ca06758d056370f7e  ./bin/powerpc64-linux-gnu-gcc-ranlib
=2D6ed530d13e65c3500b7e7b7cc863afdc  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/cc1
=2D24a83af179ca8849da8c64aa854ec8ed  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/cc1plus
=2D0c05b45bb926a06c2b09acdb1db9aad0  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/collect2
+22b72247a5706f090505341263ca1fc2  ./libexec/gcc/powerpc64-linux-gnu/5.5.0/=
cc1
+3be618d184038dd30011d6aa8198c0be  ./libexec/gcc/powerpc64-linux-gnu/5.5.0/=
cc1plus
+2f31e84c01cc087318d0c7f15b6e3f47  ./libexec/gcc/powerpc64-linux-gnu/5.5.0/=
collect2
 417a5b42a26275b2c912db16b9abf73a  ./libexec/gcc/powerpc64-linux-gnu/5.5.0/=
install-tools/fixincl
 fd6f80ec9089ddf51f9cac26299e45af  ./libexec/gcc/powerpc64-linux-gnu/5.5.0/=
install-tools/fixinc.sh
 a585abbd6a9cdc474564b54fc72e4efa  ./libexec/gcc/powerpc64-linux-gnu/5.5.0/=
install-tools/mkheaders
 5071acceb24c0c0e8a423286205ed54c  ./libexec/gcc/powerpc64-linux-gnu/5.5.0/=
install-tools/mkinstalldirs
=2D4e77b773ac45ce8f82a4d21a34063920  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/lto-wrapper
+5267311e0ed8bb5358e5556dfa205ca6  ./libexec/gcc/powerpc64-linux-gnu/5.5.0/=
lto-wrapper
 a90ab86f837913280f72beb5310714bc  ./lib/gcc/powerpc64-linux-gnu/5.5.0/crtb=
egin.o
 0b38aa831c40b6bc4fb22248746d60d8  ./lib/gcc/powerpc64-linux-gnu/5.5.0/crtb=
eginS.o
 8f62d8795bebd8e87caa3640522ff93b  ./lib/gcc/powerpc64-linux-gnu/5.5.0/crtb=
eginT.o
=2D-8<---------------cut here---------------end--------------->8---

These appear to be the same diffs that I reported before - with the
notable exception that libstdc++.a now is missing from the list of
differing files (hooray!).

Going forward, I'm not sure how best to investigate the inputs to find
out what's causing the differences.  I just know I really, really,
really don't want to rebuild everything multiple times, since it takes
hours/days.  If you have any creative ideas for how to speed up the
investigation, I'm all ears.

=2D-=20
Chris

--=-=-=
Content-Type: text/x-patch
Content-Disposition: attachment;
 filename=0001-gnu-Disable-libstdc-in-bootstrap-GCC.patch
Content-Transfer-Encoding: quoted-printable

From=20e3d1778a86dfd171d59d91eb01417faaf63dfa17 Mon Sep 17 00:00:00 2001
From: Chris Marusich <cmmarusich@HIDDEN>
Date: Sat, 19 Sep 2020 14:25:43 -0700
Subject: [PATCH] gnu: Disable libstdc++ in bootstrap GCC.

Fixes part of: <https://bugs.gnu.org/41669>.

* gnu/packages/make-bootstrap.scm (%gcc-static) [#:configure-flags]: Add
=2D-disable-libstdcxx to disable building the libstdc++-v3 directory.
=2D--
 gnu/packages/make-bootstrap.scm | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.=
scm
index b2d3e2a326..8632d63c21 100644
=2D-- a/gnu/packages/make-bootstrap.scm
+++ b/gnu/packages/make-bootstrap.scm
@@ -487,6 +487,10 @@ for `sh' in $PATH, and without nscd, and with static N=
SS modules."
                    ;; Make sure gcc-nm doesn't require liblto_plugin.so.
                    "--disable-lto"
=20
+                   ;; In this GCC version, libstdc++.a is not reproducible:
+                   ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D41669
+                   "--disable-libstdcxx"
+
                    "--disable-shared"
                    "--disable-plugin"
                    "--disable-libmudflap"
=2D-=20
2.26.2


--=-=-=--

--==-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl9u5UAACgkQ3UCaFdgi
Rp2DMQ/9GkMFoMU1/yUgSUlHgkGyFqK+SNKuURi3+f+90P2suKbfQ8qYJeTIM8KD
gDg4mmDztWvORu5otyIq8yrpSKlTTH3OgSyuxLf+EZOd9/rmA5vO9mEjAI6sQzvQ
mJXCk3Z6GVAnEiCqO7FKDapBRQVd9MIn8ObjXQbJrqGqeJg5CHxsMCVCtQz99m95
L56G2B0Ph3KbDfDqhb6AhYTyLhZ3oy+mrTzwc7aE9Ott6rWA9TJ7xH0sul6RL6gA
hwYJT6yIsvNuT+en94TYKtaPpMkEVJklNOUp34ERaggpU4eGBwszti351QjLCect
sz9O2DqU2cUlG2zCGS9x4cwmjNDFDoWvKg+VDtqmKO5C+1344qVgubcvHYjMruYf
Goaige9PmvGs9htG4cPVeKoR80Hy8l5cNyjteIGqQm9lavVP+WUYiL9TTC+jQEo4
jzkhlWxvfGLdnIT4SZbkOike/bQN4ckzwdg1d1MfLDmhOlFfnCM1rZ3qFdCwQBzn
szIqVWdaO+BUMoYin1OVhaUnTpSKSB3pDbsY6SwY8aHqcH7Kw6XRCeYHnHaP1MQn
hGowVLo0R58Fo5zghHlulqC/t/PmB4SJ3G/ZjbxTRexHNqvhq2MwQoGFH0gNP6Un
mW97TFHwvkejUCKMkytJNB+i26td9gXhU+zmbvy7JYOjTa9mlg4=
=5H4x
-----END PGP SIGNATURE-----
--==-=-=--




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Mon, 05 Oct 2020 12:34:01 +0000
Resent-Message-ID: <handler.41669.B41669.160190120010080 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Chris Marusich <cmmarusich@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Efraim Flashner <efraim@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.160190120010080
          (code B ref 41669); Mon, 05 Oct 2020 12:34:01 +0000
Received: (at 41669) by debbugs.gnu.org; 5 Oct 2020 12:33:20 +0000
Received: from localhost ([127.0.0.1]:48255 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kPPg7-0002cV-Nh
	for submit <at> debbugs.gnu.org; Mon, 05 Oct 2020 08:33:20 -0400
Received: from eggs.gnu.org ([209.51.188.92]:55912)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1kPPg5-0002cH-03
 for 41669 <at> debbugs.gnu.org; Mon, 05 Oct 2020 08:33:18 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e]:57795)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>)
 id 1kPPfy-0006Ta-Mv; Mon, 05 Oct 2020 08:33:10 -0400
Received: from [2001:660:6102:320:e120:2c8f:8909:cdfe] (port=35072 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1kPPft-0004OU-SJ; Mon, 05 Oct 2020 08:33:07 -0400
From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
 <87a6xu2xrj.fsf@HIDDEN> <20200913062858.GC1100@E5400>
 <87wo0hqbb3.fsf@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 14 =?UTF-8?Q?Vend=C3=A9miaire?= an 229 de la
 =?UTF-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Mon, 05 Oct 2020 14:33:04 +0200
In-Reply-To: <87wo0hqbb3.fsf@HIDDEN> (Chris Marusich's message of "Fri, 25
 Sep 2020 23:52:48 -0700")
Message-ID: <87pn5wzwcf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi Chris,

Chris Marusich <cmmarusich@HIDDEN> skribis:

> From e3d1778a86dfd171d59d91eb01417faaf63dfa17 Mon Sep 17 00:00:00 2001
> From: Chris Marusich <cmmarusich@HIDDEN>
> Date: Sat, 19 Sep 2020 14:25:43 -0700
> Subject: [PATCH] gnu: Disable libstdc++ in bootstrap GCC.
>
> Fixes part of: <https://bugs.gnu.org/41669>.
>
> * gnu/packages/make-bootstrap.scm (%gcc-static) [#:configure-flags]: Add
> --disable-libstdcxx to disable building the libstdc++-v3 directory.

[...]

> +                   ;; In this GCC version, libstdc++.a is not reproducib=
le:
> +                   ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D41=
669
> +                   "--disable-libstdcxx"

Does it have any effect with GCC > 4.7?  My understanding is that it
builds its libstdc++ no matter what.

Also, if it=E2=80=99s just libstdc++.a that=E2=80=99s problematic (ordering=
 issue in the
.a archive?), perhaps we can use --disable-shared?

My 2=C2=A2 (I didn=E2=80=99t follow the whole discussion),
Ludo=E2=80=99.




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Efraim Flashner <efraim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Mon, 05 Oct 2020 12:48:02 +0000
Resent-Message-ID: <handler.41669.B41669.160190207711482 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Chris Marusich <cmmarusich@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.160190207711482
          (code B ref 41669); Mon, 05 Oct 2020 12:48:02 +0000
Received: (at 41669) by debbugs.gnu.org; 5 Oct 2020 12:47:57 +0000
Received: from localhost ([127.0.0.1]:48289 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kPPuH-0002z7-4H
	for submit <at> debbugs.gnu.org; Mon, 05 Oct 2020 08:47:57 -0400
Received: from flashner.co.il ([178.62.234.194]:58896)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <efraim@HIDDEN>) id 1kPPuE-0002yt-Gh
 for 41669 <at> debbugs.gnu.org; Mon, 05 Oct 2020 08:47:55 -0400
Received: from localhost (unknown [31.210.181.177])
 by flashner.co.il (Postfix) with ESMTPSA id 55EB640216;
 Mon,  5 Oct 2020 12:47:45 +0000 (UTC)
Date: Mon, 5 Oct 2020 15:47:10 +0300
From: Efraim Flashner <efraim@HIDDEN>
Message-ID: <20201005124710.GA21174@E5400>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
 <87a6xu2xrj.fsf@HIDDEN> <20200913062858.GC1100@E5400>
 <87wo0hqbb3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="KsGdsel6WgEHnImy"
Content-Disposition: inline
In-Reply-To: <87wo0hqbb3.fsf@HIDDEN>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--KsGdsel6WgEHnImy
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Fri, Sep 25, 2020 at 11:52:48PM -0700, Chris Marusich wrote:
> Hi everyone,
>=20
> Efraim Flashner <efraim@HIDDEN> writes:
>=20
> > Is this a file we actually need during the bootstrap process? Can we
> > "work around it" by just deleting it?
>=20
> That's a good idea.  I tried building %gcc-static with the
> --disable-libstdcxx configure flag (see attached patch), and that caused
> the build of %gcc-static itself to become reproducible on Debian and
> Fedora when using exactly the same inputs.  To clarify, I have recently
> run the following experiments:
>=20
> +------+-------------+---------------------+--------------+--------------=
--+---------------+
> | Case |    Build    |      libstdcxx      | substitutes? |     Inputs   =
  |    Result     |
> +------+-------------+---------------------+--------------+--------------=
--+---------------+
> |      |             |                     |              | Built fresh o=
n |    Output     |
> |  1   | %gcc-static |       enabled       |     yes      | Debian, copie=
d |   differs:    |
> |      |             |                     |              |   to Fedora  =
  |  libstdc++.a  |
> +------+-------------+---------------------+--------------+--------------=
--+---------------+
> |      |             |                     |              | Re-used input=
s |  Toy binary   |
> |  2   | toy program |         n/a         |     yes      |   from above =
  |   does not    |
> |      |             |                     |              |              =
  |    differ     |
> +------+-------------+---------------------+--------------+--------------=
--+---------------+
> |      |             |                     |              | Built fresh o=
n |  Output does  |
> |  3   | %gcc-static |      disabled       |     yes      | Debian, copie=
d |  not differ   |
> |      |             |                     |              |   to Fedora  =
  |               |
> +------+-------------+---------------------+--------------+--------------=
--+---------------+
> |      |             |                     |              | Built fresh o=
n |    Output     |
> |  4   | %gcc-static |      disabled       |     yes      | Debian, fresh=
  |   differs:    |
> |      |             |                     |              |   on Fedora  =
  | various files |
> +------+-------------+---------------------+--------------+--------------=
--+---------------+
> |      |             |                     |              | Inputs failed=
  | Build failed  |
> |  5   | %gcc-static |      disabled       |      no      |  to build on =
  |    on both    |
> |      |             |                     |              |  both systems=
  |    systems    |
> +------+-------------+---------------------+--------------+--------------=
--+---------------+
>=20
> The "toy program" in case 2 was just this:
>=20
>   #include <stdio.h>
>   int main() {
>     printf("Hello");
>     return 0;
>   }
>=20
> When I say I "copied" the inputs from Debian to Fedora, I mean just
> that.  I copied stuff like /gnu and /var/guix from Debian to Fedora
> (while guix-daemon was stopped, of course), GC'd just %gcc-static on
> Fedora, and then rebuilt %gcc-static on Fedora so it would use exactly
> the same inputs as were used on Debian.
>=20
> The most notable new findings are cases 3 and 4.  Case 5 made me pretty
> sad because I spent almost an entire weekend trying to build Guix from
> source using various binary Guix releases, and in none of the attempts
> was I successful in running "guix pull" or even just "guix environment
> --pure guix" without substitutes, which really surprised me.
>=20
> Case 3 confirms Efraim's suggestion: we can fix the libstdc++.a
> reproducibility problem by simply not building libstdc++.a in the first
> place. It also confirms that, when built with --disable-libstdcxx,
> %gcc-static can be built reproducibly on different systems as long as
> exactly the same inputs are used.  Whether or not %gcc-static can be
> used to successfully bootstrap packages on powerpc64-linux when built in
> this way remains to be seen.
>=20
> Case 4, unfortunately, demonstrates that there are still other
> reproducibility issues that we have not yet resolved.  Since the only
> difference between cases 3 and 4 is how the inputs were realized, the
> differing %gcc-static output must be caused by the inputs somehow.
>=20
> In case 4, the %gcc-static output differed in the following files (the
> hashes on the left are MD5 hashes):
>=20
> --8<---------------cut here---------------start------------->8---
> --- /dev/fd/63	2020-09-25 20:35:33.386554595 -0700
> +++ /dev/fd/62	2020-09-25 20:35:33.387554604 -0700
> @@ -1,28 +1,28 @@
> -c9b0dfcbad566c0b8b88df94bb993312  ./bin/c++
> -092823145dc96b9eb81111362f7b4ced  ./bin/cpp
> -c9b0dfcbad566c0b8b88df94bb993312  ./bin/g++
> -e4cc43b7790dcd25f31419bad606b36e  ./bin/gcc
> +8f02302b55643f1c711e472a42fea8bd  ./bin/c++
> +9f1fd993e4f2b796fcc56f0b2f8a47d2  ./bin/cpp
> +8f02302b55643f1c711e472a42fea8bd  ./bin/g++
> +583d1b011a7ba009d7385117dd7a33c8  ./bin/gcc
>  f9d94f4bb61f70d14ea4b2ce73c9be9d  ./bin/gcc-ar
>  01fc2184f99c558771aa8f2fe30b373d  ./bin/gcc-nm
>  da5356ee09ccda4ca06758d056370f7e  ./bin/gcc-ranlib
> -98645f7b00ba185e713915099853fd37  ./bin/gcov
> -37dd62589454703ae7f2eaac1668b66e  ./bin/gcov-dump
> -f3dbc7e0c84a40194af3aa2429444e87  ./bin/gcov-tool
> -c9b0dfcbad566c0b8b88df94bb993312  ./bin/powerpc64-linux-gnu-c++
> -c9b0dfcbad566c0b8b88df94bb993312  ./bin/powerpc64-linux-gnu-g++
> -e4cc43b7790dcd25f31419bad606b36e  ./bin/powerpc64-linux-gnu-gcc
> -e4cc43b7790dcd25f31419bad606b36e  ./bin/powerpc64-linux-gnu-gcc-5.5.0
> +a208bedbfca9c7bd6c27d0d42f7096fe  ./bin/gcov
> +43330e8ae00976b4b3427d2f83b0725e  ./bin/gcov-dump
> +9f37da5e96f147d733eb7195350ae5d2  ./bin/gcov-tool
> +8f02302b55643f1c711e472a42fea8bd  ./bin/powerpc64-linux-gnu-c++
> +8f02302b55643f1c711e472a42fea8bd  ./bin/powerpc64-linux-gnu-g++
> +583d1b011a7ba009d7385117dd7a33c8  ./bin/powerpc64-linux-gnu-gcc
> +583d1b011a7ba009d7385117dd7a33c8  ./bin/powerpc64-linux-gnu-gcc-5.5.0
>  f9d94f4bb61f70d14ea4b2ce73c9be9d  ./bin/powerpc64-linux-gnu-gcc-ar
>  01fc2184f99c558771aa8f2fe30b373d  ./bin/powerpc64-linux-gnu-gcc-nm
>  da5356ee09ccda4ca06758d056370f7e  ./bin/powerpc64-linux-gnu-gcc-ranlib
> -6ed530d13e65c3500b7e7b7cc863afdc  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/cc1
> -24a83af179ca8849da8c64aa854ec8ed  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/cc1plus
> -0c05b45bb926a06c2b09acdb1db9aad0  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/collect2
> +22b72247a5706f090505341263ca1fc2  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/cc1
> +3be618d184038dd30011d6aa8198c0be  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/cc1plus
> +2f31e84c01cc087318d0c7f15b6e3f47  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/collect2
>  417a5b42a26275b2c912db16b9abf73a  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/install-tools/fixincl
>  fd6f80ec9089ddf51f9cac26299e45af  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/install-tools/fixinc.sh
>  a585abbd6a9cdc474564b54fc72e4efa  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/install-tools/mkheaders
>  5071acceb24c0c0e8a423286205ed54c  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/install-tools/mkinstalldirs
> -4e77b773ac45ce8f82a4d21a34063920  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/lto-wrapper
> +5267311e0ed8bb5358e5556dfa205ca6  ./libexec/gcc/powerpc64-linux-gnu/5.5.=
0/lto-wrapper
>  a90ab86f837913280f72beb5310714bc  ./lib/gcc/powerpc64-linux-gnu/5.5.0/cr=
tbegin.o
>  0b38aa831c40b6bc4fb22248746d60d8  ./lib/gcc/powerpc64-linux-gnu/5.5.0/cr=
tbeginS.o
>  8f62d8795bebd8e87caa3640522ff93b  ./lib/gcc/powerpc64-linux-gnu/5.5.0/cr=
tbeginT.o
> --8<---------------cut here---------------end--------------->8---
>=20
> These appear to be the same diffs that I reported before - with the
> notable exception that libstdc++.a now is missing from the list of
> differing files (hooray!).
>=20
> Going forward, I'm not sure how best to investigate the inputs to find
> out what's causing the differences.  I just know I really, really,
> really don't want to rebuild everything multiple times, since it takes
> hours/days.  If you have any creative ideas for how to speed up the
> investigation, I'm all ears.
>=20

Does diffoscope provide any useful clues as to what's going on? I don't
remember if gcc-5.5.0 was reproducible when I created the aarch64
bootstrap binaries.

> --=20
> Chris

> From e3d1778a86dfd171d59d91eb01417faaf63dfa17 Mon Sep 17 00:00:00 2001
> From: Chris Marusich <cmmarusich@HIDDEN>
> Date: Sat, 19 Sep 2020 14:25:43 -0700
> Subject: [PATCH] gnu: Disable libstdc++ in bootstrap GCC.
>=20
> Fixes part of: <https://bugs.gnu.org/41669>.
>=20
> * gnu/packages/make-bootstrap.scm (%gcc-static) [#:configure-flags]: Add
> --disable-libstdcxx to disable building the libstdc++-v3 directory.
> ---
>  gnu/packages/make-bootstrap.scm | 4 ++++
>  1 file changed, 4 insertions(+)
>=20
> diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstra=
p.scm
> index b2d3e2a326..8632d63c21 100644
> --- a/gnu/packages/make-bootstrap.scm
> +++ b/gnu/packages/make-bootstrap.scm
> @@ -487,6 +487,10 @@ for `sh' in $PATH, and without nscd, and with static=
 NSS modules."
>                     ;; Make sure gcc-nm doesn't require liblto_plugin.so.
>                     "--disable-lto"
> =20
> +                   ;; In this GCC version, libstdc++.a is not reproducib=
le:
> +                   ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D41=
669
> +                   "--disable-libstdcxx"
> +
>                     "--disable-shared"
>                     "--disable-plugin"
>                     "--disable-libmudflap"
> --=20
> 2.26.2
>=20




--=20
Efraim Flashner   <efraim@HIDDEN>   =D7=90=D7=A4=D7=A8=D7=99=D7=9D =
=D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--KsGdsel6WgEHnImy
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl97Fc4ACgkQQarn3Mo9
g1HKChAAnk7rWppLToPQdIgAyKKvKdoVN9iJBetlXuNqumDKsZJOv5ge2vNxCdz5
Yn3IiCB6VpwL/u2gjpimgwAdjI4LwO/pB2i86S8DVdQ+M+IgQ6mIEpuO6GCVy0K0
QB+GAzvU/0otmV/XMOB9yosLvPkdA1394pEzkLfuPjCzepe0NxznP8nIAoipeYK0
q0iDT2DWWrZX8jdV8JZEwVHKF1k5KjgNQNyuc3ubyK8CTIqxWJu+wLqZjgBxiF0z
dPBDH5eJmgkyqhkiQotlWN/5cqeNuS64gybf7j15NAK+v8yDfYtDZObyIKUCI75o
cSiiOIv/lIHo9Mk893aZ6OL6oCrC5u4loqbyjiiYJdT5n8QPSX5gkaq+os13XqW0
Dw4IHm7e4SrnakqTuHjaFu9IAyj/h5PJZMC5r7EvpD7Qqk/XeSFATskJDyto7EYI
H16iHM+YgUycFc9aWnzeWGPYvNJLYhEH3qqGUiOOXZXyv0e2XwdiVpWpJ9RZO8r9
wUd+OS5hPFmmtcPvaJuFSNBhTtts3RWcSKVf5VdBM/+cfHIQMe6RWlNsl94BQxX+
cjW25lz8e6j5dwH4fv1mz7x38jzZaTkUsMglMtSf7dZBhyFMSBplAhFlv+zXElpv
lr0dO2AiD4tddZSsemCemSaP3ZltzyNiGxOGVJI2YPEPLbEscu0=
=zIrx
-----END PGP SIGNATURE-----

--KsGdsel6WgEHnImy--




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Chris Marusich <cmmarusich@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Sun, 13 Dec 2020 23:38:01 +0000
Resent-Message-ID: <handler.41669.B41669.160790263224011 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Efraim Flashner <efraim@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.160790263224011
          (code B ref 41669); Sun, 13 Dec 2020 23:38:01 +0000
Received: (at 41669) by debbugs.gnu.org; 13 Dec 2020 23:37:12 +0000
Received: from localhost ([127.0.0.1]:50722 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1koavP-0006FD-Kk
	for submit <at> debbugs.gnu.org; Sun, 13 Dec 2020 18:37:12 -0500
Received: from mail-pj1-f47.google.com ([209.85.216.47]:35591)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <cmmarusich@HIDDEN>) id 1koavN-0006Ez-Tv
 for 41669 <at> debbugs.gnu.org; Sun, 13 Dec 2020 18:37:10 -0500
Received: by mail-pj1-f47.google.com with SMTP id b5so5527119pjl.0
 for <41669 <at> debbugs.gnu.org>; Sun, 13 Dec 2020 15:37:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:to:cc:subject:references:date:in-reply-to:message-id
 :user-agent:mime-version;
 bh=cZZl9As+oUobuS6gtFW0qWSzjVJT1cbtpzhX6/HUEc0=;
 b=d+M3ccVt3pdnvoPMCTvAk65N0iU33GPuLktNAx5qFJXYLIBBNe/IigNGeDt+BKXY0I
 EX3bDHtWxJKMocC2VBpGYP3RWEEnt/BxUs8+pFC22g2Y0qKLgokVV9yR7PNCB2HzBe9f
 tvXu4X9hjLATlgoaTLXOxEOsDm1oLI2+6meHspvlTsisGfxuUW+veNsbkLOfRmhK3dB+
 s+CkaLLMxZRfvIBFBu622awfbNS4aX2epieXnx+RyIi9xOPXza5JEbR4RJ7R/HgM2KDu
 aGxpjVegGTGAZgzsDQX65Hbr761VMXTG6wX0F9cQZs1WmojEgABopYe9RsxuVw2Mnn4R
 pD8A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:to:cc:subject:references:date:in-reply-to
 :message-id:user-agent:mime-version;
 bh=cZZl9As+oUobuS6gtFW0qWSzjVJT1cbtpzhX6/HUEc0=;
 b=ZZDLlyzAwZTLi/+GyYif8J6T8M4F2yWXCnH2YilgwBsNsdbUsJpN2f6z0zYH+G82+I
 CWW/Nv+de+IGBBloaS2R3fZaMBeP9c6PUjVD8EtvzWQobt0v1EI676ffXlyXtNzp+K1U
 QBYs/xpEuOfD7ZVlSxCcppT/XnvePIhiEiBB6cxq4rlTO0ix5up08CX3737Gjo0p+PbJ
 u70++0dk3juNEyT5AUgfJjMsvFjSnmD4h3cdsRtUkuw8lRQsGdGa8MeCwNQghVL88Zar
 4Gz8AP+3BQHbB0ii0eNlCHHl/54MhClFPq7A0W8he2DV5GA6wh8423B7eaFEq6abK0D3
 5f2g==
X-Gm-Message-State: AOAM531+AN7hKgyfZt4v5fJFG3EHl6NpdmO5I0y6+faSiZsmSvT6raGO
 QSevDyd2diqwBoisGJtFlA0=
X-Google-Smtp-Source: ABdhPJyea/hHAjBs13+5IJpbR3Bc2f7ONfzSGlBTdLaKMhOc2Y2WCcnPKFukyVeySRegp4qpTo+tpw==
X-Received: by 2002:a17:902:9681:b029:db:fd65:d10e with SMTP id
 n1-20020a1709029681b02900dbfd65d10emr2462177plp.6.1607902623937; 
 Sun, 13 Dec 2020 15:37:03 -0800 (PST)
Received: from garuda-lan ([2601:601:9d00:688::e6b])
 by smtp.gmail.com with ESMTPSA id c10sm17235286pfo.159.2020.12.13.15.37.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 13 Dec 2020 15:37:02 -0800 (PST)
From: Chris Marusich <cmmarusich@HIDDEN>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
 <87a6xu2xrj.fsf@HIDDEN> <20200913062858.GC1100@E5400>
 <87wo0hqbb3.fsf@HIDDEN> <874krtnvk8.fsf@HIDDEN>
 <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN>
Date: Sun, 13 Dec 2020 15:36:58 -0800
In-Reply-To: <87pn5wzwcf.fsf@HIDDEN> ("Ludovic
 \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\=
 \=\?utf-8\?Q\?s\?\= message of "Mon, 05
 Oct 2020 14:33:04 +0200, Mon, 5 Oct 2020 15:47:10 +0300")
Message-ID: <87pn3dth0l.fsf_-_@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux)
MIME-Version: 1.0
Content-Type: multipart/signed; boundary="=-=-=";
 micalg=pgp-sha256; protocol="application/pgp-signature"
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Hi,

I tried to do some experiments to see if this problem happens with the
current GCC (version 10).

I built GCC 10 (not cross-compiling) on an x86_64 system using Guix with
substitutes on Debian.  (I tried without substitutes, too, but some of
the dependencies failed to be built for unrelated reasons.)  I then
manually copied the /gnu/store and related files (except for the GCC 10
output paths) from Debian onto a Fedora machine, and I rebuilt GCC 10
there using Guix (again, not cross-compiling).  The output on Fedora was
identical to that of Debian.  Of course, the configuration Guix uses to
build GCC 10 is a bit different from the one used to (cross-)build the
powerpc64-linux bootstrap GCC, but it's still an interesting data point.
In particular, GCC 10's libstdc++.a was identical on Debian and Fedora,
so I suppose maybe they've fixed that issue in the more recent versions.

I also tried to use Guix (the current version, from master branch - I
ran guix pull today) to cross-build gcc-10 for the powerpc64-linux-gnu
target on both Debian and Fedora x86_64 systems, starting from scratch
with substitutes enabled:

guix build --target=3Dpowerpc64-linux-gnu -e '(@ (gnu packages gcc) gcc-10)'

On both Debian and Fedora, the build of gcc-10.2.0.drv failed with the
following error:

checking for -fPIC -shared... yes
configure: error:=20
   Building GCC with plugin support requires a host that supports
   -fPIC, -shared, -ldl and -rdynamic.

This basically just means that we can't cross-build gcc-10 for
powerpc64-linux-gnu out of the box on x86_64 with current Guix.  I was
hoping that the builds would succeed, and I would be able to find out if
cross-building gcc-10 in this way would create non-reproducible
artifacts.  I was hoping maybe I could ask for help from the GCC
community if that were the case.  But since it doesn't even build, the
results of that experiment were not very useful.

It's been almost half a year now, and we're not really any closer to
figuring out why the cross-built GCC bootstrap binary is
non-reproducible.  It seems counter-productive to obsess about making
this specific binary reproducible, although I wish it could be so.

What do you think about using the bootstrap binaries we built half a
year ago, and proceed with bootstrapping efforts?  To be totally honest,
I'm feeling pretty exhausted by this bug, since I have spent so many
days trying to unravel it, and I haven't made any significant progress.
With no clear end in sight, I would really prefer to move on instead of
blocking the entire bootstrapping effort on this reproducibility bug.
The reproducibility of the bootstrap binaries is important, but simply
having any bootstrap binaries at all is also important.  I think I have
done my due diligence to try making them reproducible.  Most of them
are, but I just can't figure out why GCC isn't.  I think it would be
best to proceed with the binaries we have.

Ludovic Court=C3=A8s <ludo@HIDDEN> writes:

> Hi Chris,
>
> Chris Marusich <cmmarusich@HIDDEN> skribis:
>
>> From e3d1778a86dfd171d59d91eb01417faaf63dfa17 Mon Sep 17 00:00:00 2001
>> From: Chris Marusich <cmmarusich@HIDDEN>
>> Date: Sat, 19 Sep 2020 14:25:43 -0700
>> Subject: [PATCH] gnu: Disable libstdc++ in bootstrap GCC.
>>
>> Fixes part of: <https://bugs.gnu.org/41669>.
>>
>> * gnu/packages/make-bootstrap.scm (%gcc-static) [#:configure-flags]: Add
>> --disable-libstdcxx to disable building the libstdc++-v3 directory.
>
> [...]
>
>> +                   ;; In this GCC version, libstdc++.a is not reproduci=
ble:
>> +                   ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D4=
1669
>> +                   "--disable-libstdcxx"
>
> Does it have any effect with GCC > 4.7?  My understanding is that it
> builds its libstdc++ no matter what.
>
> Also, if it=E2=80=99s just libstdc++.a that=E2=80=99s problematic (orderi=
ng issue in the
> .a archive?), perhaps we can use --disable-shared?
>
> My 2=C2=A2 (I didn=E2=80=99t follow the whole discussion),
> Ludo=E2=80=99.

Actually, --disable-shared is already present in the configure options.
My understanding is that libstdc++.a is a statically linked library
(perhaps I am mistaken...?), so I don't see why the presence or absence
of --disable-shared would affect it.  I thought that option was just
supposed to control whether or not to build shared libraries.

Efraim Flashner <efraim@HIDDEN> writes:

> On Fri, Sep 25, 2020 at 11:52:48PM -0700, Chris Marusich wrote:
>> Hi everyone,
>>=20
>> Efraim Flashner <efraim@HIDDEN> writes:
>>=20
>> > Is this a file we actually need during the bootstrap process? Can we
>> > "work around it" by just deleting it?

I've spent all of my spare Guix time trying to debug this
reproducibility issue first, and half a year has passed without progress
as a result.  I think we should use the bootstrap binaries we built half
a year ago, and move on with life.

At this point, it might even make more sense to try bootstrapping for
powerpc64le instead of powerpc64, since the rest of the world seems to
be gravitating toward the little-endian variant on POWER9 hardware, and
thus various programs out there are more likely to be better tested on
powerpc64le than powerpc64.

In any case, I don't think we should wait any longer.

=2D-=20
Chris

--=-=-=
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEy/WXVcvn5+/vGD+x3UCaFdgiRp0FAl/WpZsACgkQ3UCaFdgi
Rp0gVhAAjuI5BRuZXxOJ27NV8ss5267kHg/PYGoiq+zU25h9baMLOce8nQhHptlc
IzMSD295le/3RofgCfXBVDIcorwmeVzFEKfCriaTYyM+yC0sbeMWyjGf30HzMKgY
Gpy39xY/4CB2GZznsF2bxBv6RRKmNdOeagg2ns7AgFpo8fzuA4gv/+YxNi2C/ZcK
hfdfjWmNQztAl10e0At4Kg3bSwL7S/w0cPLR3B3FfKh9lc14UNri2XlnBIFn1TDX
BWQKmPL8XqlZgYpG1nlNuL1XnUptTgieoC1Waxslu4bJgFMmBTCPSqvqlM6mD8tR
EPMOTKJtAjOOe8iDjYpz6PlfQgewJ7Mwp3wK5nPNmr+ynEn457YO3ws/J9hCWeAX
vGER2mJlf1cH06hs6mIwT7yP+NyZIGSMVwbFfU1/4lqk6oZ7ASXIPLRjhLb1hDto
a6/rCvrjAi8Lu2Hk+0RvqRf5fsmMOp5sUWtbpDqIQbOKMROGtg5x4/Kc3esg/RO5
OddvzIeOSYw6SMWFfi8Ql98Cbdw1hkJ6ALP9GG90lEq38zgboItVncVLRFV8p689
JQqTIYBgdIOdLSXit3WodLtEyHZ86ZorxXDFKDZ9iUPujOLDBicss+x3CoD50HU0
X5CH6e5+5lh2cg2IZLFP9et6xzjLetkiEITbASYoJ+ngCMxOQ3Q=
=2Fs0
-----END PGP SIGNATURE-----
--=-=-=--




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Efraim Flashner <efraim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Mon, 14 Dec 2020 08:18:02 +0000
Resent-Message-ID: <handler.41669.B41669.16079338587784 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Chris Marusich <cmmarusich@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.16079338587784
          (code B ref 41669); Mon, 14 Dec 2020 08:18:02 +0000
Received: (at 41669) by debbugs.gnu.org; 14 Dec 2020 08:17:38 +0000
Received: from localhost ([127.0.0.1]:50963 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1koj33-00021S-Gt
	for submit <at> debbugs.gnu.org; Mon, 14 Dec 2020 03:17:38 -0500
Received: from flashner.co.il ([178.62.234.194]:51978)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <efraim@HIDDEN>) id 1koj31-00021D-Ju
 for 41669 <at> debbugs.gnu.org; Mon, 14 Dec 2020 03:17:36 -0500
Received: from localhost (unknown [5.102.238.249])
 by flashner.co.il (Postfix) with ESMTPSA id 5B60F400E4;
 Mon, 14 Dec 2020 08:17:29 +0000 (UTC)
Date: Mon, 14 Dec 2020 10:17:21 +0200
From: Efraim Flashner <efraim@HIDDEN>
Message-ID: <X9cfkfqlZZ7/5y8Y@E5400>
References: <87a6xu2xrj.fsf@HIDDEN> <20200913062858.GC1100@E5400>
 <87wo0hqbb3.fsf@HIDDEN> <874krtnvk8.fsf@HIDDEN>
 <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN> <87pn3dth0l.fsf_-_@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="JRM4f1yYltQp8k+u"
Content-Disposition: inline
In-Reply-To: <87pn3dth0l.fsf_-_@HIDDEN>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--JRM4f1yYltQp8k+u
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sun, Dec 13, 2020 at 03:36:58PM -0800, Chris Marusich wrote:
> Hi,
>=20
> I tried to do some experiments to see if this problem happens with the
> current GCC (version 10).
>=20
> I built GCC 10 (not cross-compiling) on an x86_64 system using Guix with
> substitutes on Debian.  (I tried without substitutes, too, but some of
> the dependencies failed to be built for unrelated reasons.)  I then
> manually copied the /gnu/store and related files (except for the GCC 10
> output paths) from Debian onto a Fedora machine, and I rebuilt GCC 10
> there using Guix (again, not cross-compiling).  The output on Fedora was
> identical to that of Debian.  Of course, the configuration Guix uses to
> build GCC 10 is a bit different from the one used to (cross-)build the
> powerpc64-linux bootstrap GCC, but it's still an interesting data point.
> In particular, GCC 10's libstdc++.a was identical on Debian and Fedora,
> so I suppose maybe they've fixed that issue in the more recent versions.
>=20
> I also tried to use Guix (the current version, from master branch - I
> ran guix pull today) to cross-build gcc-10 for the powerpc64-linux-gnu
> target on both Debian and Fedora x86_64 systems, starting from scratch
> with substitutes enabled:
>=20
> guix build --target=3Dpowerpc64-linux-gnu -e '(@ (gnu packages gcc) gcc-1=
0)'
>=20
> On both Debian and Fedora, the build of gcc-10.2.0.drv failed with the
> following error:
>=20
> checking for -fPIC -shared... yes
> configure: error:=20
>    Building GCC with plugin support requires a host that supports
>    -fPIC, -shared, -ldl and -rdynamic.
>=20
> This basically just means that we can't cross-build gcc-10 for
> powerpc64-linux-gnu out of the box on x86_64 with current Guix.  I was
> hoping that the builds would succeed, and I would be able to find out if
> cross-building gcc-10 in this way would create non-reproducible
> artifacts.  I was hoping maybe I could ask for help from the GCC
> community if that were the case.  But since it doesn't even build, the
> results of that experiment were not very useful.
>=20
> It's been almost half a year now, and we're not really any closer to
> figuring out why the cross-built GCC bootstrap binary is
> non-reproducible.  It seems counter-productive to obsess about making
> this specific binary reproducible, although I wish it could be so.
>=20
> What do you think about using the bootstrap binaries we built half a
> year ago, and proceed with bootstrapping efforts?  To be totally honest,
> I'm feeling pretty exhausted by this bug, since I have spent so many
> days trying to unravel it, and I haven't made any significant progress.
> With no clear end in sight, I would really prefer to move on instead of
> blocking the entire bootstrapping effort on this reproducibility bug.
> The reproducibility of the bootstrap binaries is important, but simply
> having any bootstrap binaries at all is also important.  I think I have
> done my due diligence to try making them reproducible.  Most of them
> are, but I just can't figure out why GCC isn't.  I think it would be
> best to proceed with the binaries we have.
>=20
> Ludovic Court=C3=A8s <ludo@HIDDEN> writes:
>=20
> > Hi Chris,
> >
> > Chris Marusich <cmmarusich@HIDDEN> skribis:
> >
> >> From e3d1778a86dfd171d59d91eb01417faaf63dfa17 Mon Sep 17 00:00:00 2001
> >> From: Chris Marusich <cmmarusich@HIDDEN>
> >> Date: Sat, 19 Sep 2020 14:25:43 -0700
> >> Subject: [PATCH] gnu: Disable libstdc++ in bootstrap GCC.
> >>
> >> Fixes part of: <https://bugs.gnu.org/41669>.
> >>
> >> * gnu/packages/make-bootstrap.scm (%gcc-static) [#:configure-flags]: A=
dd
> >> --disable-libstdcxx to disable building the libstdc++-v3 directory.
> >
> > [...]
> >
> >> +                   ;; In this GCC version, libstdc++.a is not reprodu=
cible:
> >> +                   ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=
=3D41669
> >> +                   "--disable-libstdcxx"
> >
> > Does it have any effect with GCC > 4.7?  My understanding is that it
> > builds its libstdc++ no matter what.
> >
> > Also, if it=E2=80=99s just libstdc++.a that=E2=80=99s problematic (orde=
ring issue in the
> > .a archive?), perhaps we can use --disable-shared?
> >
> > My 2=C2=A2 (I didn=E2=80=99t follow the whole discussion),
> > Ludo=E2=80=99.
>=20
> Actually, --disable-shared is already present in the configure options.
> My understanding is that libstdc++.a is a statically linked library
> (perhaps I am mistaken...?), so I don't see why the presence or absence
> of --disable-shared would affect it.  I thought that option was just
> supposed to control whether or not to build shared libraries.
>=20
> Efraim Flashner <efraim@HIDDEN> writes:
>=20
> > On Fri, Sep 25, 2020 at 11:52:48PM -0700, Chris Marusich wrote:
> >> Hi everyone,
> >>=20
> >> Efraim Flashner <efraim@HIDDEN> writes:
> >>=20
> >> > Is this a file we actually need during the bootstrap process? Can we
> >> > "work around it" by just deleting it?
>=20
> I've spent all of my spare Guix time trying to debug this
> reproducibility issue first, and half a year has passed without progress
> as a result.  I think we should use the bootstrap binaries we built half
> a year ago, and move on with life.
>=20
> At this point, it might even make more sense to try bootstrapping for
> powerpc64le instead of powerpc64, since the rest of the world seems to
> be gravitating toward the little-endian variant on POWER9 hardware, and
> thus various programs out there are more likely to be better tested on
> powerpc64le than powerpc64.
>=20
> In any case, I don't think we should wait any longer.

As far as powerpc64 vs powerpc64le, I'll let those with the hardware
have more of a say, they'll be the ones using it. As far as the
bootstrap binaries go, I don't remember having this much pushback with
my binaries for aarch64 (just a request to rebuild with guile-2.0.14
since it was reproducible), and I'm not sure how much Janneke had with
the Hurd binaries but I don't think it was this much. The ultimate goal
anyway is to replace them with artisanally crafted mes binaries, and I
understand we want to have them as reproducible as possible, but I don't
think it's fair to keep this architecture out when we've let other ones
in with similar reproducible problems.


--=20
Efraim Flashner   <efraim@HIDDEN>   =D7=90=D7=A4=D7=A8=D7=99=D7=9D =
=D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--JRM4f1yYltQp8k+u
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl/XH40ACgkQQarn3Mo9
g1F2OQ/+IhXOhx+T/vTIGuINNrtMsoKqdHdGDlzxZOpaLVp7mp/vb/O8S5EPsHD+
yryb8CuSo5FktYZ/qbRHLIO9TgKKzZe08nklB1ZZQTP1ZUFwwrHvBIbntWk1JQUm
s8/slZwZyZBOp/NjjM5+7ypBiW7ml2pA1vLVHvyrWoDCc2n5r1p1T0t2rwwUSbRO
zAzTzArMVHyWWeugzbB8MsjMLzSJquyZsyznB4yY31s+e8Kv6+pL+W+3u80bcfp0
h9BWS2fqvtck1vjVQu6T1KNyqbgGJicjqwpt+y6vJpIhxR7Lltg346saJxqmzOHy
zTKHFZJBkmKF9N3PSGlif2DHyuK/QtXT1GxMcCgvoThrzt+mx9JNm6MP8eVWGu5f
Typ/3ncskStf+ybf2n+vmV4FDMDwT9KhB+N3W1zo54jSC9hZ3LWHXfK11jnzhhyb
L50SbyokTVwqhGZOrtvgh3el9Zgzg0+scJikjvHYIoJppX8m3M+QX6vCwhXFqpFa
+UuZobypZwr2G+AGZk4EiUWUEDSdfXaFtnmOfXHMXj9D0Uyl/i4+DXDKNOMnburk
XD6HlRv5C+Ncb/c5AuOjZXtjt1vL2+929+Jt1T+4DIEqMQxBJe8RQdsRtGOTOWLT
Twn0lmkK/miuls1sMKmYqzkHmshvn8gG1ynvQr6TuCYkFR/lk2w=
=6SXH
-----END PGP SIGNATURE-----

--JRM4f1yYltQp8k+u--




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Mon, 14 Dec 2020 08:37:02 +0000
Resent-Message-ID: <handler.41669.B41669.16079349799581 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Chris Marusich <cmmarusich@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, =?UTF-8?Q?L=C3=A9o?= Le Bouter <lle-bout@HIDDEN>, Efraim Flashner <efraim@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.16079349799581
          (code B ref 41669); Mon, 14 Dec 2020 08:37:02 +0000
Received: (at 41669) by debbugs.gnu.org; 14 Dec 2020 08:36:19 +0000
Received: from localhost ([127.0.0.1]:50989 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kojL9-0002UT-HC
	for submit <at> debbugs.gnu.org; Mon, 14 Dec 2020 03:36:19 -0500
Received: from eggs.gnu.org ([209.51.188.92]:52182)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1kojL8-0002UG-27
 for 41669 <at> debbugs.gnu.org; Mon, 14 Dec 2020 03:36:18 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:48580)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>)
 id 1kojL2-0003xS-3l; Mon, 14 Dec 2020 03:36:12 -0500
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=38080 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1kojL1-0004GU-7H; Mon, 14 Dec 2020 03:36:11 -0500
From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
 <87a6xu2xrj.fsf@HIDDEN> <20200913062858.GC1100@E5400>
 <87wo0hqbb3.fsf@HIDDEN> <874krtnvk8.fsf@HIDDEN>
 <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN> <87pn3dth0l.fsf_-_@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 24 Frimaire an 229 de la =?UTF-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Mon, 14 Dec 2020 09:36:09 +0100
In-Reply-To: <87pn3dth0l.fsf_-_@HIDDEN> (Chris Marusich's message of "Sun, 
 13 Dec 2020 15:36:58 -0800")
Message-ID: <874kkoyebq.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi Chris,

Chris Marusich <cmmarusich@HIDDEN> skribis:

> It's been almost half a year now, and we're not really any closer to
> figuring out why the cross-built GCC bootstrap binary is
> non-reproducible.  It seems counter-productive to obsess about making
> this specific binary reproducible, although I wish it could be so.
>
> What do you think about using the bootstrap binaries we built half a
> year ago, and proceed with bootstrapping efforts?  To be totally honest,
> I'm feeling pretty exhausted by this bug, since I have spent so many
> days trying to unravel it, and I haven't made any significant progress.
> With no clear end in sight, I would really prefer to move on instead of
> blocking the entire bootstrapping effort on this reproducibility bug.
> The reproducibility of the bootstrap binaries is important, but simply
> having any bootstrap binaries at all is also important.  I think I have
> done my due diligence to try making them reproducible.  Most of them
> are, but I just can't figure out why GCC isn't.  I think it would be
> best to proceed with the binaries we have.

I didn=E2=80=99t follow the whole discussion nor did I try to investigate
myself, but thanks a lot for going to great lengths trying to identify
the issue; this is an impressive amount of work, and I can only share
your disappointment.

Given this effort, I agree that it may be best at this point to move on
and start with these non-reproducible binaries.  At least, the problem
is now documented.

> At this point, it might even make more sense to try bootstrapping for
> powerpc64le instead of powerpc64, since the rest of the world seems to
> be gravitating toward the little-endian variant on POWER9 hardware, and
> thus various programs out there are more likely to be better tested on
> powerpc64le than powerpc64.

Yes, my understanding is that other people, in particular Tobias Platen
and dftxbs3e, were looking at powerpc64le, so perhaps it=E2=80=99s a good i=
dea
to concentrate on that one?

Anyhow, please let me know if/when bootstrap binaries should be uploaded
to ftp.gnu.org (with a signed message).  When updating bootstrap.scm to
refer to them, please include the commit ID used to build them in the
commit message.

Thanks,
Ludo=E2=80=99.




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Leo Le Bouter <lle-bout@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Mon, 14 Dec 2020 09:24:02 +0000
Resent-Message-ID: <handler.41669.B41669.160793781022242 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Chris Marusich <cmmarusich@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, Efraim Flashner <efraim@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.160793781022242
          (code B ref 41669); Mon, 14 Dec 2020 09:24:02 +0000
Received: (at 41669) by debbugs.gnu.org; 14 Dec 2020 09:23:30 +0000
Received: from localhost ([127.0.0.1]:51104 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kok4n-0005mg-MP
	for submit <at> debbugs.gnu.org; Mon, 14 Dec 2020 04:23:29 -0500
Received: from mail.zaclys.net ([178.33.93.72]:36055)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <lle-bout@HIDDEN>) id 1kok4l-0005mP-Jq
 for 41669 <at> debbugs.gnu.org; Mon, 14 Dec 2020 04:23:28 -0500
Received: from [192.168.0.27] (82-64-145-38.subs.proxad.net [82.64.145.38])
 (authenticated bits=0)
 by mail.zaclys.net (8.14.7/8.14.7) with ESMTP id 0BE9MhLR057713
 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Mon, 14 Dec 2020 10:23:20 +0100
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.zaclys.net 0BE9MhLR057713
Authentication-Results: mail.zaclys.net;
 dmarc=fail (p=reject dis=none) header.from=zaclys.net
Authentication-Results: mail.zaclys.net;
 spf=fail smtp.mailfrom=lle-bout@HIDDEN
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zaclys.net;
 s=default; t=1607937800;
 bh=k7TSL3lWXk4YqfDmOOXDrMTjAoLcSSniUf1SjArlDUo=;
 h=Subject:From:To:Cc:Date:In-Reply-To:References:From;
 b=FkOMRUw/HQ8TMcdfyL31aKqHIYmpx/7BcZvHdgCiPh/y5uHHL6Ny256jwalM8m0ut
 3ZAvxnHwOE9SMARImFOjL20iQ7fwTmjci5dkr56aBkhQvxLEpQIDymdg96NDRSnKsY
 x2BPlCGRiuYboRz+DMLz1JO/GQ36JZkfS/EqySdY=
Message-ID: <bc239fe7c4eebfa0434be5c98520d3dc9313b367.camel@HIDDEN>
From: Leo Le Bouter <lle-bout@HIDDEN>
Date: Mon, 14 Dec 2020 10:22:43 +0100
In-Reply-To: <874kkoyebq.fsf@HIDDEN>
References: <874krtnvk8.fsf@HIDDEN> <87y2p4mqe2.fsf@HIDDEN>
 <87a6xu2xrj.fsf@HIDDEN> <20200913062858.GC1100@E5400>
 <87wo0hqbb3.fsf@HIDDEN> <874krtnvk8.fsf@HIDDEN>
 <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN> <87pn3dth0l.fsf_-_@HIDDEN>
 <874kkoyebq.fsf@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

Hello Chris, Ludo and Efraim,

In my experience, the bootstrap binaries are reproducible on
powerpc64le-linux-gnu for a specific GNU Guix System and GNU Guix
version and configuration. It's not perfect that the kernel version has
to be pinned for reproducibility but it's better than nothing.

The issue with powerpc64le-linux-gnu on GNU Guix core-updates now is
that it has been upgraded to Glibc 2.32 and there is other issues due
to that. Glibc 2.31 is otherwise working well. I wish we could push
changes to build bootstrap binaries to master where there is Glibc 2.31
(and ensure the changes don't affect other architectures) and get this
over with. 

Leo





Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Efraim Flashner <efraim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Mon, 14 Dec 2020 10:28:01 +0000
Resent-Message-ID: <handler.41669.B41669.160794164628430 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Leo Le Bouter <lle-bout@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Chris Marusich <cmmarusich@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.160794164628430
          (code B ref 41669); Mon, 14 Dec 2020 10:28:01 +0000
Received: (at 41669) by debbugs.gnu.org; 14 Dec 2020 10:27:26 +0000
Received: from localhost ([127.0.0.1]:51282 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kol4g-0007OU-GV
	for submit <at> debbugs.gnu.org; Mon, 14 Dec 2020 05:27:26 -0500
Received: from flashner.co.il ([178.62.234.194]:52198)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <efraim@HIDDEN>) id 1kol4c-0007O4-RC
 for 41669 <at> debbugs.gnu.org; Mon, 14 Dec 2020 05:27:23 -0500
Received: from localhost (unknown [5.102.238.249])
 by flashner.co.il (Postfix) with ESMTPSA id 02B00400E4;
 Mon, 14 Dec 2020 10:27:16 +0000 (UTC)
Date: Mon, 14 Dec 2020 12:27:14 +0200
From: Efraim Flashner <efraim@HIDDEN>
Message-ID: <X9c+AvdN+/xH9A8x@E5400>
References: <87wo0hqbb3.fsf@HIDDEN> <874krtnvk8.fsf@HIDDEN>
 <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN> <87pn3dth0l.fsf_-_@HIDDEN>
 <874kkoyebq.fsf@HIDDEN>
 <bc239fe7c4eebfa0434be5c98520d3dc9313b367.camel@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="uyqQH6igkwY9scqR"
Content-Disposition: inline
In-Reply-To: <bc239fe7c4eebfa0434be5c98520d3dc9313b367.camel@HIDDEN>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--uyqQH6igkwY9scqR
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Dec 14, 2020 at 10:22:43AM +0100, Leo Le Bouter wrote:
> Hello Chris, Ludo and Efraim,
>=20
> In my experience, the bootstrap binaries are reproducible on
> powerpc64le-linux-gnu for a specific GNU Guix System and GNU Guix
> version and configuration. It's not perfect that the kernel version has
> to be pinned for reproducibility but it's better than nothing.
>=20
> The issue with powerpc64le-linux-gnu on GNU Guix core-updates now is
> that it has been upgraded to Glibc 2.32 and there is other issues due
> to that. Glibc 2.31 is otherwise working well. I wish we could push
> changes to build bootstrap binaries to master where there is Glibc 2.31
> (and ensure the changes don't affect other architectures) and get this
> over with.=20

It is possible to create a "perfect setup" by editing the package
definitions in gnu/packages/bootstrap to fix certain issues which are
needed to make bootstrap binaries actually work. I suppose it would be
possible to downgrade glibc in bootstrap.scm, but I wouldn't count on
maintaining a separate glibc for powerpc64le vs the rest of the
architectures.

Do you have a preference big-endian vs little endian?

--=20
Efraim Flashner   <efraim@HIDDEN>   =D7=90=D7=A4=D7=A8=D7=99=D7=9D =
=D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--uyqQH6igkwY9scqR
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl/XPf8ACgkQQarn3Mo9
g1EqZA//al6eVmCrax75nQPknTyF9/acmLq9HZ2j0WNBc20SbZbElQ40eCK1I2BV
qRfnFlwm5hftKXbQho55qndPDfU9eSvba5+/Pw+SM3jjs5pxhx/mHEZ+OAHfwsFi
GQfNfXZFsRzjGyKN9TgtwcI4jtZ6y9GK7vJ8hR0jn/LXaMT8WbzsX7HfOyn7OhA5
D4fxLF2I9jcsbHbuP7Ky5S2VsulOTHTLUIVHJGdtZ5/d8zRZesFWPVS2On0yACZB
GFIuOovDW9ZWR6ziy+7EZl0CP4+2ALplk2UD9nUTxet1KdiIBnVTkOAly0U2mvTq
bOiuKT/Ve/igMsW7KgXaEXYurR3qbU0TROdPcM87QL9Pfk5+9+wN9Huz+JvMFh0I
8yVU19RY4bCV0EcYInzlng5/pN8xKwGfD5ytHaJ9FrUf10Prs0WU1jFBkPmC2Mve
ZenMKpSr4r6KrLt9B6y57qzEu43lAmKMi9/RRYFLdXpD7J9GRrjX1taLHF2Ll+fn
jz5u0p6WltgnoxPa7s+OvhPI3dzyiOsGsCNk5M/yZXV2WQtoGxXSr4Fk/wcAJlD/
BpRfFvalubwNcTjaCM9BfUAtF0OFtQ25r3wIOO/CpRZ183JSTN+e1THo5wOan9DC
PFspJ9YMDOoxFkEpwdJoqHiyc1fzHXmEbyjJXOaVBcbu0ThGNFM=
=feIi
-----END PGP SIGNATURE-----

--uyqQH6igkwY9scqR--




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Leo Le Bouter <lle-bout@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Mon, 14 Dec 2020 10:35:02 +0000
Resent-Message-ID: <handler.41669.B41669.160794208529217 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Efraim Flashner <efraim@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Chris Marusich <cmmarusich@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.160794208529217
          (code B ref 41669); Mon, 14 Dec 2020 10:35:02 +0000
Received: (at 41669) by debbugs.gnu.org; 14 Dec 2020 10:34:45 +0000
Received: from localhost ([127.0.0.1]:51310 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kolBl-0007bB-9Y
	for submit <at> debbugs.gnu.org; Mon, 14 Dec 2020 05:34:45 -0500
Received: from mail.zaclys.net ([178.33.93.72]:53451)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <lle-bout@HIDDEN>) id 1kolBi-0007ax-UG
 for 41669 <at> debbugs.gnu.org; Mon, 14 Dec 2020 05:34:43 -0500
Received: from [192.168.0.27] (82-64-145-38.subs.proxad.net [82.64.145.38])
 (authenticated bits=0)
 by mail.zaclys.net (8.14.7/8.14.7) with ESMTP id 0BEAYZ6P016725
 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Mon, 14 Dec 2020 11:34:35 +0100
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.zaclys.net 0BEAYZ6P016725
Authentication-Results: mail.zaclys.net;
 dmarc=fail (p=reject dis=none) header.from=zaclys.net
Authentication-Results: mail.zaclys.net;
 spf=fail smtp.mailfrom=lle-bout@HIDDEN
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zaclys.net;
 s=default; t=1607942076;
 bh=1/9nC5JiObGDFVb/mcqztEWp6hw0YyroOgHO5JGVSpE=;
 h=Subject:From:To:Cc:Date:In-Reply-To:References:From;
 b=f202olMxzHdnvtnGueB+KNn5FWY7IRqPcLo4tF+nzRaP5tlmQTNY7eNz96PHq5fDR
 r9wG2wMBwzLLi3yiWxODpjmU9LoRQb9Ao59cPkdiDpZ6e4N1NU1SAGKbnxQirwHBYE
 0bA9OKBeyoXtZ8/bcyXybHmAorGZnLdjwRdb8kQY=
Message-ID: <c0fcb13260c693139e121a24ee1bcc7360dfd83f.camel@HIDDEN>
From: Leo Le Bouter <lle-bout@HIDDEN>
Date: Mon, 14 Dec 2020 11:34:35 +0100
In-Reply-To: <X9c+AvdN+/xH9A8x@E5400>
References: <87wo0hqbb3.fsf@HIDDEN> <874krtnvk8.fsf@HIDDEN>
 <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN> <87pn3dth0l.fsf_-_@HIDDEN>
 <874kkoyebq.fsf@HIDDEN>
 <bc239fe7c4eebfa0434be5c98520d3dc9313b367.camel@HIDDEN>
 <X9c+AvdN+/xH9A8x@E5400>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Mon, 2020-12-14 at 12:27 +0200, Efraim Flashner wrote:

> but I wouldn't count on
> maintaining a separate glibc for powerpc64le vs the rest of the
> architectures.

It doesnt need to be maintained, it only needs to work in one commit on
master and then one uses time-machine to rebuild the bootstrap binaries
if they wish to. The make-bootstrap code is already unmaintained for
every architecture anyway since we never rebuild bootstrap binaries
using later GNU Guix revisions ever.

> Do you have a preference big-endian vs little endian?

I'd like both but little endian has the widest eco-system support
especially w.r.t. to Linux drivers. Many Linux drivers have endianness
bugs (lack of endian-safe serialization for DMA..), it's such a plague
that sticking to little endian is just better right now. One common
example being mpt3sas and amdgpu drivers required in some
configurations of the Talos II system.





Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Efraim Flashner <efraim@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Mon, 14 Dec 2020 10:39:01 +0000
Resent-Message-ID: <handler.41669.B41669.160794232729664 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Leo Le Bouter <lle-bout@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Chris Marusich <cmmarusich@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.160794232729664
          (code B ref 41669); Mon, 14 Dec 2020 10:39:01 +0000
Received: (at 41669) by debbugs.gnu.org; 14 Dec 2020 10:38:47 +0000
Received: from localhost ([127.0.0.1]:51339 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kolFe-0007iO-Of
	for submit <at> debbugs.gnu.org; Mon, 14 Dec 2020 05:38:46 -0500
Received: from flashner.co.il ([178.62.234.194]:52234)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <efraim@HIDDEN>) id 1kolFd-0007iC-Al
 for 41669 <at> debbugs.gnu.org; Mon, 14 Dec 2020 05:38:45 -0500
Received: from localhost (unknown [5.102.238.249])
 by flashner.co.il (Postfix) with ESMTPSA id 6388C403BF;
 Mon, 14 Dec 2020 10:38:39 +0000 (UTC)
Date: Mon, 14 Dec 2020 12:38:36 +0200
From: Efraim Flashner <efraim@HIDDEN>
Message-ID: <X9dArDmqqsFyIAG7@E5400>
References: <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN> <87pn3dth0l.fsf_-_@HIDDEN>
 <874kkoyebq.fsf@HIDDEN>
 <bc239fe7c4eebfa0434be5c98520d3dc9313b367.camel@HIDDEN>
 <X9c+AvdN+/xH9A8x@E5400>
 <c0fcb13260c693139e121a24ee1bcc7360dfd83f.camel@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha512;
 protocol="application/pgp-signature"; boundary="ohp5GPH0RV1wQK3u"
Content-Disposition: inline
In-Reply-To: <c0fcb13260c693139e121a24ee1bcc7360dfd83f.camel@HIDDEN>
X-PGP-Key-ID: 0x41AAE7DCCA3D8351
X-PGP-Key: https://flashner.co.il/~efraim/efraim_flashner.asc
X-PGP-Fingerprint: A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
X-Spam-Score: -0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


--ohp5GPH0RV1wQK3u
Content-Type: text/plain; charset=utf-8
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Mon, Dec 14, 2020 at 11:34:35AM +0100, Leo Le Bouter wrote:
> On Mon, 2020-12-14 at 12:27 +0200, Efraim Flashner wrote:
>=20
> > but I wouldn't count on
> > maintaining a separate glibc for powerpc64le vs the rest of the
> > architectures.
>=20
> It doesnt need to be maintained, it only needs to work in one commit on
> master and then one uses time-machine to rebuild the bootstrap binaries
> if they wish to. The make-bootstrap code is already unmaintained for
> every architecture anyway since we never rebuild bootstrap binaries
> using later GNU Guix revisions ever.

It looks like I mispoke, I meant gnu/packages/make-bootstrap.scm. If we
change glibc-for-bootstrap to inherit glibc-2.31 then the rest of the
bootstrap binaries should use that one and everything else will use the
regular glibc.

>=20
> > Do you have a preference big-endian vs little endian?
>=20
> I'd like both but little endian has the widest eco-system support
> especially w.r.t. to Linux drivers. Many Linux drivers have endianness
> bugs (lack of endian-safe serialization for DMA..), it's such a plague
> that sticking to little endian is just better right now. One common
> example being mpt3sas and amdgpu drivers required in some
> configurations of the Talos II system.
>=20

I remember you mentioning that.

--=20
Efraim Flashner   <efraim@HIDDEN>   =D7=90=D7=A4=D7=A8=D7=99=D7=9D =
=D7=A4=D7=9C=D7=A9=D7=A0=D7=A8
GPG key =3D A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

--ohp5GPH0RV1wQK3u
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEoov0DD5VE3JmLRT3Qarn3Mo9g1EFAl/XQKoACgkQQarn3Mo9
g1Gv/Q//fQK+B4hrAZgwOvlWIm6/EUVPZj7LJKTvZIaHXCYJDDZgdEA93Dh5kUvY
esua7YJphlUp+PJ4/LbzdmviHcycgHZS25ZtVJfo0g6ghbdhKQPioEGshQQ9Q1jO
UAmWvHGw/j+ck3M0W+uUCBlzxtV3QNW6EzXJ75e3gU5HSaZ7qCy5PK392N0ZQsh2
zDhmdJ/r7aWn6WXGVvMlKjub8JFypgHm6yqmT2evHceXXnSjNAI2HDiiVyK8U6Ia
umwjGjNPSGX00+YxJl1S8Fm0YxUORGglhO1rFUH+mYze7LeJ3UBTbDMNeCs5IsQ/
/uGgy777kfJRHFUkx9JzDVyboSLd+2COoT894gAjYJBP1uOCQVwkL7Rfo+QapHlZ
l16r/ze/CrgbZ2O9TqIDv5COgC5Wvc72OOC4s2sbmdGyUYpT7ltGouHmXpl6+0Ck
DjotXNTACXPhgKzK2/A+Hlu4tben1XXXquctmm9/ek0ouTgKe/5A1/877nE/l1yL
94tVf5149Bf52Gyo2n0znBsjMA72HOZBCAEi8ubSj0B1MzmSrWz7FZEgVtAOKdYy
b/lGQUNKYtMbcvyJJA46ShRWAPYistZ8Ud1+UejIFGLHkNz79SpsK60MbIh1D10i
BrXo9SZa8xVdNy6tRjoJvp5OI1HbV1sIkCLSlLKjFOcp9IlnzDs=
=RfOP
-----END PGP SIGNATURE-----

--ohp5GPH0RV1wQK3u--




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Leo Le Bouter <lle-bout@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Mon, 14 Dec 2020 10:45:01 +0000
Resent-Message-ID: <handler.41669.B41669.160794267630229 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Efraim Flashner <efraim@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>, Chris Marusich <cmmarusich@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.160794267630229
          (code B ref 41669); Mon, 14 Dec 2020 10:45:01 +0000
Received: (at 41669) by debbugs.gnu.org; 14 Dec 2020 10:44:36 +0000
Received: from localhost ([127.0.0.1]:51355 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kolLI-0007rV-Jh
	for submit <at> debbugs.gnu.org; Mon, 14 Dec 2020 05:44:36 -0500
Received: from mail.zaclys.net ([178.33.93.72]:41713)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <lle-bout@HIDDEN>) id 1kolLH-0007rG-5g
 for 41669 <at> debbugs.gnu.org; Mon, 14 Dec 2020 05:44:36 -0500
Received: from [192.168.0.27] (82-64-145-38.subs.proxad.net [82.64.145.38])
 (authenticated bits=0)
 by mail.zaclys.net (8.14.7/8.14.7) with ESMTP id 0BEAiSBi019196
 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Mon, 14 Dec 2020 11:44:28 +0100
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.zaclys.net 0BEAiSBi019196
Authentication-Results: mail.zaclys.net;
 dmarc=fail (p=reject dis=none) header.from=zaclys.net
Authentication-Results: mail.zaclys.net;
 spf=fail smtp.mailfrom=lle-bout@HIDDEN
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zaclys.net;
 s=default; t=1607942668;
 bh=0Y/YYfVmWlus347PuNcHd3mU5eaTfORlf8T5R4Sf9mE=;
 h=Subject:From:To:Cc:Date:In-Reply-To:References:From;
 b=S3Tmwn7KZI3NbApqaUi1SfFdw5hUCFrTKlpDgnzvKoJzZfHks4G06NgPFHx/S7DUC
 nAOk4ZZMtOPM/pfu7Z/+TFutUEDg2S54IrnIYO6/s90NTfLcp0nPmNn2pUDkkoLrlT
 HlKCpHZqEEGdTLvfzZiQAENlv7jWSMy1zZKDVCUM=
Message-ID: <7730dab2af9de1e47cf343ff5ed506d472efe591.camel@HIDDEN>
From: Leo Le Bouter <lle-bout@HIDDEN>
Date: Mon, 14 Dec 2020 11:44:28 +0100
In-Reply-To: <X9dArDmqqsFyIAG7@E5400>
References: <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN> <87pn3dth0l.fsf_-_@HIDDEN>
 <874kkoyebq.fsf@HIDDEN>
 <bc239fe7c4eebfa0434be5c98520d3dc9313b367.camel@HIDDEN>
 <X9c+AvdN+/xH9A8x@E5400>
 <c0fcb13260c693139e121a24ee1bcc7360dfd83f.camel@HIDDEN>
 <X9dArDmqqsFyIAG7@E5400>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Mon, 2020-12-14 at 12:38 +0200, Efraim Flashner wrote:
> It looks like I mispoke, I meant gnu/packages/make-bootstrap.scm. If
> we
> change glibc-for-bootstrap to inherit glibc-2.31 then the rest of the
> bootstrap binaries should use that one and everything else will use
> the
> regular glibc.

It would be great to do that at least temporarily on master. It will
not affect much since other architectures are bootstrapped already. We
could also make it conditional. Reproducibility instructions will have
to contain exact commit id and configuration for both GNU Guix System
(x86_64-linux) and GNU Guix which can cross-compile.





Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Mon, 14 Dec 2020 22:25:02 +0000
Resent-Message-ID: <handler.41669.B41669.160798469629417 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Leo Le Bouter <lle-bout@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, Chris Marusich <cmmarusich@HIDDEN>, Efraim Flashner <efraim@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.160798469629417
          (code B ref 41669); Mon, 14 Dec 2020 22:25:02 +0000
Received: (at 41669) by debbugs.gnu.org; 14 Dec 2020 22:24:56 +0000
Received: from localhost ([127.0.0.1]:54821 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kowH2-0007eO-2U
	for submit <at> debbugs.gnu.org; Mon, 14 Dec 2020 17:24:56 -0500
Received: from eggs.gnu.org ([209.51.188.92]:58158)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ludo@HIDDEN>) id 1kowH0-0007eB-9d
 for 41669 <at> debbugs.gnu.org; Mon, 14 Dec 2020 17:24:54 -0500
Received: from fencepost.gnu.org ([2001:470:142:3::e]:34478)
 by eggs.gnu.org with esmtp (Exim 4.90_1)
 (envelope-from <ludo@HIDDEN>)
 id 1kowGu-00060P-2b; Mon, 14 Dec 2020 17:24:48 -0500
Received: from [2a01:e0a:1d:7270:af76:b9b:ca24:c465] (port=43094 helo=ribbon)
 by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256)
 (Exim 4.82) (envelope-from <ludo@HIDDEN>)
 id 1kowGt-0002TT-Ir; Mon, 14 Dec 2020 17:24:47 -0500
From: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
References: <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN> <87pn3dth0l.fsf_-_@HIDDEN>
 <874kkoyebq.fsf@HIDDEN>
 <bc239fe7c4eebfa0434be5c98520d3dc9313b367.camel@HIDDEN>
 <X9c+AvdN+/xH9A8x@E5400>
 <c0fcb13260c693139e121a24ee1bcc7360dfd83f.camel@HIDDEN>
 <X9dArDmqqsFyIAG7@E5400>
 <7730dab2af9de1e47cf343ff5ed506d472efe591.camel@HIDDEN>
X-URL: http://www.fdn.fr/~lcourtes/
X-Revolutionary-Date: 24 Frimaire an 229 de la =?UTF-8?Q?R=C3=A9volution?=
X-PGP-Key-ID: 0x090B11993D9AEBB5
X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc
X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4  0CFB 090B 1199 3D9A EBB5
X-OS: x86_64-pc-linux-gnu
Date: Mon, 14 Dec 2020 23:24:46 +0100
In-Reply-To: <7730dab2af9de1e47cf343ff5ed506d472efe591.camel@HIDDEN> (Leo
 Le Bouter's message of "Mon, 14 Dec 2020 11:44:28 +0100")
Message-ID: <87a6ugqb4h.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux)
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -2.3 (--)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

Hi Leo,

Leo Le Bouter <lle-bout@HIDDEN> skribis:

> It would be great to do that at least temporarily on master. It will
> not affect much since other architectures are bootstrapped already. We
> could also make it conditional. Reproducibility instructions will have
> to contain exact commit id and configuration for both GNU Guix System
> (x86_64-linux) and GNU Guix which can cross-compile.

Yes, I think we could just cross-build those bootstrap binaries from
current =E2=80=98master=E2=80=99 and be done with it, if it works for you.

Thanks,
Ludo=E2=80=99.




Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Leo Le Bouter <lle-bout@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Tue, 15 Dec 2020 07:36:02 +0000
Resent-Message-ID: <handler.41669.B41669.16080177044723 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, Chris Marusich <cmmarusich@HIDDEN>, Efraim Flashner <efraim@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.16080177044723
          (code B ref 41669); Tue, 15 Dec 2020 07:36:02 +0000
Received: (at 41669) by debbugs.gnu.org; 15 Dec 2020 07:35:04 +0000
Received: from localhost ([127.0.0.1]:55332 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kp4rQ-0001E6-F0
	for submit <at> debbugs.gnu.org; Tue, 15 Dec 2020 02:35:04 -0500
Received: from mail.zaclys.net ([178.33.93.72]:42495)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <lle-bout@HIDDEN>) id 1kp4rO-0001DW-CF
 for 41669 <at> debbugs.gnu.org; Tue, 15 Dec 2020 02:35:03 -0500
Received: from [192.168.0.27] (82-64-145-38.subs.proxad.net [82.64.145.38])
 (authenticated bits=0)
 by mail.zaclys.net (8.14.7/8.14.7) with ESMTP id 0BF7YsMA006793
 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Tue, 15 Dec 2020 08:34:54 +0100
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.zaclys.net 0BF7YsMA006793
Authentication-Results: mail.zaclys.net;
 dmarc=fail (p=reject dis=none) header.from=zaclys.net
Authentication-Results: mail.zaclys.net;
 spf=fail smtp.mailfrom=lle-bout@HIDDEN
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zaclys.net;
 s=default; t=1608017695;
 bh=vBPu4VM8OT3Uzz3oqsySXEWauUCfnY4cMGXpTvLgkZU=;
 h=Subject:From:To:Cc:Date:In-Reply-To:References:From;
 b=RQJDF460TenJi576VzHtZQTSkCDQ/ZQ5Ujc5XtDieHalOnRZHJ8fkGf6eKO+vbRMI
 X3hIG7v3Sm6XxuU1AAbHVJrkHfFbA2g01fXRJBeM4jTgkNa1tRNkbgMmPizprx9Mgp
 vPORxbxnhVyusovmcXXhhgMwXk8oc2NIKnIt7KU0=
Message-ID: <54153897349cc396d89a022dbce141bfea4804db.camel@HIDDEN>
From: Leo Le Bouter <lle-bout@HIDDEN>
Date: Tue, 15 Dec 2020 08:34:55 +0100
In-Reply-To: <87a6ugqb4h.fsf@HIDDEN>
References: <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN> <87pn3dth0l.fsf_-_@HIDDEN>
 <874kkoyebq.fsf@HIDDEN>
 <bc239fe7c4eebfa0434be5c98520d3dc9313b367.camel@HIDDEN>
 <X9c+AvdN+/xH9A8x@E5400>
 <c0fcb13260c693139e121a24ee1bcc7360dfd83f.camel@HIDDEN>
 <X9dArDmqqsFyIAG7@E5400>
 <7730dab2af9de1e47cf343ff5ed506d472efe591.camel@HIDDEN>
 <87a6ugqb4h.fsf@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

On Mon, 2020-12-14 at 23:24 +0100, Ludovic Courtès wrote:
> Yes, I think we could just cross-build those bootstrap binaries from
> current ‘master’ and be done with it, if it works for you.

Yes that would be awesome! The master branch just needs the patch from
bug <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=44778> - I guess
considering it affects lots of packages it needs to be rewritten the
same way Efraim has rewritten their PowerPC 32-bits patch. I'll look
into that. Correct?





Message sent to bug-guix@HIDDEN:


X-Loop: help-debbugs@HIDDEN
Subject: bug#41669: Cross-compiled powerpc64-linux bootstrap-tarballs not reproducible
Resent-From: Leo Le Bouter <lle-bout@HIDDEN>
Original-Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
Resent-CC: bug-guix@HIDDEN
Resent-Date: Tue, 15 Dec 2020 07:47:02 +0000
Resent-Message-ID: <handler.41669.B41669.16080183845892 <at> debbugs.gnu.org>
Resent-Sender: help-debbugs@HIDDEN
X-GNU-PR-Message: followup 41669
X-GNU-PR-Package: guix
X-GNU-PR-Keywords: 
To: Ludovic =?UTF-8?Q?Court=C3=A8s?= <ludo@HIDDEN>
Cc: 41669 <at> debbugs.gnu.org, Chris Marusich <cmmarusich@HIDDEN>, Efraim Flashner <efraim@HIDDEN>, Maxim Cournoyer <maxim.cournoyer@HIDDEN>, Vincent Legoll <vincent.legoll@HIDDEN>
Received: via spool by 41669-submit <at> debbugs.gnu.org id=B41669.16080183845892
          (code B ref 41669); Tue, 15 Dec 2020 07:47:02 +0000
Received: (at 41669) by debbugs.gnu.org; 15 Dec 2020 07:46:24 +0000
Received: from localhost ([127.0.0.1]:55366 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1kp52O-0001Wy-Ll
	for submit <at> debbugs.gnu.org; Tue, 15 Dec 2020 02:46:24 -0500
Received: from mail.zaclys.net ([178.33.93.72]:60629)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <lle-bout@HIDDEN>) id 1kp52M-0001Wl-QQ
 for 41669 <at> debbugs.gnu.org; Tue, 15 Dec 2020 02:46:23 -0500
Received: from [192.168.0.27] (82-64-145-38.subs.proxad.net [82.64.145.38])
 (authenticated bits=0)
 by mail.zaclys.net (8.14.7/8.14.7) with ESMTP id 0BF7kFxS008770
 (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO);
 Tue, 15 Dec 2020 08:46:16 +0100
DMARC-Filter: OpenDMARC Filter v1.3.2 mail.zaclys.net 0BF7kFxS008770
Authentication-Results: mail.zaclys.net;
 dmarc=fail (p=reject dis=none) header.from=zaclys.net
Authentication-Results: mail.zaclys.net;
 spf=fail smtp.mailfrom=lle-bout@HIDDEN
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=zaclys.net;
 s=default; t=1608018376;
 bh=lhZZv6Ndz1wSMyviH2GfrJ4Ac8QZWG1grJhEmXQKQk4=;
 h=Subject:From:To:Cc:Date:In-Reply-To:References:From;
 b=pyKxsaN5gkY8q4k7tlVl7n4z69PRijeGC361BxsfZ/584/rxUPOXiSaCez5fopY64
 RlOTNUAdVv3fUEVC5zljF+uDmZQx7l/UZ660MQr8IMFedXdJwla4QBF1SM9jp4T2mN
 KLUndOEAI+kwcGy6Otj0i7bKTkaYEJY/9UW3F/FU=
Message-ID: <7237255c50a761ceda8d76c583309d3dd59039db.camel@HIDDEN>
From: Leo Le Bouter <lle-bout@HIDDEN>
Date: Tue, 15 Dec 2020 08:46:16 +0100
In-Reply-To: <87a6ugqb4h.fsf@HIDDEN>
References: <87y2p4mqe2.fsf@HIDDEN> <87a6xu2xrj.fsf@HIDDEN>
 <20200913062858.GC1100@E5400> <87wo0hqbb3.fsf@HIDDEN>
 <87pn5wzwcf.fsf@HIDDEN> <87pn3dth0l.fsf_-_@HIDDEN>
 <874kkoyebq.fsf@HIDDEN>
 <bc239fe7c4eebfa0434be5c98520d3dc9313b367.camel@HIDDEN>
 <X9c+AvdN+/xH9A8x@E5400>
 <c0fcb13260c693139e121a24ee1bcc7360dfd83f.camel@HIDDEN>
 <X9dArDmqqsFyIAG7@E5400>
 <7730dab2af9de1e47cf343ff5ed506d472efe591.camel@HIDDEN>
 <87a6ugqb4h.fsf@HIDDEN>
Content-Type: multipart/mixed; boundary="=-bahPN8RfXLsFoG1+NjIJ"
User-Agent: Evolution 3.34.2 
MIME-Version: 1.0
X-Spam-Score: 0.0 (/)
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>


--=-bahPN8RfXLsFoG1+NjIJ
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit

For the record, I attached the failed build log for current core-
updates.

$ ./pre-inst-env guix describe
Git checkout:
  repository: /home/lle-bout/src/guix
  branch: core-updates
  commit: cc6cb6e80a42355147809b4830053a34d1563994

Build command:

$ ./pre-inst-env guix build --target=powerpc64le-linux-gnu bootstrap-
tarballs

The most important bit in the build log is:

configure: error: ***  The compiler must support -mabi=ieeelongdouble
and -mlongdouble simultaneously.

This particular error does not happen with the GCC 7.x and Glibc 2.31
combo.

--=-bahPN8RfXLsFoG1+NjIJ
Content-Type: application/x-bzip;
	name*0=4aqg8p7dbpgp8mc50nyrr1r5n6q0sw-glibc-cross-powerpc64le-linux-gnu-;
	name*1=2.32.drv.bz2
Content-Disposition: attachment;
	filename*0=4aqg8p7dbpgp8mc50nyrr1r5n6q0sw-glibc-cross-powerpc64le-linux-;
	filename*1=gnu-2.32.drv.bz2
Content-Transfer-Encoding: base64

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
z/3hujf12a2n9kGEV6wxNf9/++dLaYWmixjz2RERE/L9v7F9/k/0X+cr/LISIP+2W+LkXDeR/5Ca
9tab2dSattab2bJq21t7Nuattab2bJq21pvZsmrbW3s25q21pvZsmrbWm9myattab2bJq21pvZsm
rbWm9mzTsWndmyattab2bMvXZ0zZs3VDp143mpJbJi03k2ZmbMIevZu5smKzezZNW2tN7Nk1ba03
s2CbtzTezZN25pvZsmrbWm9myattab2bJq21pvZsmrbWm9myattab2bMvW7Wm9mzaqhX+3t//O8h
IP6qF/X+CydLFGIJqR/U0DCZv/M+UcVjSMP5f5SZPsSeePX+/eX5+bTZdp8fxcOyz5Zl4JhjmRru
c5o5j5OC23uIy/rleH9lEdHvtf8JpH/hIR+CN/Sqlm/YoDlsZ/1XWU2IrNaawgACQgDF6KAOhSRE
QUAv/D+OmnSEFVYqrMiCpAApN+cjk8IOGKX0KloFksVLLzIwuo/i4cxKyXVa22UY6iS0K0vGAd+T
De0Lre9RcOzWFrWzvaVxxIyLM2TMzMzT/wxvXBPbXHBkZeWhJdc26UdqC3QubGsebVeBouUNtmww
u54LESINFWCpvuokRAg/0qFPchTSUe+umOjKZY5VaZVrKEINFyXurFobNQnZYmMZ7f0zboNJznRm
bLL+qMYx4d/61WHLMyqsaU3jHLbvn67SEr3vfanc+qYrkfDrzjEMPFIgmIWMMQ33i0vZmac580pM
T9tM+/x6kBLLXl94QbxppCG221r+j3VcU8rk1vh5eVT3+PjrfnrLAP9nrQNjSJ05ZoCxO7+6/BaD
5x9PMhfUntZmnqzGe/tUnEEiTWrzqqrSQlBWxD2eNKefbS1+7NSprWta+3t7znOqrSlKUlQ5ark1
8HGNhMkkks2WWWWWVRME16Y1f4XEnXAZmbGIQhhmwvpoUtB3bp/y8DoOkCx6R2JsfBnCB3VHJgVB
HpZQ7rP5Xi8Fha82b5Qs9KqPWVbtt6O+/fv37whCEId/PN+cscDVli0SyarrzzWKyWgjSPyjXrMP
KUWjD49QaMizCUlF1pCxPbI5L8eFqYe8oPWWGfAZZWhUefPnz58+b9u/nzLfnETgYxLFawliNGpC
kKSoZznOc2b53+WvZe5cF3bceV361bmXvrlnUe89cduOR1IRs+O/2FjyPnebJb/aTOc3rrMzMzrr
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
0d6QWKrLXLdxiK5mcUdoGbEViPOu0KQtmziZhZ6z75wTYxm7bEChJdxV6KIMIfFLZqso7vvPNspk
l5qZsYQ2vJXm8RGy2h4iszWvNu0N4WS5WqsWZtXJtQbeXJVawyGKA4sg1nz3a+JZPPLOzdYT2dNc
O8OV3l3sOxy5jq/WlWDVPOSnasXhBTB5iChRd8g7zWz1XTtHGy0ohlJtsRXQiNCTcERMrqGLM2rk
0lkbnguUgSZnsWjjGURSIuUJxVQxZmxOCm+wqM02FRH48FI/48SU/0LtJpfST/vWpON8nH8pNLo8
nHrbSSSaTS+kn94/Hx78de8hzUvxz04p1wvLuLc8/rxL0l2k/3/wfJd3fyb8L6SaXfWdTEkk0ml8
pPzuvSku/82pai/r74/g/drCjLSXtwk55WX09ivMen7DXSw9Tri4eHooosi/83zb36/w+cfKzCZT
JVF9cGSm7mREnTSMYdAIYm9rwFT2KQHuOrKuSiJb3yZmbfv0ol8uK/Q2ta1uvaM+tGpOeVHZab0e
Z31zl7u3fLvMbbXf1Stq77778ePG99dddcbdHrWutLVrV3dVVYFiWgWsXZ1VY2tOtaUpRmZqUhD2
vr0SGRjWta5Z4nOcyeVfUwgq8KLtGF731vuK0pSZpCrM8Yu71rWNJznOUIRiwbpzj5eIxtbl+o9C
o279Vx1kSQeteoC9tbt4gvtT3nVmLMzuTEADj2GmcEkaUVizNRyRSMFVlVlWqr6ptplqytp7Lm6x
wr3f9Kl9D7fCThs+st8JOGRQ/k6WfL0Dx4q+EmGz2ezZ6JOGGGHs6WUbOejhr7Pj6TLb+3Jzhnu6
RLyVizNJyYZjiOJz+YWZJUSpL5Nl+FnLIscbdZnb36qrLsVsSSZrx0CnZWBDMot0EcqWVLvhbxJr
wVXD0SSSXZBXo9bv8eOvXr0XabgjBt+kemwWBJW8ecz1Eo8mRGVIcAtmDn9feOkVXrPE4Ve16Nnv
1zcaW6Zv8UxmQcPCJWJUYZpFbQd9Gu+hiplKOyuXOJCRDWny2jaQy1cZkZxXm2Jq2S1I+vjjPvVw
Nm+5wZWajq4j7nieDImMCJfQ5UfDxDQW7spSYeZJMGZpqYeFhAn67vQerLYQtsaOFhWLbGMSuAQm
u02cpK0PZ12jh5GwwRthdKjrl2MRppkz3VhmwtBSXKKRIsTBYwq3v6y95IK1Wh8kBxVdjbzWD5b9
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
QVMCfueDqQP/6LuSKcKEgQmuGRg=


--=-bahPN8RfXLsFoG1+NjIJ--






Last modified: Tue, 15 Dec 2020 08:00:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.