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]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to