Hi Markus,

Hardcoding the LLVM version like this is fragile. We should look for a more
robust way to handle the clang dependency that doesn't rely on a specific
version number in the path.

Best regards,

Khem Raj


On Wed, Jul 1, 2026, 9:38 AM Markus Volk via lists.openembedded.org <f_l_k=
[email protected]> wrote:

> Build checks if ${STAGING_BINDIR}/clang-22 is available and runnable
>
> | FAILED: [code=101]
> src/gallium/frontends/rusticl/rusticl_mesa_bindings.rs
> src/gallium/frontends/rusticl/rusticl_mesa_bindings.c
> |
> /home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/recipe-sysroot-native/usr/bin/bindgen
> ../sources/mesa-26.1.2/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h
> --output
> /home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/build/src/gallium/frontends/rusticl/rusticl_mesa_bindings.rs
> --wrap-unsafe-ops --raw-line '#![allow(clippy::all)]' --raw-line
> '#![allow(improper_ctypes)]' --raw-line '#![allow(unused_unsafe)]'
> --raw-line '#![allow(non_camel_case_types)]' --raw-line
> '#![allow(non_snake_case)]' --raw-line '#![allow(non_upper_case_globals)]'
> --raw-line '#![allow(unsafe_op_in_unsafe_fn)]' --raw-line
> '#![allow(unnecessary_transmutes)]' --raw-line '#![allow(warnings)]'
> --no-convert-floats --default-enum-style rust --with-derive-partialeq
> --with-derive-eq --with-derive-partialord --with-derive-ord
> --with-derive-hash --with-derive-default --anon-fields-prefix anon_
> --use-array-pointers-in-arguments --allowlist-function 'blob_.*'
> --allowlist-function 'disk_cache_.*' --allowlist-type float_controls
> --allowlist-function 'mesa_.*' --allowlist-var 'OS_.*' --allowlist-function
> 'rz?alloc_.*' --allowlist-var 'BLAKE3_.*' --allowlist-function
> '_mesa_blake3_.*' --allowlist-function 'u_.*' --allowlist-function
> 'util_format_.*' --allowlist-function 'util_queue_.*' --allowlist-function
> 'util_vma_.*' --allowlist-function util_get_cpu_caps --no-copy
> util_vma_heap --no-copy util_queue --no-copy util_queue_fence
> --allowlist-type 'cl_sampler_.*_mode' --constified-enum-module
> 'cl_sampler_.*_mode' --allowlist-function 'clc_.*' --allowlist-type
> clc_kernel_arg_access_qualifier --bitfield-enum
> clc_kernel_arg_access_qualifier --allowlist-type
> clc_kernel_arg_type_qualifier --bitfield-enum clc_kernel_arg_type_qualifier
> --allowlist-type gl_access_qualifier --bitfield-enum gl_access_qualifier
> --allowlist-function 'glsl_.*' --allowlist-function 'nir_.*'
> --allowlist-var nir_debug --allowlist-var 'NIR_DEBUG_.*' --bitfield-enum
> nir_lower_int64_options --bitfield-enum nir_opt_if_options --bitfield-enum
> nir_variable_mode --allowlist-function 'should_.*_nir' --allowlist-function
> 'spirv_.*' --allowlist-function 'pipe_.*' --allowlist-var 'PIPE_.*'
> --allowlist-type pipe_endian --bitfield-enum pipe_map_flags
> --allowlist-type pipe_query_type --constified-enum-module pipe_query_type
> --allowlist-type pipe_resource_usage --bitfield-enum pipe_resource_usage
> --allowlist-type pipe_tex_filter --constified-enum-module pipe_tex_filter
> --allowlist-type pipe_tex_wrap --constified-enum-module pipe_tex_wrap
> --allowlist-type pipe_swizzle --constified-enum-module pipe_swizzle
> --allowlist-function 'rusticl_.*' --allowlist-function 'std(err|out)_ptr'
> --allowlist-function mmap --allowlist-function munmap --allowlist-var
> 'MAP_.*' --allowlist-var 'PROT_.*' --allowlist-var 'WINSYS_HANDLE_TYPE_.*'
> --experimental --wrap-static-fns --wrap-static-fns-path
> /home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/build/src/gallium/frontends/rusticl/rusticl_mesa_bindings.c
> --rust-target 1.96.0 --rust-edition 2021 -- -fno-builtin-malloc
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
> '-DPACKAGE_VERSION="26.1.2"' '-DPACKAGE_BUGREPORT="
> https://gitlab.freedesktop.org/mesa/mesa/-/issues";' -DHAVE_OPENGL=1
> -DHAVE_OPENGL_ES_1=1 -DHAVE_OPENGL_ES_2=1 -DHAVE_CROCUS -DHAVE_I915
> -DHAVE_IRIS -DHAVE_LLVMPIPE -DHAVE_NOUVEAU -DHAVE_R300 -DHAVE_R600
> -DHAVE_RADEONSI -DHAVE_SOFTPIPE -DHAVE_SVGA -DHAVE_VIRGL -DHAVE_ZINK
> -DHAVE_SWRAST -DMESA_SYSTEM_HAS_KMS_DRM=1 -DVK_ENABLE_BETA_EXTENSIONS
> -DVIDEO_CODEC_VC1DEC=1 -DVIDEO_CODEC_H264DEC=1 -DVIDEO_CODEC_H264ENC=1
> -DVIDEO_CODEC_H265DEC=1 -DVIDEO_CODEC_H265ENC=1 -DVIDEO_CODEC_AV1DEC=1
> -DVIDEO_CODEC_AV1ENC=1 -DVIDEO_CODEC_VP9DEC=1 -DVIDEO_CODEC_MPEG12DEC=1
> -DVIDEO_CODEC_JPEGDEC=1 -DHAVE_LIBGBM -DHAVE_WAYLAND_PLATFORM
> -DHAVE_X11_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DHAVE_DRM_PLATFORM
> -DHAVE_XCB_PLATFORM -DUSE_LIBGLVND=0
> -DHAVE_VA_SURFACE_ATTRIB_DRM_FORMAT_MODIFIERS -DHAVE_GFX_COMPUTE
> -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_DRM
> -DGLAPI_EXPORT_PROTO_ENTRY_POINTS=0 -DALLOW_KCMP -DMESA_DEBUG=0
> -DENABLE_SHADER_CACHE -DHAVE___BUILTIN_BSWAP32 -DHAVE___BUILTIN_BSWAP64
> -DHAVE___BUILTIN_CLZ -DHAVE___BUILTIN_CLZLL -DHAVE___BUILTIN_CTZ
> -DHAVE___BUILTIN_EXPECT -DHAVE___BUILTIN_FFS -DHAVE___BUILTIN_FFSLL
> -DHAVE___BUILTIN_POPCOUNT -DHAVE___BUILTIN_POPCOUNTLL
> -DHAVE___BUILTIN_UNREACHABLE -DHAVE___BUILTIN_TYPES_COMPATIBLE_P
> -DHAVE___BUILTIN_ADD_OVERFLOW -DHAVE___BUILTIN_ADD_OVERFLOW_P
> -DHAVE___BUILTIN_SUB_OVERFLOW_P -DHAVE_FUNC_ATTRIBUTE_CONST
> -DHAVE_FUNC_ATTRIBUTE_FLATTEN -DHAVE_FUNC_ATTRIBUTE_MALLOC
> -DHAVE_FUNC_ATTRIBUTE_PURE -DHAVE_FUNC_ATTRIBUTE_UNUSED
> -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT -DHAVE_FUNC_ATTRIBUTE_WEAK
> -DHAVE_FUNC_ATTRIBUTE_FORMAT -DHAVE_FUNC_ATTRIBUTE_PACKED
> -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL -DHAVE_FUNC_ATTRIBUTE_ALIAS
> -DHAVE_FUNC_ATTRIBUTE_NORETURN -DHAVE_FUNC_ATTRIBUTE_OPTIMIZE
> -DHAVE_FUNC_ATTRIBUTE_COLD -DHAVE_FUNC_ATTRIBUTE_VISIBILITY -DHAVE_UINT128
> -DHAVE_REALLOCARRAY -DHAVE_FMEMOPEN -D_GNU_SOURCE -DUSE_SSE41
> -DHAVE___BUILTIN_IA32_CLFLUSHOPT -DUSE_GCC_ATOMIC_BUILTINS
> -DMAJOR_IN_SYSMACROS -DHAS_SCHED_H -DHAS_SCHED_GETAFFINITY
> -DHAVE_LINUX_FUTEX_H -DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_SYS_SHM_H
> -DHAVE_CET_H -DHAVE_POLL_H -DHAVE_SYS_INOTIFY_H -DHAVE_LINUX_UDMABUF_H
> -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_MEMFD_CREATE -DHAVE_RANDOM_R
> -DHAVE_FLOCK -DHAVE_STRTOK_R -DHAVE_GETRANDOM -DHAVE_POSIX_FALLOCATE
> -DHAVE_SECURE_GETENV -DHAVE_SYSCONF -DHAVE_GNU_QSORT_R
> -DHAVE_STRUCT_TIMESPEC -DHAVE_PROGRAM_INVOCATION_NAME -DHAVE_ISSIGNALING
> -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L -DHAVE_DLADDR
> -DHAVE_DL_ITERATE_PHDR -DSUPPORT_INTEL_INTEGRATED_GPUS -DHAVE_ZLIB
> -DHAVE_ZSTD -DHAVE_COMPRESSION -DHAVE_PTHREAD -DHAVE_PTHREAD_SETAFFINITY
> -DHAVE_LIBDRM -DHAVE_LIBUDEV '-DMESA_LLVM_VERSION_STRING="22.1.8"'
> -DLLVM_IS_SHARED=1 -DDRAW_LLVM_AVAILABLE=1 -DAMD_LLVM_AVAILABLE=1
> -DGALLIVM_USE_ORCJIT=0 -DHAVE_SPIRV_TOOLS -DUSE_LIBELF -DTHREAD_SANITIZER=0
> -DWL_HIDE_DEPRECATED -DHAVE_WL_DISPATCH_QUEUE_TIMEOUT
> -DHAVE_WL_CREATE_QUEUE_WITH_NAME -DHAVE_OPENMP -DHAVE_X11_DRM -DHAVE_DRI
> -DHAVE_DRI2 -DHAVE_DRI3_EXPLICIT_SYNC -DHAVE_DRISW_KMS -DHAVE_LIBSENSORS=1
> -DHAVE_RENDERDOC_INTEGRATION=1 -m64 -march=nehalem -mtune=generic
> -mfpmath=sse -msse4.2 -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2
> -Wformat -Wformat-security -Werror=format-security
> --sysroot=/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/recipe-sysroot
> --target=x86_64-oe-linux -D_FILE_OFFSET_BITS=64
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/sources/mesa-26.1.2/src/gallium/include
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/build/src/gallium/include
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/sources/mesa-26.1.2/src/gallium/auxiliary
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/build/src/gallium/auxiliary
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/sources/mesa-26.1.2/include/.
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/build/include/.
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/sources/mesa-26.1.2/src/.
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/build/src/.
> -DNDEBUG
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/sources/mesa-26.1.2/src/compiler/nir/.
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/build/src/compiler/nir/.
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/sources/mesa-26.1.2/src/compiler/.
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/build/src/compiler/.
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/sources/mesa-26.1.2/src/.
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/build/src/.
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/sources/mesa-26.1.2/include/.
> -I/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/build/include/.
> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS
> '-DPACKAGE_VERSION="26.1.2"' '-DPACKAGE_BUGREPORT="
> https://gitlab.freedesktop.org/mesa/mesa/-/issues";' -DHAVE_OPENGL=1
> -DHAVE_OPENGL_ES_1=1 -DHAVE_OPENGL_ES_2=1 -DHAVE_CROCUS -DHAVE_I915
> -DHAVE_IRIS -DHAVE_LLVMPIPE -DHAVE_NOUVEAU -DHAVE_R300 -DHAVE_R600
> -DHAVE_RADEONSI -DHAVE_SOFTPIPE -DHAVE_SVGA -DHAVE_VIRGL -DHAVE_ZINK
> -DHAVE_SWRAST -DMESA_SYSTEM_HAS_KMS_DRM=1 -DVK_ENABLE_BETA_EXTENSIONS
> -DVIDEO_CODEC_VC1DEC=1 -DVIDEO_CODEC_H264DEC=1 -DVIDEO_CODEC_H264ENC=1
> -DVIDEO_CODEC_H265DEC=1 -DVIDEO_CODEC_H265ENC=1 -DVIDEO_CODEC_AV1DEC=1
> -DVIDEO_CODEC_AV1ENC=1 -DVIDEO_CODEC_VP9DEC=1 -DVIDEO_CODEC_MPEG12DEC=1
> -DVIDEO_CODEC_JPEGDEC=1 -DHAVE_LIBGBM -DHAVE_WAYLAND_PLATFORM
> -DHAVE_X11_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DHAVE_DRM_PLATFORM
> -DHAVE_XCB_PLATFORM -DUSE_LIBGLVND=0
> -DHAVE_VA_SURFACE_ATTRIB_DRM_FORMAT_MODIFIERS -DHAVE_GFX_COMPUTE
> -DGLX_INDIRECT_RENDERING -DGLX_DIRECT_RENDERING -DGLX_USE_DRM
> -DGLAPI_EXPORT_PROTO_ENTRY_POINTS=0 -DALLOW_KCMP -DMESA_DEBUG=0
> -DENABLE_SHADER_CACHE -DHAVE___BUILTIN_BSWAP32 -DHAVE___BUILTIN_BSWAP64
> -DHAVE___BUILTIN_CLZ -DHAVE___BUILTIN_CLZLL -DHAVE___BUILTIN_CTZ
> -DHAVE___BUILTIN_EXPECT -DHAVE___BUILTIN_FFS -DHAVE___BUILTIN_FFSLL
> -DHAVE___BUILTIN_POPCOUNT -DHAVE___BUILTIN_POPCOUNTLL
> -DHAVE___BUILTIN_UNREACHABLE -DHAVE___BUILTIN_TYPES_COMPATIBLE_P
> -DHAVE___BUILTIN_ADD_OVERFLOW -DHAVE___BUILTIN_ADD_OVERFLOW_P
> -DHAVE___BUILTIN_SUB_OVERFLOW_P -DHAVE_FUNC_ATTRIBUTE_CONST
> -DHAVE_FUNC_ATTRIBUTE_FLATTEN -DHAVE_FUNC_ATTRIBUTE_MALLOC
> -DHAVE_FUNC_ATTRIBUTE_PURE -DHAVE_FUNC_ATTRIBUTE_UNUSED
> -DHAVE_FUNC_ATTRIBUTE_WARN_UNUSED_RESULT -DHAVE_FUNC_ATTRIBUTE_WEAK
> -DHAVE_FUNC_ATTRIBUTE_FORMAT -DHAVE_FUNC_ATTRIBUTE_PACKED
> -DHAVE_FUNC_ATTRIBUTE_RETURNS_NONNULL -DHAVE_FUNC_ATTRIBUTE_ALIAS
> -DHAVE_FUNC_ATTRIBUTE_NORETURN -DHAVE_FUNC_ATTRIBUTE_OPTIMIZE
> -DHAVE_FUNC_ATTRIBUTE_COLD -DHAVE_FUNC_ATTRIBUTE_VISIBILITY -DHAVE_UINT128
> -DHAVE_REALLOCARRAY -DHAVE_FMEMOPEN -D_GNU_SOURCE -DUSE_SSE41
> -DHAVE___BUILTIN_IA32_CLFLUSHOPT -DUSE_GCC_ATOMIC_BUILTINS
> -DMAJOR_IN_SYSMACROS -DHAS_SCHED_H -DHAS_SCHED_GETAFFINITY
> -DHAVE_LINUX_FUTEX_H -DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_SYS_SHM_H
> -DHAVE_CET_H -DHAVE_POLL_H -DHAVE_SYS_INOTIFY_H -DHAVE_LINUX_UDMABUF_H
> -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_MEMFD_CREATE -DHAVE_RANDOM_R
> -DHAVE_FLOCK -DHAVE_STRTOK_R -DHAVE_GETRANDOM -DHAVE_POSIX_FALLOCATE
> -DHAVE_SECURE_GETENV -DHAVE_SYSCONF -DHAVE_GNU_QSORT_R
> -DHAVE_STRUCT_TIMESPEC -DHAVE_PROGRAM_INVOCATION_NAME -DHAVE_ISSIGNALING
> -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L -DHAVE_DLADDR
> -DHAVE_DL_ITERATE_PHDR -DSUPPORT_INTEL_INTEGRATED_GPUS -DHAVE_ZLIB
> -DHAVE_ZSTD -DHAVE_COMPRESSION -DHAVE_PTHREAD -DHAVE_PTHREAD_SETAFFINITY
> -DHAVE_LIBDRM -DHAVE_LIBUDEV '-DMESA_LLVM_VERSION_STRING="22.1.8"'
> -DLLVM_IS_SHARED=1 -DDRAW_LLVM_AVAILABLE=1 -DAMD_LLVM_AVAILABLE=1
> -DGALLIVM_USE_ORCJIT=0 -DHAVE_SPIRV_TOOLS -DUSE_LIBELF -DTHREAD_SANITIZER=0
> -DWL_HIDE_DEPRECATED -DHAVE_WL_DISPATCH_QUEUE_TIMEOUT
> -DHAVE_WL_CREATE_QUEUE_WITH_NAME -DHAVE_OPENMP -DHAVE_X11_DRM -DHAVE_DRI
> -DHAVE_DRI2 -DHAVE_DRI3_EXPLICIT_SYNC -DHAVE_DRISW_KMS -DHAVE_LIBSENSORS=1
> -DHAVE_RENDERDOC_INTEGRATION=1 -std=c11 -MD -MQ
> ../sources/mesa-26.1.2/src/gallium/frontends/rusticl/rusticl_mesa_bindings.h
> -MF src/gallium/frontends/rusticl/rusticl_mesa_bindings.h.d
> | panicked at
> /usr/src/debug/bindgen-cli-native/0.72.1/sources/cargo_home/bitbake/clang-sys-1.8.1/src/support.rs:189:45:
> | called `Result::unwrap()` on an `Err` value: "could not run executable
> `/home/flk/bitbake/bitbake-builds/oe/build/tmp/work/corei7-64-oe-linux/mesa/26.1.2/recipe-sysroot/usr/bin/clang-22`:
> No such file or directory (os error 2)"
>
> Link ${STAGING_BINDIR_NATIVE}/clang-22 to ${STAGING_BINDIR}/clang-22 to
> achieve this.
>
> Signed-off-by: Markus Volk <[email protected]>
> ---
>  meta/recipes-graphics/mesa/mesa.inc | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/meta/recipes-graphics/mesa/mesa.inc
> b/meta/recipes-graphics/mesa/mesa.inc
> index f8e294076a..ed95a29446 100644
> --- a/meta/recipes-graphics/mesa/mesa.inc
> +++ b/meta/recipes-graphics/mesa/mesa.inc
> @@ -63,6 +63,7 @@ replace_llvm_config_path() {
>
>  do_configure:prepend:class-target() {
>      replace_llvm_config_path
> +    ln -sf ${STAGING_BINDIR_NATIVE}/clang-22 ${STAGING_BINDIR}/clang-22
>  }
>
>  do_configure:prepend:class-nativesdk() {
> --
> 2.54.0
>
>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#240118): 
https://lists.openembedded.org/g/openembedded-core/message/240118
Mute This Topic: https://lists.openembedded.org/mt/120068848/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to