guix-devel
[Top][All Lists]
Advanced

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

Re: Trying to crosscompile for POWER9


From: Chris Marusich
Subject: Re: Trying to crosscompile for POWER9
Date: Tue, 30 Oct 2018 20:02:07 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)

Hi Tobias!

Thank you for trying things out for POWER9!  I'm also interested in this
platform, although I have to admit I don't own any hardware (yet!) and
haven't tried it out.  I've only read about it so far.

Tobias Platen <address@hidden> writes:

> On 10/22/2018 06:39 PM, Leo Famulari wrote:
>> On Sun, Oct 21, 2018 at 08:30:03AM +0200, Tobias Platen wrote:
>>> On 10/20/2018 09:09 PM, Tobias Platen wrote:
>>> Here are the build logs from guix. I have tried building the toolchain
>>> twice, but in both cases glibc failed to build.
>>
>> [...]
>>
>>> running configure fragment for sysdeps/powerpc/powerpc64/le
>>> checking if powerpc64le-linux-gcc supports binary128 floating point
>>> type... no
>>> checking if the target machine is at least POWER8... yes
>>> configure: error: *** binary128 floating point type (GCC >= 6.2) is
>>> required on powerpc64le.
>>
>> Searching around, I found other distros hit the same problem for their
>> POWER ports, and needed to explicitly configure GCC >= 6.2 to build with
>> 128-bit floating point types. Specifically, with the option
>> '--with-long-double-128':
>>
>> https://github.com/advancetoolchain/advance-toolchain/commit/e22696eecb39c6b401df14001f01608807e4d934
>> http://lists.busybox.net/pipermail/buildroot/2017-August/200952.html
>>
>> I hope that helps!
>>
> I modified the file "gnu/packages/cross-base.scm" and the cross gcc
> still does not support 128-bit floating point types. How do I trigger
> a rebuild of the cross compiler so I can verify that it is configured
> correctly.

You can try to cross-build something as usual, I suppose.  It's a bit
heavy-handed, since it will try to build the entire cross-compilation
toolchain also, but it might work.

To see if you can build *just* the cross-compiler, you might need to get
tricky.  For example, you might need to break out a Guile REPL, load
some Guix modules, and manually hack around with some of the code in
gnu/packages/cross-base.scm.  In theory, you ought to be able to create
a package or a derivation that builds the cross-compiler you are using,
or a cross-compiler that is similar to it.

That's all the advice I can think of right now.  You're not alone - I've
fumbled around quite a bit while learning how Guix does its
cross-compilation and bootstrapping.  It's not easy going, but hopefully
you will be able to find a way forward.  Good luck!

-- 
Chris

Attachment: signature.asc
Description: PGP signature


reply via email to

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