When installing and setting up a SDK with packagegroup-rust-cross-canadian it fails if the installation path is too long. I have found similar issues in meta-rust [1] and some other setup [2] that can be related. Steps to reproduce: <setup standard poky build, qemux86_64> $ echo 'TOOLCHAIN_HOST_TASK:append = " packagegroup-rust-cross-canadian-${MACHINE}"' >> conf/auto.conf $ bitbake core-image-minimal -cpopulate_sdk <installation> $ ./tmp/deploy/sdk/poky-glibc-x86_64-core-image-minimal-core2-64-qemux86-64-toolchain-3.4+snapshot.sh Poky (Yocto Project Reference Distro) SDK installer version 3.4+snapshot ======================================================================== Enter target directory for SDK (default: /opt/poky/3.4+snapshot): /work/sdk/install/sdk/to/a/really/long/path You are about to install the SDK to "/work/sdk/install/sdk/to/a/really/long/path". Proceed [Y/n]? y Extracting SDK....................................................................................done Setting it up...ERROR: could not relocate /work/sdk/install/sdk/to/a/really/long/path/sysroots/x86_64-pokysdk-linux/usr/bin/cargo-clippy, interp size = 84 and 99 is needed. ERROR: could not relocate /work/sdk/install/sdk/to/a/really/long/path/sysroots/x86_64-pokysdk-linux/usr/bin/cargo, interp size = 84 and 99 is needed. ERROR: could not relocate /work/sdk/install/sdk/to/a/really/long/path/sysroots/x86_64-pokysdk-linux/usr/bin/rustfmt, interp size = 84 and 99 is needed. ERROR: could not relocate /work/sdk/install/sdk/to/a/really/long/path/sysroots/x86_64-pokysdk-linux/usr/bin/rustdoc, interp size = 84 and 99 is needed. ERROR: could not relocate /work/sdk/install/sdk/to/a/really/long/path/sysroots/x86_64-pokysdk-linux/usr/bin/rustc, interp size = 84 and 99 is needed. ERROR: could not relocate /work/sdk/install/sdk/to/a/really/long/path/sysroots/x86_64-pokysdk-linux/usr/bin/clippy-driver, interp size = 84 and 99 is needed. ERROR: could not relocate /work/sdk/install/sdk/to/a/really/long/path/sysroots/x86_64-pokysdk-linux/usr/lib/x86_64-poky-linux/rustlib/x86_64-unknown-linux-gnu/bin/rust-llvm-dwp, interp size = 84 and 99 is needed. done SDK has been successfully set up and is ready to be used. Each time you wish to use the SDK in a new shell session, you need to source the environment setup script e.g. $ . /work/sdk/install/sdk/to/a/really/long/path/environment-setup-core2-64-poky-linux The workaround is fairly easy and it is to install the SDK to a shorter path. In that sense this is no big blocker but if we can find a solution it would be good. [1] https://github.com/kraj/meta-clang/issues/119 [2] https://lists.yoctoproject.org/g/yocto/message/48173
We modify the SDK compile flags or perhaps the compiler itself to make the SDK work so we'll have to rust SDK components as well. Ping me as needed and we'll try to find an example.
see: meta/recipes-devtools/binutils/binutils/0001-binutils-crosssdk-Generate-relocatable-SDKs.patch according to RP.
Sundeep, Naveen, Peter, Is this still a problem or is it resolved by: https://git.openembedded.org/openembedded-core/commit/?id=7d6f4b1373e4dfafc63702ef2426cd45100f18a3
Hi Randy, The below commit is for different issue (14742). https://git.openembedded.org/openembedded-core/commit/?id=7d6f4b1373e4dfafc63702ef2426cd45100f18a3 For this issue, the work is in progress with Chandra.
Naveen are you the right owner here?
(In reply to comment #5) > Naveen are you the right owner here? I suppose Sundeep is working on this issue. Hence, he should be the right owner.
Unable to reproduce the issue with latest sources. Issue fixed with commit ID ce18cc1d72374d7bec2b069b71e72e49aff5649a. For Patch details refer mailing list message https://lists.openembedded.org/g/openembedded-core/message/168878. Tested the sdk installed cargo and rust and those are working fine. So the issue is closed.