MR !27381 break Mesa building using AOSPExt
Hi, I'm trying to build Mesa with NVK on BlissOS 17.2 (based on Android 14) using GloDroid's AOSPExt. This is my fork of AOSPExt :
https://github.com/android-generic/glodroid_aospext/tree/for_nvk
When trying to build with Mesa 24.0.1, it got this error :
[933/2648] Compiling C object src/intel/blorp/libblorp.a.p/blorp.c.o
[934/2648] Linking static target src/intel/blorp/libblorp.a
[935/2648] Compiling C object src/intel/isl/libisl.a.p/isl.c.o
[936/2648] Generating bindings for Rust src/nouveau/compiler/rustmod-bindgen-nak_bindings.h
FAILED: src/nouveau/compiler/nak_bindings.rs
/usr/bin/bindgen ../out_src/src/nouveau/compiler/nak_bindings.h --output /media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/build/src/nouveau/compiler/nak_bindings.rs --raw-line '#![allow(non_camel_case_types)]' --raw-line '#![allow(non_snake_case)]' --raw-line '#![allow(non_upper_case_globals)]' --allowlist-type exec_list --allowlist-type exec_node --allowlist-type float_controls --allowlist-type gl_access_qualifier --allowlist-type gl_frag_result --allowlist-type gl_interp_mode --allowlist-type gl_shader_stage --allowlist-type gl_system_value --allowlist-type gl_tess_spacing --allowlist-type gl_varying_slot --allowlist-type gl_vert_attrib --allowlist-type 'nak_.*' --allowlist-type 'nir_.*' --allowlist-type mesa_scope --allowlist-type mesa_prim --allowlist-type tess_primitive_mode --allowlist-var 'nir_.*_infos' --allowlist-function _mesa_shader_stage_to_string --allowlist-function 'nak_.*' --allowlist-function 'nir_.*' --allowlist-function 'glsl_.*' --no-prepend-enum-name -- -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS '-DPACKAGE_VERSION="24.0.1"' '-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_IRIS -DHAVE_I915 -DHAVE_NOUVEAU -DHAVE_R600 -DHAVE_RADEONSI -DHAVE_SVGA -DHAVE_VIRGL -DHAVE_ZINK -DHAVE_SWRAST -DUSE_VK_COMPILER=1 -DVIDEO_CODEC_VC1DEC=1 -DVIDEO_CODEC_H264DEC=1 -DVIDEO_CODEC_H264ENC=1 -DVIDEO_CODEC_H265DEC=1 -DVIDEO_CODEC_H265ENC=1 -DVIDEO_CODEC_AV1DEC=0 -DVIDEO_CODEC_AV1ENC=0 -DVIDEO_CODEC_VP9DEC=0 -DHAVE_ANDROID_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DENABLE_ST_OMX_BELLAGIO=0 -DENABLE_ST_OMX_TIZONIA=0 -DHAVE_VA_SURFACE_ATTRIB_DRM_FORMAT_MODIFIERS -DGLAPI_EXPORT_PROTO_ENTRY_POINTS=1 -DANDROID -DANDROID_API_LEVEL=34 -DANDROID_STRICT -DALLOW_KCMP -DDEBUG -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_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_VISIBILITY -DHAVE_UINT128 -DHAVE_REALLOCARRAY -DHAVE_FMEMOPEN -D_GNU_SOURCE -DUSE_SSE41 -DHAVE___BUILTIN_IA32_CLFLUSHOPT -DUSE_GCC_ATOMIC_BUILTINS -DUSE_X86_64_ASM -DMAJOR_IN_SYSMACROS -DHAS_SCHED_H -DHAS_SCHED_GETAFFINITY -DHAVE_XLOCALE_H -DHAVE_LINUX_FUTEX_H -DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_SYS_SHM_H -DHAVE_CET_H -DHAVE_SYS_INOTIFY_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_MEMFD_CREATE -DHAVE_FLOCK -DHAVE_STRTOK_R -DHAVE_GETRANDOM -DHAVE_POSIX_FALLOCATE -DHAVE_STRUCT_TIMESPEC -DHAVE_THRD_CREATE -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L -DHAVE_DLADDR -DHAVE_DL_ITERATE_PHDR -DSUPPORT_INTEL_INTEGRATED_GPUS -DHAVE_ZLIB -DHAVE_COMPRESSION -DHAVE_PTHREAD -DHAVE_LIBDRM '-DMESA_LLVM_VERSION_STRING="16.0.6"' -DLLVM_IS_SHARED=1 -DLLVM_AVAILABLE=1 -DDRAW_LLVM_AVAILABLE=1 -DUSE_LIBELF -DHAVE_DRI -DHAVE_DRI2 -DHAVE_DRI3 -DHAVE_DRISW_KMS -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/out_src/include/. -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/build/include/. -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/out_src/src/util/.. -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/build/src/util/.. -pthread -pthread -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/out_src/src/compiler/nir/. -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/build/src/compiler/nir/. -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/out_src/src/compiler/. -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/build/src/compiler/. -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/out_src/src/nouveau/headers/. -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/build/src/nouveau/headers/. -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/out_src/src/nouveau/headers/nvidia/classes -I/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/build/src/nouveau/headers/nvidia/classes -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS '-DPACKAGE_VERSION="24.0.1"' '-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_IRIS -DHAVE_I915 -DHAVE_NOUVEAU -DHAVE_R600 -DHAVE_RADEONSI -DHAVE_SVGA -DHAVE_VIRGL -DHAVE_ZINK -DHAVE_SWRAST -DUSE_VK_COMPILER=1 -DVIDEO_CODEC_VC1DEC=1 -DVIDEO_CODEC_H264DEC=1 -DVIDEO_CODEC_H264ENC=1 -DVIDEO_CODEC_H265DEC=1 -DVIDEO_CODEC_H265ENC=1 -DVIDEO_CODEC_AV1DEC=0 -DVIDEO_CODEC_AV1ENC=0 -DVIDEO_CODEC_VP9DEC=0 -DHAVE_ANDROID_PLATFORM -DHAVE_SURFACELESS_PLATFORM -DENABLE_ST_OMX_BELLAGIO=0 -DENABLE_ST_OMX_TIZONIA=0 -DHAVE_VA_SURFACE_ATTRIB_DRM_FORMAT_MODIFIERS -DGLAPI_EXPORT_PROTO_ENTRY_POINTS=1 -DANDROID -DANDROID_API_LEVEL=34 -DANDROID_STRICT -DALLOW_KCMP -DDEBUG -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_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_VISIBILITY -DHAVE_UINT128 -DHAVE_REALLOCARRAY -DHAVE_FMEMOPEN -D_GNU_SOURCE -DUSE_SSE41 -DHAVE___BUILTIN_IA32_CLFLUSHOPT -DUSE_GCC_ATOMIC_BUILTINS -DUSE_X86_64_ASM -DMAJOR_IN_SYSMACROS -DHAS_SCHED_H -DHAS_SCHED_GETAFFINITY -DHAVE_XLOCALE_H -DHAVE_LINUX_FUTEX_H -DHAVE_ENDIAN_H -DHAVE_DLFCN_H -DHAVE_SYS_SHM_H -DHAVE_CET_H -DHAVE_SYS_INOTIFY_H -DHAVE_STRTOF -DHAVE_MKOSTEMP -DHAVE_MEMFD_CREATE -DHAVE_FLOCK -DHAVE_STRTOK_R -DHAVE_GETRANDOM -DHAVE_POSIX_FALLOCATE -DHAVE_STRUCT_TIMESPEC -DHAVE_THRD_CREATE -DHAVE_POSIX_MEMALIGN -DHAVE_DIRENT_D_TYPE -DHAVE_STRTOD_L -DHAVE_DLADDR -DHAVE_DL_ITERATE_PHDR -DSUPPORT_INTEL_INTEGRATED_GPUS -DHAVE_ZLIB -DHAVE_COMPRESSION -DHAVE_PTHREAD -DHAVE_LIBDRM '-DMESA_LLVM_VERSION_STRING="16.0.6"' -DLLVM_IS_SHARED=1 -DLLVM_AVAILABLE=1 -DDRAW_LLVM_AVAILABLE=1 -DUSE_LIBELF -DHAVE_DRI -DHAVE_DRI2 -DHAVE_DRI3 -DHAVE_DRISW_KMS -MD -MQ ../out_src/src/nouveau/compiler/nak_bindings.h -MF src/nouveau/compiler/nak_bindings.h.d
/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/out_src/src/util/../util/u_debug.h:408:21: error: static declaration of 'secure_getenv' follows non-static declaration
/usr/include/stdlib.h:646:14: note: previous declaration is here
/media/bbd04/hmtheboy154/bliss17/out/target/product/x86_64/obj/AOSPEXT/MESA3D/out_src/src/util/../util/u_debug.h:408:21: error: static declaration of 'secure_getenv' follows non-static declaration, err: true
thread 'main' panicked at 'Unable to generate bindings: ()', src/main.rs:54:36
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
[937/2648] Compiling C object src/intel/vulkan/libanv_common.a.p/anv_kmd_backend.c.o
[938/2648] Compiling C object src/intel/vulkan/libanv_common.a.p/anv_formats.c.o
../out_src/src/intel/vulkan/anv_formats.c:1534:41: warning: unused variable 'opaque_fd_only_props' [-Wunused-const-variable]
static const VkExternalMemoryProperties opaque_fd_only_props = {
^
1 warning generated.
[939/2648] Compiling C object src/intel/isl/libisl.a.p/meson-generated_.._isl_format_layout.c.o
[940/2648] Compiling C object src/intel/vulkan/libanv_common.a.p/anv_measure.c.o
[941/2648] Compiling C object src/intel/vulkan/libanv_per_hw_ver90.a.p/genX_pipeline.c.o
[942/2648] Compiling C object src/intel/vulkan_hasvk/libanv_hasvk_common.a.p/anv_nir_lower_ubo_loads.c.o
[943/2648] Compiling C object src/intel/isl/libisl.a.p/isl_drm.c.o
[944/2648] Compiling C object src/nouveau/compiler/libnak.a.p/meson-generated_.._.._headers_nvk_clb0c0.c.o
[945/2648] Compiling C object src/intel/isl/libisl.a.p/isl_format.c.o
[946/2648] Compiling C object src/nouveau/compiler/libnak.a.p/meson-generated_.._.._headers_nvk_clb1c0.c.o
[947/2648] Compiling C object src/nouveau/compiler/libnak.a.p/meson-generated_.._.._headers_nvk_cl9039.c.o
[948/2648] Compiling Rust source ../out_src/subprojects/proc-macro2-1.0.70/src/lib.rs
[949/2648] Compiling C object src/nouveau/compiler/libnak.a.p/meson-generated_.._nak_nir_algebraic.c.o
[950/2648] Compiling C object src/nouveau/compiler/libnak.a.p/meson-generated_.._.._headers_nvk_cl90c0.c.o
[951/2648] Compiling C object src/nouveau/compiler/libnak.a.p/meson-generated_.._.._headers_nvk_cl902d.c.o
[952/2648] Compiling C object src/nouveau/compiler/libnak.a.p/nak_nir.c.o
[960/2648] Generating src/compiler/nir/nir_opt_algebraic.c with a custom command (wrapped by meson to capture output)
[961/2648] Generating src/amd/common/sid_tables_h with a custom command (wrapped by meson to capture output)
ninja: build stopped: subcommand failed.
From what I understand, AOSPExt uses native linux rustc
instead of the one in AOSP and that rustc trying to use stdlib.h
in /usr/include
instead of bionic libc one which cause the error. The only fix I can do so far is to revert all of MR !27381 (merged) .
https://github.com/android-generic/external_mesa/commits/24.0_no_secure_getenv/