[kirkstone] `rustc` executable missing from sdk


Danny Hadley
 

Hello all! I am working on integrating my application CI pipeline with the SDK generated by our yocto CI pipeline. So far, I have been able to build an SDK with cargo included by adding the following `TOOLCHAIN_HOST_TASK` assignment to our local.conf:

```

TOOLCHAIN_HOST_TASK:append = " nativesdk-cargo"

```

 

and building the SDK via 

```

bitbake -k -c populate_sdk <our image name>

```

 

However, when our application CI picks up the SDK, it looks like it is missing the underlying `rustc` executable; a `cargo build` command fails with:

 

```

error: could not execute process `rustc -vV` (never executed)

```

 

I've manually sourced the SDK environment in a shell and confirmed that `which` does pick up cargo but not `rustc`:

 

```

$ which cargo

/<SDK installation path>/.sdk/sysroots/x86_64-pokysdk-linux/usr/bin/cargo
$ which rustc

```

 

Has anyone been able to populate the SDK on kirkstone with a working rustc/cargo toolchain?

I've also tried comparing langdale and kirkstone; it looks like on langdale some work was done to add `nativesdk` support to the rust recipe itself (via BBCLASSEXTEND in rust-target.inc). I've been trying to mirror those changes via `.bbappend` files but haven't quite figured out what strings to pull. 

I'd be happy to provide any additional information that'd help triage.

 

 

Thanks!

- Danny


Randy MacLeod
 

On 2023-02-27 11:45, Danny Hadley via lists.yoctoproject.org wrote:

Hello all! I am working on integrating my application CI pipeline with the SDK generated by our yocto CI pipeline. So far, I have been able to build an SDK with cargo included by adding the following `TOOLCHAIN_HOST_TASK` assignment to our local.conf:

```

TOOLCHAIN_HOST_TASK:append = " nativesdk-cargo"

```

 

and building the SDK via 

```

bitbake -k -c populate_sdk <our image name>

```

 

However, when our application CI picks up the SDK, it looks like it is missing the underlying `rustc` executable; a `cargo build` command fails with:

 

```

error: could not execute process `rustc -vV` (never executed)

```

 

I've manually sourced the SDK environment in a shell and confirmed that `which` does pick up cargo but not `rustc`:

 

```

$ which cargo

/<SDK installation path>/.sdk/sysroots/x86_64-pokysdk-linux/usr/bin/cargo
$ which rustc

```

 

Has anyone been able to populate the SDK on kirkstone with a working rustc/cargo toolchain?

I've also tried comparing langdale and kirkstone; it looks like on langdale some work was done to add `nativesdk` support to the rust recipe itself (via BBCLASSEXTEND in rust-target.inc). I've been trying to mirror those changes via `.bbappend` files but haven't quite figured out what strings to pull. 

I'd be happy to provide any additional information that'd help triage.

Hi Danny,

Sorry for the long delay in replying. Did you ever get this to work?

Sundeep is CCed and he can help a bit if not since I'm away next week.

../Randy

 

 

Thanks!

- Danny




-- 
# Randy MacLeod
# Wind River Linux