all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Maxim Cournoyer <maxim.cournoyer@gmail.com>
To: Chris Marusich <cmmarusich@gmail.com>
Cc: guix-devel@gnu.org, "Léo Le Bouter" <lle-bout@zaclys.net>
Subject: Re: Request to verify powerpc64-linux bootstrap binaries
Date: Tue, 02 Jun 2020 08:35:09 -0400	[thread overview]
Message-ID: <87k10p4pdu.fsf@gmail.com> (raw)
In-Reply-To: <87o8q2uqdw.fsf@gmail.com> (Chris Marusich's message of "Mon, 01 Jun 2020 19:56:43 -0700")

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

Hi Chris!

Chris Marusich <cmmarusich@gmail.com> writes:

> Hi everyone!
>
> Thanks to Léo's help, as of commit
> 8159ce1970d91567468cf1bacac313099a009d2a, the master branch now contains
> all the changes necessary to cross-compile powerpc64-linux bootstrap
> binaries.  I've done this without substitutes by running the following
> commands on an x86_64-liinux machine.
>
> First, to ensure you're using commit
> 8159ce1970d91567468cf1bacac313099a009d2a, put something like this in
> your ~/.config/guix/channels.scm file:
>
> (list (channel
>         (name 'guix)
>         (url "https://git.savannah.gnu.org/git/guix.git")
>         (commit
>           "8159ce1970d91567468cf1bacac313099a009d2a")))
>
> Then, run these commands:
>
> # Confirm you're using the right guix.
> guix describe
> # Clear as many GC roots as possible, and do a GC run.
> guix gc --delete-generations
> # Build the bootstrap tarballs without substitutes.
> guix build --no-substitutes --target=powerpc64-linux-gnu bootstrap-tarballs
>
> After a few hours, you should see the following message:
>
> successfully built /gnu/store/icnj0m294b94pc3rhpmkz6zc41w8vyqj-bootstrap-tarballs-0.drv
> /gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0
>
> On my end, the SHA-512 hashes of the binaries are:
>
> 426e5f1d0d7023a90e73286ccda1fa55a359301e998a19dfe00f5b4f5d387e69d7a247f47056f41e609393893b0238a908698fbd28d73b183b32a5dadcfe9fbb  binutils-static-stripped-2.34-powerpc64-linux-gnu.tar.xz
> 8aca7f332a1ba8e3c2225c161a7545b0a04ddd690d164dc97afee9c9ea067b0c49bc155e9f06d285c22e24cdd16d91e59730af5f1dd9efcda13a26bede5948a2  gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz
> a717a420e765accf12cfc1e18ebed76e9359ee58e8781601ca9066ced59196f88a528ddc554c0f57c77e2c01908cafe596f3c8d1df135beb4cae4073b9a999d2  glibc-stripped-2.31-powerpc64-linux-gnu.tar.xz
> e2e70c7fcc477fced12eb76704212f9bda0e1ec2cf40137ff6a32a85ca75fec10ec20076b73698438e48c3ce45d24542aa309bb99274f4c3d4f9d49ec9d1dd7b  guile-static-stripped-2.0.14-powerpc64-linux-gnu.tar.xz
> 04d9203467ecb48e9f1fca5130199c292212d4d119153778d398899aeef517fc8bce5d25f3505063f38e433fa09e3c723a6da5dee4943dbc9d3728279356879b  static-binaries-0-powerpc64-linux-gnu.tar.xz

Here's what I did:

cd /tmp
guix pull --commit=8159ce1970d91567468cf1bacac313099a009d2a -p guix-ppc64-bootstrap
GUIX_PROFILE="/tmp/guix-ppc64-bootstrap"
. "$GUIX_PROFILE/etc/profile"
time guix build --no-substitutes --target=powerpc64-linux-gnu bootstrap-tarballs

successfully built /gnu/store/wy4dc833vzfd85mphm00p8c99l0ny73a-guile-static-stripped-tarball-2.0.14.drv
building /gnu/store/icnj0m294b94pc3rhpmkz6zc41w8vyqj-bootstrap-tarballs-0.drv...
/gnu/store/4v278jn0kd12zc6xwyr144lgi1ca7a69-guile-static-stripped-tarball-2.0.14/guile-static-stripped-2.0.14-powerpc64-linux-gnu.tar.xz -> /gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0
/gnu/store/rsmhiyplmbiqm1qwniiafi4ak76pd61v-gcc-stripped-tarball-5.5.0/gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz -> /gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0
/gnu/store/fgw2hwyaw00xn8fb1pbpazl8hga8xfci-binutils-static-stripped-tarball-2.34/binutils-static-stripped-2.34-powerpc64-linux-gnu.tar.xz -> /gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0
/gnu/store/p40gsw7qh5xzic38l99ildbxcz4zag3y-glibc-stripped-tarball-2.31/glibc-stripped-2.31-powerpc64-linux-gnu.tar.xz -> /gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0
/gnu/store/svc6d7qrmacqc4pqzqhqyks421fb6jcb-static-binaries-tarball-0/static-binaries-0-powerpc64-linux-gnu.tar.xz -> /gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0
successfully built /gnu/store/icnj0m294b94pc3rhpmkz6zc41w8vyqj-bootstrap-tarballs-0.drv
/gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0

real    31m21.749s
user    1m33.985s
sys     0m7.399s

As for the SHA-512 hashes:

--8<---------------cut here---------------start------------->8---
for f in /gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0/*; do sha512sum "$f"; done
426e5f1d0d7023a90e73286ccda1fa55a359301e998a19dfe00f5b4f5d387e69d7a247f47056f41e609393893b0238a908698fbd28d73b183b32a5dadcfe9fbb
/gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0/binutils-static-stripped-2.34-powerpc64-linux-gnu.tar.xz

841f1839c041512f893d5fa62fbc402dda1589222ee5365849d2e3f0a55df7abd0ca856c302b4d7ef80d07abfa6b04468cc494efdccbc097df2eceb181eebd15
/gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0/gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz

a717a420e765accf12cfc1e18ebed76e9359ee58e8781601ca9066ced59196f88a528ddc554c0f57c77e2c01908cafe596f3c8d1df135beb4cae4073b9a999d2
/gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0/glibc-stripped-2.31-powerpc64-linux-gnu.tar.xz

e2e70c7fcc477fced12eb76704212f9bda0e1ec2cf40137ff6a32a85ca75fec10ec20076b73698438e48c3ce45d24542aa309bb99274f4c3d4f9d49ec9d1dd7b
/gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0/guile-static-stripped-2.0.14-powerpc64-linux-gnu.tar.xz

04d9203467ecb48e9f1fca5130199c292212d4d119153778d398899aeef517fc8bce5d25f3505063f38e433fa09e3c723a6da5dee4943dbc9d3728279356879b
/gnu/store/dy4fhy2vqyxqfad59mfdqdd0qpcrwmyx-bootstrap-tarballs-0/static-binaries-0-powerpc64-linux-gnu.tar.xz
--8<---------------cut here---------------end--------------->8---

binutils: OK
gcc: NOK
glibc: OK
guile: OK
static-binaries: OK

Only my gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz has a different
checksum.

> Hopefully, you'll get identical results!  You don't have to run "guix
> gc" if you don't want to, but doing so will increase the likelihood of
> catching nondeterminism issues propagated from dependencies (which seem
> unlikely, but you never know).  It took 3 or 4 for me hours on a modern
> 16-core machine.
>
> Once we verify the binaries, we can actually start using them to build
> stuff!  Léo has already gotten an optimistic start on that work, and
> many things are building successfully.  Exciting!!

Congrats to Léo and all those involved in this porting effort!

Thank you!

Maxim

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

  parent reply	other threads:[~2020-06-02 12:35 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-02  2:56 Request to verify powerpc64-linux bootstrap binaries Chris Marusich
2020-06-02  8:57 ` Vincent Legoll
2020-06-02 14:16   ` Jack Hill
2020-06-02 19:09   ` Chris Marusich
2020-06-03  4:01     ` Jack Hill
2020-06-02 12:35 ` Maxim Cournoyer [this message]
2020-06-04  6:34 ` Efraim Flashner

Reply instructions:

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

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

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

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

  git send-email \
    --in-reply-to=87k10p4pdu.fsf@gmail.com \
    --to=maxim.cournoyer@gmail.com \
    --cc=cmmarusich@gmail.com \
    --cc=guix-devel@gnu.org \
    --cc=lle-bout@zaclys.net \
    /path/to/YOUR_REPLY

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

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.