On 3/9/2026 9:59 PM, Bruce Ashfield 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 Mon, Mar 9, 2026 at 12:10 PM Harish Sadineni <[email protected]> wrote:


    On 3/9/2026 4:56 PM, Richard Purdie 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, 2026-03-04 at 09:43 -0800, Sadineni, Harish vialists.openembedded.org  
<https://urldefense.com/v3/__http://lists.openembedded.org__;!!AjveYdw8EvQ!cWPq0za66UhcuPm1JB9FSYJ5JMWWpL_480vZLcrK0BTZbuoPaFvjdJly1r2bF4S-jo8X5LrrrXkmL3xU90Zr5Er_U2VxaLk$>
  wrote:
    From: Harish Sadineni<[email protected]>  
<mailto:[email protected]>

    Conditionally add 'clang-native', 'rust-native' and 'bindgen-cli-native' to 
'DEPENDS'
    when Kernel Rust Support is enabled.

    These tools are required for building Rust-enabled kernels and for
    generating Rust FFI bindings via bindgen during the kernel build.

    This ensures the additional dependencies are only pulled in when
    Rust support is explicitly enabled, avoiding unnecessary native
    dependencies for non-Rust kernel builds.

    Signed-off-by: Harish Sadineni<[email protected]>  
<mailto:[email protected]>
    ---
      meta/recipes-kernel/linux/linux-yocto.inc  
<https://urldefense.com/v3/__http://linux-yocto.inc__;!!AjveYdw8EvQ!cWPq0za66UhcuPm1JB9FSYJ5JMWWpL_480vZLcrK0BTZbuoPaFvjdJly1r2bF4S-jo8X5LrrrXkmL3xU90Zr5Er_ybuc9RA$>
  | 3 +++
      1 file changed, 3 insertions(+)

    diff --git a/meta/recipes-kernel/linux/linux-yocto.inc  
<https://urldefense.com/v3/__http://linux-yocto.inc__;!!AjveYdw8EvQ!cWPq0za66UhcuPm1JB9FSYJ5JMWWpL_480vZLcrK0BTZbuoPaFvjdJly1r2bF4S-jo8X5LrrrXkmL3xU90Zr5Er_ybuc9RA$>
  b/meta/recipes-kernel/linux/linux-yocto.inc  
<https://urldefense.com/v3/__http://linux-yocto.inc__;!!AjveYdw8EvQ!cWPq0za66UhcuPm1JB9FSYJ5JMWWpL_480vZLcrK0BTZbuoPaFvjdJly1r2bF4S-jo8X5LrrrXkmL3xU90Zr5Er_ybuc9RA$>
    index 4d0a726bb6..b7961bbcdf 100644
    --- a/meta/recipes-kernel/linux/linux-yocto.inc  
<https://urldefense.com/v3/__http://linux-yocto.inc__;!!AjveYdw8EvQ!cWPq0za66UhcuPm1JB9FSYJ5JMWWpL_480vZLcrK0BTZbuoPaFvjdJly1r2bF4S-jo8X5LrrrXkmL3xU90Zr5Er_ybuc9RA$>
    +++ b/meta/recipes-kernel/linux/linux-yocto.inc  
<https://urldefense.com/v3/__http://linux-yocto.inc__;!!AjveYdw8EvQ!cWPq0za66UhcuPm1JB9FSYJ5JMWWpL_480vZLcrK0BTZbuoPaFvjdJly1r2bF4S-jo8X5LrrrXkmL3xU90Zr5Er_ybuc9RA$>
    @@ -76,11 +76,14 @@ do_install:append(){
      KERNEL_FEATURES:append:qemuall = " 
features/kernel-sample/kernel-sample.scc"

      KERNEL_DEBUG ?= ""
    +KERNEL_RUST_SUPPORT ?= ""
      # These used to be version specific, but are now common dependencies.  New
      # tools / dependencies will continue to be added in version specific 
recipes.
      DEPENDS += '${@bb.utils.contains_any("ARCH", [ "x86", "arm64", "powerpc" ], 
"elfutils-native", "", d)}'
      DEPENDS += "openssl-native util-linux-native"
      DEPENDS += "gmp-native libmpc-native"
    +RUST_KERNEL_DEPENDS ?="${@bb.utils.contains('KERNEL_RUST_SUPPORT', 'True',
    'clang-native rust-native bindgen-cli-native', '', d)}"  
<mailto:$%[email protected]('KERNEL_RUST_SUPPORT','True','clang-nativerust-nativebindgen-cli-native','',d)%7D>
    +DEPENDS += "${RUST_KERNEL_DEPENDS}"

      # Some options depend on CONFIG_PAHOLE_VERSION, so need to make 
pahole-native available before do_kernel_configme
      do_kernel_configme[depends] += '${@bb.utils.contains("KERNEL_DEBUG", "True", 
"pahole-native:do_populate_sysroot", "", d)}'
    I thought we were going to try and use KERNEL_FEATURES for this?
    Hi Richard,

    I have tried this but i got circular dependency error with
    KERNEL_FEATURES. So, I opted using variable KERNEL_RUST_SUPPORT.


I'm curious about that. Can you share the details ? (diff and the bitbake error)

As discussed previously, I attempted to use the following in meta/recipes-kernel/linux/linux-yocto_6.18.bb:

KERNEL_FEATURES:append = " ${@bb.utils.contains('KERNEL_FEATURES', 'rust-kernel', ' features/kernel-rust/kernel-rust.scc', '', d)}"

This resulted in a BitBake variable dependency chain failure. The issue occurs because the expression is trying to read KERNEL_FEATURES while simultaneously modifying KERNEL_FEATURES, which creates a circular dependency.

example:
 The variable dependency chain for the failure is: KERNEL_FEATURES -> KERNEL_FEATURES -> KERNEL_FEATURES -> KERNEL_FEATURES...

Thanks,
Harish

Bruce

    The implementation of KERNEL_RUST_SUPPORT is problematic as it only
    works for the value of "True", not "true", or "1" or 1 or any other
    thing people might dream up. "Contains" isn't really an appropriate
    mechanism for a boolean either.

    You can use bb.utils.to_boolean() as a way to better obtain a boolean
    value from a random variable.
    Understood, Earlier i took reference from the code that already
    present in that file.
    I have updated the code we will send v8.

    Thanks,
    Harish
    Cheers,

    Richard







--
- Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end
- "Use the force Harry" - Gandalf, Star Trek II

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#232730): 
https://lists.openembedded.org/g/openembedded-core/message/232730
Mute This Topic: https://lists.openembedded.org/mt/118136909/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to