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----- --=-=-=--
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
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----- --=-=-=--
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
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----- --=-=-=--
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
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
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----- --=-=-=--
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--
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----- --==-=-=--
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.
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--
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----- --=-=-=--
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--
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.
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
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--
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.
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--
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.
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.
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?
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--
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.