all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* State of the powerpc64le port
@ 2019-11-19  0:07 Jonathan Brielmaier
  2019-11-19  0:33 ` dftxbs3e
  0 siblings, 1 reply; 2+ messages in thread
From: Jonathan Brielmaier @ 2019-11-19  0:07 UTC (permalink / raw)
  To: Guix-devel

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

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

[-- Attachment #2: gcc-cross-boot0-7.4.0-buildlog.bz2 --]
[-- Type: application/x-bzip, Size: 89901 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: State of the powerpc64le port
  2019-11-19  0:07 State of the powerpc64le port Jonathan Brielmaier
@ 2019-11-19  0:33 ` dftxbs3e
  0 siblings, 0 replies; 2+ messages in thread
From: dftxbs3e @ 2019-11-19  0:33 UTC (permalink / raw)
  To: guix-devel

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

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

[-- Attachment #2: Type: text/html, Size: 3591 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-11-19  0:33 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-11-19  0:07 State of the powerpc64le port Jonathan Brielmaier
2019-11-19  0:33 ` dftxbs3e

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.