public inbox for openembedded-core@lists.openembedded.org
 help / color / mirror / Atom feed
From: Richard Purdie <richard.purdie@linuxfoundation.org>
To: Harish.Sadineni@windriver.com, openembedded-core@lists.openembedded.org
Cc: Randy.MacLeod@windriver.com, Sundeep.Kokkonda@windriver.com,
	 yoann.congal@smile.fr, bruce.ashfield@gmail.com
Subject: Re: [PATCH v9 07/14] kernel: Disable ccache when kernel rust support is enabled
Date: Sat, 14 Mar 2026 09:38:21 +0000	[thread overview]
Message-ID: <1cb32301f3c59441a94163ddf5ee25ff3f8be634.camel@linuxfoundation.org> (raw)
In-Reply-To: <20260313155920.2347101-8-Harish.Sadineni@windriver.com>

On Fri, 2026-03-13 at 08:59 -0700, Harish.Sadineni@windriver.com wrote:
> From: Harish Sadineni <Harish.Sadineni@windriver.com>
> 
> Currently, a ccache enabled build fails with:
>   |   HOSTRUSTC scripts/generate_rust_target
>   |   HOSTCC  scripts/kallsyms
>   |   HOSTCC  scripts/sorttable
>   |   HOSTCC  scripts/asn1_compiler
>   |   TOUCH   include/generated/gcc-plugins.h
>   |   DESCEND objtool
>   | error: multiple input filenames provided (first two filenames are gcc and
> .../tmp/work-shared/qemux86-64/kernel-source/scripts/generate_rust_target.rs)
> 
> Linux rust build infrastructure does not currently support ccache (Opened bug[0]).
> 
> Quick summary: There are 2 issues: $HOSTCC is not escaped and rustc
> expect a path (and not a command)
> 
> Disable ccache if KERNEL_RUST_SUPPORT is 'True' for kernel and kernel module builds, including
> auxiliary tooling such as make-mod-scripts.
> 
> More details in: https://lists.openembedded.org/g/openembedded-core/message/229336
> 
> [0]: https://github.com/Rust-for-Linux/linux/issues/1224
> 
> Co-developed-by: Yoann Congal <yoann.congal@smile.fr>
> Signed-off-by: El Mehdi YOUNES <elmehdi.younes@smile.fr>
> Cc: Alban MOIZAN <alban.moizan@smile.fr>
> Signed-off-by: Yoann Congal <yoann.congal@smile.fr>
> Signed-off-by: Harish Sadineni <Harish.Sadineni@windriver.com>
> ---
>  meta/classes-recipe/kernel-yocto-rust.bbclass              | 7 +++++++
>  .../make-mod-scripts/make-mod-scripts_1.0.bb               | 7 +++++++
>  2 files changed, 14 insertions(+)
> 
> diff --git a/meta/classes-recipe/kernel-yocto-rust.bbclass b/meta/classes-recipe/kernel-yocto-rust.bbclass
> index fd9ee91c79..608ccc4609 100644
> --- a/meta/classes-recipe/kernel-yocto-rust.bbclass
> +++ b/meta/classes-recipe/kernel-yocto-rust.bbclass
> @@ -16,3 +16,10 @@ do_kernel_configme[depends] += "${RUST_KERNEL_TASK_DEPENDS}"
>  do_kernel_configme:append () {
>          oe_runmake -C ${S} O=${B} rustavailable
>  }
> +
> +# Linux rust build infrastructure does not currently support ccache
> +# see https://github.com/Rust-for-Linux/linux/issues/1224
> +# Quick summary: There are 2 issues: $HOSTCC is not escaped and rustc expect a path (and not a command)
> +# More details in: https://lists.openembedded.org/g/openembedded-core/message/229336
> +# Disable ccache for kernel build if kernel rust support is enabled to workaround this.
> +CCACHE_DISABLE ?= "1"
> diff --git a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
> index 874e16e642..5fbc5c2154 100644
> --- a/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
> +++ b/meta/recipes-kernel/make-mod-scripts/make-mod-scripts_1.0.bb
> @@ -36,3 +36,10 @@ do_configure() {
>  		-C ${STAGING_KERNEL_DIR} O=${STAGING_KERNEL_BUILDDIR} $t
>  	done
>  }
> +
> +# Linux rust build infrastructure does not currently support ccache
> +# see https://github.com/Rust-for-Linux/linux/issues/1224
> +# Quick summary: There are 2 issues: $HOSTCC is not escaped and rustc expect a path (and not a command)
> +# More details in: https://lists.openembedded.org/g/openembedded-core/message/229336
> +# Disable ccache for kernel build if kernel rust support is enabled to workaround this
> +CCACHE_DISABLE ?= "{@bb.utils.contains('KERNEL_FEATURES', 'rust', "1", "0", d)}"

This fails to run, it is missing a '$'. No need to resend, I've fixed
in what I'm testing on master-next.

Cheers,

Richard



  reply	other threads:[~2026-03-14  9:38 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-03-13 15:59 [PATCH v9 00/14] Enable rust support for linux kernel Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 01/14] kernel-yocto: Enable rust in kernel Harish.Sadineni
2026-03-13 16:07   ` Bruce Ashfield
2026-03-13 15:59 ` [PATCH v9 02/14] linux-yocto: conditionally add clang/rust/bindgen-cli-native to DEPENDS Harish.Sadineni
2026-03-16 16:58   ` Varatharajan, Deepesh
2026-03-13 15:59 ` [PATCH v9 03/14] rust: install Rust library sources for 'make rustavailable' support Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 04/14] kernel-yocto-rust: enable Rust kernel support via 'make rustavailable' Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 05/14] kernel-yocto-rust: Fix for buildpaths errors when rust is enabled for kernel Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 06/14] make-mod-scripts: split `HOSTCC` flag to align with to linux-yocto Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 07/14] kernel: Disable ccache when kernel rust support is enabled Harish.Sadineni
2026-03-14  9:38   ` Richard Purdie [this message]
2026-03-13 15:59 ` [PATCH v9 08/14] kernel-devsrc: copying rust-kernel source to $kerneldir/build Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 09/14] selftest/cases/runtime_test: Add test for Linux Rust sample Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 10/14] kernel.bbclass: Copy include/config/auto.conf in STAGING_KERNEL_BUILDDIR Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 11/14] module-rust.bbclass: Prepare out-of-tree rust module compilation Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 12/14] meta-skeleton: Add rust-out-of-tree-module recipe Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 13/14] make-mod-scripts: fix for buildpath issues with rust-out-of-tree compilation Harish.Sadineni
2026-03-13 15:59 ` [PATCH v9 14/14] runtime_test: Add rust-out-of-tree selftest Harish.Sadineni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1cb32301f3c59441a94163ddf5ee25ff3f8be634.camel@linuxfoundation.org \
    --to=richard.purdie@linuxfoundation.org \
    --cc=Harish.Sadineni@windriver.com \
    --cc=Randy.MacLeod@windriver.com \
    --cc=Sundeep.Kokkonda@windriver.com \
    --cc=bruce.ashfield@gmail.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=yoann.congal@smile.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox