guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: State of the powerpc64le port


From: dftxbs3e
Subject: Re: State of the powerpc64le port
Date: Tue, 19 Nov 2019 01:33:07 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

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

[Prev in Thread] Current Thread [Next in Thread]