Dear Maintainer,
I have no idea if this is issue with bindgen, or what, but when
compiling Mesa with rusticl, for many months, I am getting this:
user@debian:~/mesa-git/builddir/build-amd64-opt/mesa$ /usr/bin/bindgen ../../../src/gallium/frontends/rusticl/rusticl_opencl_bindings.h --output /home/user/mesa-git/builddir/build-amd64-opt/mesa/src/gallium/frontends/rusticl/rusticl_opencl_bindings.rs --wrap-unsafe-ops --raw-line '#![allow(clippy::all)]' --raw-line '#![allow(warnings)]' --raw-line '#![allow(unsafe_op_in_unsafe_fn)]' --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_ --disable-header-comment --ignore-functions --raw-line 'unsafe impl std::marker::Sync for _cl_icd_dispatch {}' --raw-line 'unsafe impl std::marker::Send for _cl_image_desc {}' --raw-line 'unsafe impl std::marker::Sync for _cl_image_desc {}' --allowlist-type 'cl_.*' --blocklist-type '(__)?cl_.*[2348(16)]' --allowlist-type 'cl.*_fn' --allowlist-var 'CL_.*' --allowlist-var 'GL_.*' --allowlist-var 'MESA_GLINTEROP_.*' --allowlist-type PFNEGLGETPROCADDRESSPROC --allowlist-type PFNGLXGETPROCADDRESSPROC --allowlist-type 'PFNMESAGLINTEROP.*' --new-type-alias-deref 'cl_(mem|image|pipe|gl_texture)_info' --new-type-alias-deref 'cl_kernel_(arg|work_group)_info' --new-type-alias-deref 'cl_(event|profiling)_info' --constified-enum 'MESA_GLINTEROP_.*' --rust-target 1.97.1 --rust-edition 2021 -- -fno-builtin-malloc -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS '-DPACKAGE_VERSION="27.0.0-devel"' -DHAVE_OPENGL=1 -DHAVE_OPENGL_ES_1=1 -DHAVE_OPENGL_ES_2=1 -DHAVE_RADEONSI -DHAVE_R600 -DHAVE_ZINK -DHAVE_VIRGL -DHAVE_SOFTPIPE -DHAVE_LLVMPIPE -DHAVE_SWRAST -DMESA_SYSTEM_HAS_KMS_DRM=1 -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=0 -DVIDEO_CODEC_JPEGDEC=0 -DHAVE_LIBGBM -DHAVE_X11_PLATFORM -DHAVE_WAYLAND_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DHAVE_DRM_PLATFORM -DHAVE_XCB_PLATFORM -DUSE_LIBGLVND=1 -DHAVE_LIBDRM -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 '-DMESA_SHADER_CACHE_MAX_SIZE="8G"' -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_FMEMOPEN -DHAVE_MALLINFO2 -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_FENV_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_SC_PHYS_PAGES -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 -DHAVE_ZLIB -DHAVE_ZSTD -DHAVE_COMPRESSION -DHAVE_PTHREAD -DHAVE_PTHREAD_SETAFFINITY -DHAVE_LIBUDEV '-DMESA_LLVM_VERSION_STRING="21.1.8"' -DLLVM_IS_SHARED=1 -DDRAW_LLVM_AVAILABLE=1 -DAMD_LLVM_AVAILABLE=1 -DGALLIVM_USE_ORCJIT=0 -DHAVE_SPIRV_TOOLS -DUSE_LIBELF -DHAVE_VALGRIND -DTHREAD_SANITIZER=0 -DHAVE_LIBUNWIND -DWL_HIDE_DEPRECATED -DHAVE_WL_DISPATCH_QUEUE_TIMEOUT -DHAVE_WL_CREATE_QUEUE_WITH_NAME -DHAVE_OPENMP -DXCB_KEYSYMS_AVAILABLE -DHAVE_X11_DRM -DHAVE_DRI -DHAVE_DRI2 -DHAVE_DRI3_EXPLICIT_SYNC -DHAVE_DRISW_KMS -DHAVE_GALLIUM_EXTRA_HUD=1 -DHAVE_LIBSENSORS=1 -DHAVE_RENDERDOC_INTEGRATION=1 -DCL_USE_DEPRECATED_OPENCL_1_0_APIS -DCL_USE_DEPRECATED_OPENCL_1_1_APIS -DCL_USE_DEPRECATED_OPENCL_1_2_APIS -DCL_USE_DEPRECATED_OPENCL_2_0_APIS -DCL_USE_DEPRECATED_OPENCL_2_1_APIS -DCL_USE_DEPRECATED_OPENCL_2_2_APIS -DCL_TARGET_OPENCL_VERSION=310 -D_FILE_OFFSET_BITS=64 -I/home/user/mesa-git/include/. -I/home/user/mesa-git/builddir/build-amd64-opt/mesa/include/. -DNDEBUG -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS '-DPACKAGE_VERSION="27.0.0-devel"' -DHAVE_OPENGL=1 -DHAVE_OPENGL_ES_1=1 -DHAVE_OPENGL_ES_2=1 -DHAVE_RADEONSI -DHAVE_R600 -DHAVE_ZINK -DHAVE_VIRGL -DHAVE_SOFTPIPE -DHAVE_LLVMPIPE -DHAVE_SWRAST -DMESA_SYSTEM_HAS_KMS_DRM=1 -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=0 -DVIDEO_CODEC_JPEGDEC=0 -DHAVE_LIBGBM -DHAVE_X11_PLATFORM -DHAVE_WAYLAND_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DHAVE_DRM_PLATFORM -DHAVE_XCB_PLATFORM -DUSE_LIBGLVND=1 -DHAVE_LIBDRM -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 '-DMESA_SHADER_CACHE_MAX_SIZE="8G"' -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_FMEMOPEN -DHAVE_MALLINFO2 -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_FENV_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_SC_PHYS_PAGES -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 -DHAVE_ZLIB -DHAVE_ZSTD -DHAVE_COMPRESSION -DHAVE_PTHREAD -DHAVE_PTHREAD_SETAFFINITY -DHAVE_LIBUDEV '-DMESA_LLVM_VERSION_STRING="21.1.8"' -DLLVM_IS_SHARED=1 -DDRAW_LLVM_AVAILABLE=1 -DAMD_LLVM_AVAILABLE=1 -DGALLIVM_USE_ORCJIT=0 -DHAVE_SPIRV_TOOLS -DUSE_LIBELF -DHAVE_VALGRIND -DTHREAD_SANITIZER=0 -DHAVE_LIBUNWIND -DWL_HIDE_DEPRECATED -DHAVE_WL_DISPATCH_QUEUE_TIMEOUT -DHAVE_WL_CREATE_QUEUE_WITH_NAME -DHAVE_OPENMP -DXCB_KEYSYMS_AVAILABLE -DHAVE_X11_DRM -DHAVE_DRI -DHAVE_DRI2 -DHAVE_DRI3_EXPLICIT_SYNC -DHAVE_DRISW_KMS -DHAVE_GALLIUM_EXTRA_HUD=1 -DHAVE_LIBSENSORS=1 -DHAVE_RENDERDOC_INTEGRATION=1 -x c++ -std=c++17 -MD -MQ ../../../src/gallium/frontends/rusticl/rusticl_opencl_bindings.h -MF src/gallium/frontends/rusticl/rusticl_opencl_bindings.h.d --verbose
Debian clang version 22.1.8 (1+b2)
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir:
Found candidate GCC installation: /../lib/gcc-cross/i686-linux-gnu/16
Found candidate GCC installation: /../lib/gcc/x86_64-linux-gnu/15
Found candidate GCC installation: /../lib/gcc/x86_64-linux-gnu/16
Selected GCC installation: /../lib/gcc/x86_64-linux-gnu/16
Candidate multilib: .;@m64
Selected multilib: .;@m64
Found HIP installation: /usr, version 6.4.43484
ignoring nonexistent directory "/../lib/gcc/x86_64-linux-gnu/16/../../../../x86_64-linux-gnu/include"
ignoring nonexistent directory "/include"
ignoring duplicate directory "/../lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16"
ignoring duplicate directory "/../lib/gcc/x86_64-linux-gnu/16/../../../../include/x86_64-linux-gnu/c++/16"
ignoring duplicate directory "/../lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/backward"
ignoring duplicate directory "/usr/local/include"
ignoring duplicate directory "/usr/include/x86_64-linux-gnu"
ignoring duplicate directory "/usr/include"
#include "..." search starts here:
#include <...> search starts here:
/home/user/mesa-git/include/.
/home/user/mesa-git/builddir/build-amd64-opt/mesa/include/.
/usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16
/usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/x86_64-linux-gnu/c++/16
/usr/lib/gcc/x86_64-linux-gnu/16/../../../../include/c++/16/backward
/usr/lib/llvm-21/lib/clang/21/include
/usr/local/include
/usr/include/x86_64-linux-gnu
/usr/include
/usr/include/clang/22.1.8/include
End of search list.
/usr/lib/llvm-21/lib/clang/21/include/xmmintrin.h:245:18: error: use of undeclared identifier '__builtin_ia32_sqrtss'
/usr/lib/llvm-21/lib/clang/21/include/xmmintrin.h:262:10: error: use of undeclared identifier '__builtin_ia32_sqrtps'
/usr/lib/llvm-21/lib/clang/21/include/emmintrin.h:253:17: error: use of undeclared identifier '__builtin_ia32_sqrtsd'
/usr/lib/llvm-21/lib/clang/21/include/emmintrin.h:269:10: error: use of undeclared identifier '__builtin_ia32_sqrtpd'
Unable to generate bindings: clang diagnosed error: /usr/lib/llvm-21/lib/clang/21/include/xmmintrin.h:245:18: error: use of undeclared identifier '__builtin_ia32_sqrtss'
/usr/lib/llvm-21/lib/clang/21/include/xmmintrin.h:262:10: error: use of undeclared identifier '__builtin_ia32_sqrtps'
/usr/lib/llvm-21/lib/clang/21/include/emmintrin.h:253:17: error: use of undeclared identifier '__builtin_ia32_sqrtsd'
/usr/lib/llvm-21/lib/clang/21/include/emmintrin.h:269:10: error: use of undeclared identifier '__builtin_ia32_sqrtpd'
Only option for me to proceed is basically to disable opencl / rusticl
in mesa.
PS. I use gcc for compiling Mesa, not clang.