Ok, I have looked into this properly now. So:

- the fail started to occur in 1.64 because crossbeam-utils is now a
dependency of rust core (hard fail) and not just rustfmt (soft fail)
- the correct way to address it is indeed to map oe arch (riscv32) to
rust arch (riscv32gc) via meta/lib/oe/rust.py, which works globally
across all recipes where this may occur.
- however doing that exposed confusion about how we map arches, as
there is actually a *third* arch involved (the internal llvm one
listed in custom target definition), which too needs to be correctly
mapped from oe arch so I fixed that as well.

None of the three arch sets match each other exactly, unfortunately.

Patches are coming shortly.

Alex

On Sat, 22 Oct 2022 at 21:56, Alexander Kanavin via
lists.openembedded.org <alex.kanavin=gmail....@lists.openembedded.org>
wrote:
>
> Ok, I'd like to understand where the failure is exactly. I just ran
> 'bitbake rust' with poky master (rust 1.63) for qemuriscv32 machine,
> and it succeeded. How can I see the fail? Did this become broken with
> a 1.64.0 upgrade in your branch? (which I believe hasn't yet been
> through the autobuilder, and so might show similar fails for other
> targets without atomic_64 support)
>
> Alex
>
> On Fri, 21 Oct 2022 at 00:30, Khem Raj <raj.k...@gmail.com> wrote:
> >
> > riscv32 builds fail since AtomicI64 is not available in sync::atomic for
> > this architecture. Therefore it needs to be opted out and the way out is
> > to pass it by RUSTFLAGS, however rust target recipe overrides RUSTFLAGS
> > before exporting it so its better to piggy back on the variable its
> > using which is RUST_DEBUG_REMAP
> >
> > Signed-off-by: Khem Raj <raj.k...@gmail.com>
> > ---
> >  meta/recipes-devtools/rust/rust_1.64.0.bb | 1 +
> >  1 file changed, 1 insertion(+)
> >
> > diff --git a/meta/recipes-devtools/rust/rust_1.64.0.bb 
> > b/meta/recipes-devtools/rust/rust_1.64.0.bb
> > index 1f9dbd3cce..b05f188d9c 100644
> > --- a/meta/recipes-devtools/rust/rust_1.64.0.bb
> > +++ b/meta/recipes-devtools/rust/rust_1.64.0.bb
> > @@ -9,6 +9,7 @@ FILES:${PN}-dev = ""
> >
> >  # Used by crossbeam_atomic.patch
> >  export TARGET_VENDOR
> > +RUST_DEBUG_REMAP:append:riscv32 = " --cfg crossbeam_no_atomic_64"
> >
> >  do_compile () {
> >      rust_runx build --stage 2
> > --
> > 2.38.1
> >
> >
> >
> >
>
> 
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#172138): 
https://lists.openembedded.org/g/openembedded-core/message/172138
Mute This Topic: https://lists.openembedded.org/mt/94464934/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to