On Mon, Jun 01, 2020 at 07:56:43PM -0700, Chris Marusich wrote: > 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: > > --8<---------------cut here---------------start------------->8--- > 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 > --8<---------------cut here---------------end--------------->8--- > > 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!! After 3(?) days and several reboots I built the bootstrap binaries from an aarch64-linux machine using the commit. (ins)efraim@pine64:~/workspace/guix$ git log -1 commit 8159ce1970d91567468cf1bacac313099a009d2a (HEAD -> master) Author: Léo Le Bouter Date: Tue May 21 05:00:30 2019 +0000 gnu: bootstrap: Add powerpc64-linux dynamic linker. This makes it possible to build bootstrap binaries for powerpc64-linux: guix build --target=powerpc64-linux-gnu bootstrap-tarballs * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add an entry for powerpc64-linux. Signed-off-by: Chris Marusich (ins)efraim@pine64:~/workspace/guix$ sha512sum /gnu/store/38zyf3y0fvi1l0bbkacwaapw5m1jmmi6-bootstrap-tarballs-0/* 426e5f1d0d7023a90e73286ccda1fa55a359301e998a19dfe00f5b4f5d387e69d7a247f47056f41e609393893b0238a908698fbd28d73b183b32a5dadcfe9fbb /gnu/store/38zyf3y0fvi1l0bbkacwaapw5m1jmmi6-bootstrap-tarballs-0/binutils-static-stripped-2.34-powerpc64-linux-gnu.tar.xz 74ac175b22f9964cefbcc94c8589e14fac1ae2c98879f84d40faa352aa9dd108e7ba631e6b35cceae263507d0cc956f31c49af686c1e60850b97c51878bf533d /gnu/store/38zyf3y0fvi1l0bbkacwaapw5m1jmmi6-bootstrap-tarballs-0/gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz 0693dc1a0c85ab23ec2f8bbb89a8819c384d50a8830297d0900d6caa94f75c67bbb6f300d182f855e8e6c88810caf1f183e9b24cda574c470dc129641dac1258 /gnu/store/38zyf3y0fvi1l0bbkacwaapw5m1jmmi6-bootstrap-tarballs-0/glibc-stripped-2.31-powerpc64-linux-gnu.tar.xz e2e70c7fcc477fced12eb76704212f9bda0e1ec2cf40137ff6a32a85ca75fec10ec20076b73698438e48c3ce45d24542aa309bb99274f4c3d4f9d49ec9d1dd7b /gnu/store/38zyf3y0fvi1l0bbkacwaapw5m1jmmi6-bootstrap-tarballs-0/guile-static-stripped-2.0.14-powerpc64-linux-gnu.tar.xz 04d9203467ecb48e9f1fca5130199c292212d4d119153778d398899aeef517fc8bce5d25f3505063f38e433fa09e3c723a6da5dee4943dbc9d3728279356879b /gnu/store/38zyf3y0fvi1l0bbkacwaapw5m1jmmi6-bootstrap-tarballs-0/static-binaries-0-powerpc64-linux-gnu.tar.xz my gcc-stripped tarball should be available at https://flashner.co.il/~efraim/gcc-stripped-5.5.0-powerpc64-linux-gnu.tar.xz -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted