On Fri Jun 26, 2026 at 5:26 PM CEST, Yoann Congal wrote: > On Fri Jun 26, 2026 at 4:57 PM CEST, Alexander Kanavin wrote: >> On Fri, 26 Jun 2026 at 13:38, Yoann Congal <[email protected]> wrote: >>> I've hacked the backport until it passes testing: >>> https://autobuilder.yoctoproject.org/valkyrie/?#/builders/29/builds/4085 >>> ... but I'm really *NOT* sure this is the right approach. Hence this RFC >>> with the patches I ended-up with. >>> >>> If anyone could check/review/improve these patches to help me get them >>> to a mergable state, that'd be nice. Otherwise, I would have no other >>> choice than never support Ubuntu 26.04 on Scarthgap. >> >> I had a quick look, and they're basically ok. >> >> The key check is to run ldd on the rust-native pieces and confirm that >> they indeed start linking libLLVM*so dynamically after the patches (if >> it comes from rust-llvm, it's probably named differently). E.g. on my >> master build: >> >> alex@Zen2:/srv/storage/alex/yocto/build-64-alt$ ldd >> tmp/sysroots-components/x86_64/rust-native/usr/lib/librustc_driver-5e2c75e9f7705310.so >> linux-vdso.so.1 (0x00007f8f929d0000) >> libLLVM.so.22.1 => not found >> libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 >> (0x00007f8f8ca00000) >> >> alex@Zen2:/srv/storage/alex/yocto/build-64-alt$ ldd >> tmp/sysroots-components/x86_64/rust-native/usr/bin/rustc >> linux-vdso.so.1 (0x00007f3eee009000) >> librustc_driver-5e2c75e9f7705310.so => >> /srv/storage/alex/yocto/build-64-alt/tmp/sysroots-components/x86_64/rust-native/usr/bin/../lib/librustc_driver-5e2c75e9f7705310.so >> (0x00007f3ee8400000) >> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f3ee820c000) >> libLLVM.so.22.1 => not found >> libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 >> (0x00007f3ee7e00000) > > Ok! So that looks good, because with the patches I get: > $ ldd tmp/sysroots-components/x86_64/rust-native/usr/bin/rustc > linux-vdso.so.1 (0x00007ffc06548000) > librustc_driver-686d20105d1a2cf7.so => > $BUILD/tmp/sysroots-components/x86_64/rust-native/usr/bin/../lib/librustc_driver-686d20105d1a2cf7.so > (0x00007fcec0a00000) > libstd-64729a5a222c378b.so => > $BUILD/tmp/sysroots-components/x86_64/rust-native/usr/bin/../lib/libstd-64729a5a222c378b.so > (0x00007fcec08c0000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fcec06de000) > libLLVM-17.so => not found > libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 > (0x00007fcec0400000) > libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 > (0x00007fcec4d63000) > libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fcec0320000) > $BUILD/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 => > /lib64/ld-linux-x86-64.so.2 (0x00007fcec4d98000) > > And even: $ oe-run-native rust-native /bin/ldd > $BUILD/tmp/work/x86_64-linux/rust-native/1.75.0/recipe-sysroot-native/usr/bin/rustc > Getting sysroot... > linux-vdso.so.1 (0x00007ffd807b1000) > librustc_driver-686d20105d1a2cf7.so => > $BUILD/tmp/work/x86_64-linux/rust-native/1.75.0/recipe-sysroot-native/usr/bin/../lib/librustc_driver-686d20105d1a2cf7.so > (0x00007f9ab0800000) > libstd-64729a5a222c378b.so => > $BUILD/tmp/work/x86_64-linux/rust-native/1.75.0/recipe-sysroot-native/usr/bin/../lib/libstd-64729a5a222c378b.so > (0x00007f9ab06c0000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9ab04de000) > libLLVM-17.so => > $BUILD/tmp/work/x86_64-linux/rust-native/1.75.0/recipe-sysroot-native/usr/bin/../lib/./libLLVM-17.so > (0x00007f9aab000000) > libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 > (0x00007f9aaac00000) > libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 > (0x00007f9ab04be000) > libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9ab03de000) > $BUILD/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 => > /lib64/ld-linux-x86-64.so.2 (0x00007f9ab4ae2000) > > => It does, in fact, dynamically link on the built libLLVM-17.so.
Hmm, it looks like we have the problem but around the bootstraping rustc compiler: https://autobuilder.yoctoproject.org/valkyrie/#/builders/4/builds/4033/steps/12/logs/stdio l45466: | process didn't exit successfully: `/srv/pokybuild/yocto-worker/genericx86-64/build/build/tmp/work/core2-64-poky-linux/rust/1.75.0/rustc-1.75.0-src/build/bootstrap/debug/rustc [...] (exit status: 254) | error: rustc interrupted by SIGSEGV, printing backtrace I checked: it does not dynamically link to libLLVM.so $ ldd $BUILD/tmp/work/core2-64-poky-linux/rust/1.75.0/rustc-1.75.0-src/build/bootstrap/debug/rustc /bin/bash: warning: setlocale: LC_ALL: cannot change locale (fr_FR.utf8) linux-vdso.so.1 (0x00007fffc78b9000) libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f50950b2000) libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f5094ed0000) $BUILD/tmp/sysroots-uninative/x86_64-linux/lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f509516a000) I'll pull on that but suggestions welcome! > > Thanks! > >> >> Alex -- Yoann Congal Smile ECS
-=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#239695): https://lists.openembedded.org/g/openembedded-core/message/239695 Mute This Topic: https://lists.openembedded.org/mt/119988126/21656 Group Owner: [email protected] Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
