On Tue, Oct 25, 2022 at 9:15 AM Alexander Kanavin
<[email protected]> wrote:
>
> 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.

Right.

>
> Patches are coming shortly.
>

Thanks, I think we can also unbolt the workaround in librsvg as well.

diff --git a/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
b/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
index fc52ae61c5..daf60217d4 100644
--- a/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
+++ b/meta/recipes-gnome/librsvg/librsvg_2.54.5.bb
@@ -35,7 +35,6 @@ export RUST_TARGET = "${RUST_HOST_SYS}"
 RUSTFLAGS:append:mips = " --cfg crossbeam_no_atomic_64"
 RUSTFLAGS:append:mipsel = " --cfg crossbeam_no_atomic_64"
 RUSTFLAGS:append:powerpc = " --cfg crossbeam_no_atomic_64"
-RUSTFLAGS:append:riscv32 = " --cfg crossbeam_no_atomic_64"

 CARGO_DISABLE_BITBAKE_VENDORING = "1"
 do_configure[postfuncs] += "cargo_common_do_configure"

> Alex
>
> On Sat, 22 Oct 2022 at 21:56, Alexander Kanavin via
> lists.openembedded.org <[email protected]>
> 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 <[email protected]> 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 <[email protected]>
> > > ---
> > >  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 (#172144): 
https://lists.openembedded.org/g/openembedded-core/message/172144
Mute This Topic: https://lists.openembedded.org/mt/94464934/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to