diff mbox series

rust: dynamically link with llvm for all rust variants

Message ID 20260310181354.2396448-1-alex.kanavin@gmail.com
State Under Review
Headers show
Series rust: dynamically link with llvm for all rust variants | expand

Commit Message

Alexander Kanavin March 10, 2026, 6:13 p.m. UTC
From: Alexander Kanavin <alex@linutronix.de>

This is a followup to an earlier fix, which did it only
for rust-native; additional testing revealed that nativsdk
and target builds have the same problem as they bootstrap
the compiler by first building an internal native version
that links with native llvm parts.

[YOCTO #16058]

Signed-off-by: Alexander Kanavin <alex@linutronix.de>
---
 meta/recipes-devtools/rust/rust_1.94.0.bb | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Deepesh Varatharajan March 11, 2026, 8:07 a.m. UTC | #1
Hi Alex,

This change need tweaks in rust.py and rust recipe to support multilib builds.
Without tweaks rust selftest and rust multilib builds will fail.

Required changes can be found here :
https://git.openembedded.org/openembedded-core-contrib/commit/?h=deepesh/sunil-rust-issue&id=44ce23e12e411ef9a1724e79c2b6ac6d5f0ddedc

Regards,
Deepesh
Alexander Kanavin March 11, 2026, 9:10 a.m. UTC | #2
On Wed, 11 Mar 2026 at 09:07, Varatharajan, Deepesh via
lists.openembedded.org
<deepesh.varatharajan=windriver.com@lists.openembedded.org> wrote:
> This change need tweaks in rust.py and rust recipe to support multilib builds.
> Without tweaks rust selftest and rust multilib builds will fail.
>
> Required changes can be found here :
> https://git.openembedded.org/openembedded-core-contrib/commit/?h=deepesh/sunil-rust-issue&id=44ce23e12e411ef9a1724e79c2b6ac6d5f0ddedc

Right, can you rebase and send your version please then?

Alex
Mathieu Dubois-Briand March 11, 2026, 9:13 a.m. UTC | #3
On Wed Mar 11, 2026 at 9:07 AM CET, Deepesh via lists.openembedded.org Varatharajan wrote:
> Hi Alex,
>
> This change need tweaks in rust.py and rust recipe to support multilib builds.
> Without tweaks rust selftest and rust multilib builds will fail.
>
> Required changes can be found here :
> https://git.openembedded.org/openembedded-core-contrib/commit/?h=deepesh/sunil-rust-issue&id=44ce23e12e411ef9a1724e79c2b6ac6d5f0ddedc
>
> Regards,
> Deepesh

Hi Alex, Deepesh,

I believe it is related to this error?

/tmp/work/test4341/rustc_codegen_llvm-e21c84994fd391cb: error while loading shared libraries: libLLVM.so.21.1: cannot open shared object file: No such file or directory
error: test failed, to rerun pass `-p rustc_codegen_llvm --lib`
https://autobuilder.yoctoproject.org/valkyrie/#/builders/58/builds/1177
https://autobuilder.yoctoproject.org/valkyrie/#/builders/42/builds/3286

Thanks,
Mathieu
Deepesh Varatharajan March 11, 2026, 10:40 a.m. UTC | #4
On 11-03-2026 14:43, Mathieu Dubois-Briand wrote:
> CAUTION: This email comes from a non Wind River email account!
> Do not click links or open attachments unless you recognize the sender and know the content is safe.
>
> On Wed Mar 11, 2026 at 9:07 AM CET, Deepesh via lists.openembedded.org Varatharajan wrote:
>> Hi Alex,
>>
>> This change need tweaks in rust.py and rust recipe to support multilib builds.
>> Without tweaks rust selftest and rust multilib builds will fail.
>>
>> Required changes can be found here :
>> https://git.openembedded.org/openembedded-core-contrib/commit/?h=deepesh/sunil-rust-issue&id=44ce23e12e411ef9a1724e79c2b6ac6d5f0ddedc
>>
>> Regards,
>> Deepesh
> Hi Alex, Deepesh,
>
> I believe it is related to this error?
Yes it is.
>
> /tmp/work/test4341/rustc_codegen_llvm-e21c84994fd391cb: error while loading shared libraries: libLLVM.so.21.1: cannot open shared object file: No such file or directory
> error: test failed, to rerun pass `-p rustc_codegen_llvm --lib`
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/58/builds/1177
> https://autobuilder.yoctoproject.org/valkyrie/#/builders/42/builds/3286
>
> Thanks,
> Mathieu
>
> --
> Mathieu Dubois-Briand, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com
>
diff mbox series

Patch

diff --git a/meta/recipes-devtools/rust/rust_1.94.0.bb b/meta/recipes-devtools/rust/rust_1.94.0.bb
index 2be0bd8d89..cfee48ec78 100644
--- a/meta/recipes-devtools/rust/rust_1.94.0.bb
+++ b/meta/recipes-devtools/rust/rust_1.94.0.bb
@@ -124,8 +124,7 @@  python do_configure() {
 
     # [llvm]
     config.add_section("llvm")
-    if d.getVar('PN') == "rust-native":
-        config.set("llvm", "link-shared", e(True))
+    config.set("llvm", "link-shared", e(True))
     config.set("llvm", "static-libstdcpp", e(False))
     config.set("llvm", "download-ci-llvm", e(False))
     if "llvm" in (d.getVar('TC_CXX_RUNTIME') or ""):