help-guix
[Top][All Lists]
Advanced

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

Re: libstdc++ for cross compilers


From: Ludovic Courtès
Subject: Re: libstdc++ for cross compilers
Date: Wed, 12 Apr 2017 11:24:59 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux)

Hello!

Ricardo Wurmus <address@hidden> skribis:

> The latest version includes C++ sources for the firmware.
> Unfortunately, our “arm-none-eabi” cross-compiler package does not
> build libstdc++, nor does it come with any of the required C++ headers
> like “cmath”.
>
> So I tried to change our “arm-none-eabi” cross-compiler packages to also
> build and install libstdc++ but failed in a multitude of ways.  The end
> result is always that either the compiler fails to build (e.g. when
> enabling libstdc++ via configure flags) or that the compiler fails to
> find the header files that are included via “#include_next” directives
> (e.g. when building libstdc++ as a separate package).
>
> Could someone with GCC experience give me a hint despite my vague
> problem description?

libstdc++ itself can probably be cross-built with:

  guix build libstdc++ --target=arm-none-eabi

The problem is getting a cross-g++.  I suspect libstdc++ sorta relies on
having a “real” libc, which is why we normally do things like:

   (let ((triplet "arm-linux-gnueabihf"))
     (cross-gcc triplet
                (cross-binutils triplet)
                (cross-libc triplet))))

where the final ‘cross-gcc’ has C++ support.

I’m not sure if it makes sense for the board you’re targeting, but maybe
you could try building with a full-blown cross-gcc like this?

HTH,
Ludo’.



reply via email to

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