Hello,

For your information, I already did proceed to porting to powerpc64le-linux some time ago.

Here's where my work is : https://gitlab.com/lle-bout/guix

The `core-updates` branch contains the latest changes, you can also observe CI pipelines to get build logs for both GNU Guix itself (succeeds) and GNU Hello from within GNU Guix (fails). e.g. https://gitlab.com/lle-bout/guix/pipelines/94458238

I also host bootstrap binaries over Git LFS at https://gitlab.com/lle-bout/guix-bootstrap

I even set up Gitlab CI to build a container image so anyone can get to work quickly : registry.gitlab.com/lle-bout/guix:latest (updated on every commit to my modified `core-updates`)

What is missing now is that due to a change in the double precision floating point format in glibc >= 2.26, the bootstrap gcc (4.9.x) cannot build the latest glibc included in GNU Guix.

The solution would be to modify the bootstrap process so the bootstrap gcc is used this way :

1. Use gcc 4.9.x built with glibc 2.25 to build gcc >= 6.2 built with
   glibc 2.25
2. Use gcc >= 6.2 built with glibc 2.25 to build gcc >= 6.2 built with
   glibc >= 2.26

Then the final GCC can be used to build the rest of GNU Guix.

After this, everything should work fine.

On 11/19/19 1:07 AM, Jonathan Brielmaier wrote:
Hello fellow Guix hackers,

recently I just gave the powerpc64le-linux thing another try, as I'm
missing Guix to much on my main machine (POWER9)...

Work is happening on a personal branch. It still in a WIP state and
force-pushing can occur:
https://gitlab.com/jonsger/Guix/tree/wip-master-powerpc64le

As a first step we need the bootstrap-binaries for powerpc64le. This
became pretty simple now. Apply

   gnu: Let cross-gcc-arguments built for powerpc64le.

on a x86_64 system and run:
./pre-inst-env guix build --target=powerpc64le-linux-gnu bootstrap-binaries

I uploaded the resulting tarballs to my private web server. They can be
found here:
http://brielmaier.net/guix/bootstrap/powerpc64le-linux/

On a powerpc64le system you need one commit, in order to get guix
building from the git repo:

   WIP: gnu: Add bootstrap-binaries for 'powerpc64le-linux'.

When this succeeds you should be able to build packages. At the moment
`./pre-inst-env guix build hello` fails while building
gcc-cross-boot0-7.4.0. See the gcc-cross-boot0-7.4.0-buildlog.bz2
attachment.

Because of that, one is not able to install any packages yet, but
commands like `guix search` or `guix show` already working like a charm :)

So I wonder if we could already bring some of those commits to master or
core-updates :P

That's it for now
Jonathan

Reply via email to