All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Yann E. MORIN" <yann.morin.1998@free.fr>
To: Nicolas TRAN <nicolas.tran@smile.fr>
Cc: Romain Naour <romain.naour@smile.fr>, buildroot@buildroot.org
Subject: Re: [Buildroot] [PATCHv3] package/rustc: needs C++ compiler with musl based toolchain
Date: Tue, 30 Aug 2022 21:20:27 +0200	[thread overview]
Message-ID: <20220830192027.GC68979@scaer> (raw)
In-Reply-To: <CAJdGGv5DAHVRjDdLhwvQDCh1mX4ZWo7zs8BQLqSEHXw2EWz4ZQ@mail.gmail.com>

Nicolas, All,

On 2022-07-28 16:51 +0200, Nicolas TRAN spake thusly:
> Reviewed- by: Nicolas Tran < [1]nicolas.tran@smile.fr>

You sent an HTML mail, it got completely borked, and your revieed-by tag
was picked weirdly by patchwork:
    Reviewed-by: Nicolas Tran <nicolas.tran@smile.fr <romain.naour@smile.fr>>

I've fixed that when applying.

Regards,
Yann E. MORIN.

> On Wed, Jul 27, 2022 at 10:38 AM Romain Naour < [2]romain.naour@smile.fr> wrote:
> 
>   While building host-rust with a musl based toolchain without C++ compiler,
>   the build fail since libunwind bundled in rust sources needs a C++ compiler.
> 
>   cargo:warning=i686-buildroot-linux-musl-gcc.br_real: error:
>   [...]/host-rust-1.62.0/src/llvm-project/libunwind/src/Unwind-EHABI.cpp: C++ compiler not installed on this system
> 
>   Note: the issues can't be reproduced with a glibc based toolchain
>   without C++ probaly due to extra steps required to support musl libc.
> 
>   We could add the C++ dependency direclty to host-rustc but it would
>   requires adding the C++ reverse dependencies to all rust packages.
> 
>   Instread, we add the C++ dependency to BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
>   only when a musl toolchain is used. So we can still install a prebuilt
>   rust compiler but without the rust standard library (rust-std).
> 
>   Usually we should not add toolchain dependencies in a _ARCH_SUPPORTS option but
>   BR2_PACKAGE_HOST_RUSTC_TARGET_TIER... options contains already some
>   BR2_TOOLCHAIN_USES_GLIBC or BR2_TOOLCHAIN_USES_MUSL.
> 
>   Fixes:
>   [3]http://autobuild.buildroot.org/results/636/636fb39c8f1b8c05e4ca451ac506cd63c7166d82
> 
>   Signed-off-by: Romain Naour < [4]romain.naour@smile.fr>
>   ---
>   v3: add a global C++ dependency to BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS (Yann)
>       update comment to use "C++ cross compiler"
>   v2: move the C++ dependency to BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
>       after James's review and discussion with Thomas and Arnout
>   ---
>    package/rustc/Config.in.host | 4 ++++
>    1 file changed, 4 insertions(+)
> 
>   diff --git a/package/rustc/Config.in.host b/package/rustc/Config.in.host
>   index fec8726aee..822de68dbb 100644
>   --- a/package/rustc/Config.in.host
>   +++ b/package/rustc/Config.in.host
>   @@ -110,11 +110,15 @@ config BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_PLATFORMS
>           default y if BR2_sparc64 && BR2_TOOLCHAIN_USES_GLIBC
> 
>    # All target rust packages should depend on this option
>   +# Note: With musl based toolchain, we need a C++ cross compiler to
>   +# build host-rust some target libraries (libunwind) from llvm source
>   +# code bundled in rust sources.
>    config BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
>           bool
>           default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER1_PLATFORMS
>           default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_HOST_TOOLS_PLATFORMS
>           default y if BR2_PACKAGE_HOST_RUSTC_TARGET_TIER2_PLATFORMS
>   +       depends on BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_USES_MUSL
>           depends on BR2_PACKAGE_HOST_RUSTC_ARCH_SUPPORTS
> 
>    config BR2_PACKAGE_HOST_RUSTC_ARCH
>   --
>   2.34.3
> 
>   _______________________________________________
>   buildroot mailing list
>   [5]buildroot@buildroot.org
>   [6]https://lists.buildroot.org/mailman/listinfo/buildroot
> 
> Links:
> 1. mailto:romain.naour@smile.fr
> 2. mailto:romain.naour@smile.fr
> 3. http://autobuild.buildroot.org/results/636/636fb39c8f1b8c05e4ca451ac506cd63c7166d82
> 4. mailto:romain.naour@smile.fr
> 5. mailto:buildroot@buildroot.org
> 6. https://lists.buildroot.org/mailman/listinfo/buildroot

> _______________________________________________
> buildroot mailing list
> buildroot@buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot


-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 561 099 427 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2022-08-30 19:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-07-27  8:37 [Buildroot] [PATCHv3] package/rustc: needs C++ compiler with musl based toolchain Romain Naour
2022-07-28 14:51 ` Nicolas TRAN
2022-08-30 19:20   ` Yann E. MORIN [this message]
2022-07-28 21:07 ` James Hilliard
2022-08-30 19:22   ` Yann E. MORIN
2022-09-01 18:33     ` James Hilliard
2022-08-30 19:16 ` Yann E. MORIN
2022-09-18  6:48   ` Peter Korsgaard

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220830192027.GC68979@scaer \
    --to=yann.morin.1998@free.fr \
    --cc=buildroot@buildroot.org \
    --cc=nicolas.tran@smile.fr \
    --cc=romain.naour@smile.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.