| Summary: | rust-cross sdk build failed with error 'nothing provides : libstdc++.so.6' | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Sundeep Kokkonda <sundeep.kokkonda> |
| Component: | devtools / tool chain | Assignee: | Deepthi <Deepthi.Hemraj> |
| Status: | RESOLVED WONTFIX | QA Contact: | |
| Severity: | normal | ||
| Priority: | Medium | CC: | meta.mr.watcher, meta.watcher, randy.macleod, steve |
| Version: | unspecified | ||
| Target Milestone: | 4.0.15 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
If we need to address this bug, we should probably do a mixin layer. This bug is observed with below config:
TOOLCHAIN_HOST_TASK:append = " packagegroup-rust-cross-canadian-${MACHINE}"
I remember this used to build without any issues in past (on 'master' branch). I do not think mix-in layer is required here, that is an entirely different feature.
Can this be reproduced? If so, then could you try using the mix-in layer to see if it is resolved using that layer? Hi Randy, >> Can this be reproduced? The issue was reproducible only on kirkstone branch. However, the issue seems to be fixed in later branches like master and mickledore. I have analyzed the issue and added the dependency packages to packagegroup-rust-cross-canadian and rust files. However, the issue was not resolved. Investigated the oe sources and found the patches that fixed the issue. The following patches seem to fix the issue in the latest oe sources. rust: update 1.59.0 -> 1.60.0 https://git.openembedded.org/openembedded-core/commit/?id=786a9a66486cf179ee4c9e295569fcd8c37fef78 libstd-rs: Forward port rust libc patches https://git.openembedded.org/openembedded-core/commit/?h=mickledore&id=e3a910af0c0c4e07b15d03e9625760f98c67e874 Please let me know if you would like me to update rust version to 1.60 and also port the other dependent patches which may fix the issue in kirkstone branch. In Kirkstone, the 'rust' has many issues like dependencies on host libs, no target support... etc. These were fixed in later versions of rust (in poky master). To fix the issues related to sdk, a rust upgrade with mix-in layer needed and all the relevant patches (~50) from master branch are to be back ported. This solution is not planned for Kirkstone and closing the bug as won't fix. |
In Kirkstone branch, add below lines in local.conf and give build command 'bitbake core-image-minimal -c populate_sdk' TOOLCHAIN_HOST_TASK:append = " packagegroup-rust-cross-canadian-${MACHINE}" IMAGE_INSTALL:append = " gcc g++ binutils libgcc libgcc-dev libstdc++ libstdc++-dev libstdc++-staticdev" SDK_TOOLCHAIN_LANGS += "rust" The build failed with below error: ---------------------------------- Build Configuration: BB_VERSION = "2.0.0" BUILD_SYS = "x86_64-linux" NATIVELSBSTRING = "universal" TARGET_SYS = "x86_64-poky-linux" MACHINE = "qemux86-64" DISTRO = "poky" DISTRO_VERSION = "4.0.8" TUNE_FEATURES = "m64 core2" TARGET_FPU = "" meta meta-poky meta-yocto-bsp = "kirkstone:85661be8ff3623faf05525bc9f27a2457381f8e9" Initialising tasks: 100% |#######################################################################################################################################| Time: 0:00:03 Sstate summary: Wanted 1 Local 0 Mirrors 0 Missed 1 Current 1448 (0% match, 99% complete) NOTE: Executing Tasks ERROR: core-image-minimal-1.0-r0 do_populate_sdk: Could not invoke dnf. Command '/ws/kirkstone/buildA/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/recipe-sysroot-native/usr/bin/dnf -v --rpmverbosity=info -y -c /ws/kirkstone/buildA/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/etc/dnf/dnf.conf --setopt=reposdir=/ws/kirkstone/buildA/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/etc/yum.repos.d --installroot=/ws/kirkstone/buildA/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image --setopt=logdir=/ws/kirkstone/buildA/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/temp --repofrompath=oe-repo,/ws/kirkstone/buildA/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/oe-sdk-repo --nogpgcheck install nativesdk-packagegroup-sdk-host packagegroup-cross-canadian-qemux86-64 packagegroup-rust-cross-canadian-qemux86-64' returned 1: DNF version: 4.11.1 cachedir: /ws/kirkstone/buildA/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/sdk/image/var/cache/dnf Added oe-repo repo from /ws/kirkstone/buildA/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/oe-sdk-repo User-Agent: constructed: 'libdnf (Ubuntu 22.04; generic; Linux.x86_64)' repo: using cache for: oe-repo oe-repo: using metadata from Mon 27 Mar 2023 05:18:32 AM UTC. Last metadata expiration check: 0:00:01 ago on Mon 27 Mar 2023 05:20:09 AM UTC. --> Starting dependency resolution --> Finished dependency resolution Error: Problem: package packagegroup-rust-cross-canadian-qemux86-64-1.0-r0.x86_64_nativesdk requires rust-cross-canadian-x86-64, but none of the providers can be installed - conflicting requests - nothing provides libstdc++.so.6(GLIBCXX_3.4.30)(64bit) needed by rust-cross-canadian-x86-64-1.59.0-r0.x86_64_nativesdk (try to add '--skip-broken' to skip uninstallable packages) ERROR: Logfile of failure stored in: /ws/kirkstone/buildA/tmp/work/qemux86_64-poky-linux/core-image-minimal/1.0-r0/temp/log.do_populate_sdk.3838119 ERROR: Task (/ws/kirkstone/meta/recipes-core/images/core-image-minimal.bb:do_populate_sdk) failed with exit code '1' NOTE: Tasks Summary: Attempted 4248 tasks of which 4247 didn't need to be rerun and 1 failed. Summary: 1 task failed: /ws/kirkstone/meta/recipes-core/images/core-image-minimal.bb:do_populate_sdk Summary: There was 1 ERROR message, returning a non-zero exit code.