Hi Chris! Chris Marusich 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