From 8ba75e9774f24c60a435c9549a0197d88ea5a2d9 Mon Sep 17 00:00:00 2001 From: AztecBot Date: Tue, 3 Mar 2026 19:12:23 +0000 Subject: [PATCH 1/2] fix: add -g0 to zig presets to eliminate 11GB debug info bloat --- barretenberg/cpp/CMakePresets.json | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/barretenberg/cpp/CMakePresets.json b/barretenberg/cpp/CMakePresets.json index d54ff10196f5..1c93da119ce7 100644 --- a/barretenberg/cpp/CMakePresets.json +++ b/barretenberg/cpp/CMakePresets.json @@ -41,7 +41,9 @@ "binaryDir": "build", "environment": { "CC": "zig cc -target native-linux-gnu.2.35", - "CXX": "zig c++ -target native-linux-gnu.2.35" + "CXX": "zig c++ -target native-linux-gnu.2.35", + "CFLAGS": "-g0", + "CXXFLAGS": "-g0" }, "cacheVariables": { "CMAKE_AR": "${sourceDir}/scripts/zig-ar.sh", @@ -464,7 +466,9 @@ "binaryDir": "${sourceDir}/build-${presetName}", "environment": { "CC": "zig cc", - "CXX": "zig c++" + "CXX": "zig c++", + "CFLAGS": "-g0", + "CXXFLAGS": "-g0" }, "cacheVariables": { "ENABLE_PIC": "ON", From b70cafefa619e2640fda3690ee6514f67e57a8d7 Mon Sep 17 00:00:00 2001 From: AztecBot Date: Tue, 3 Mar 2026 22:01:47 +0000 Subject: [PATCH 2/2] fix: unset CFLAGS/CXXFLAGS in LMDB ExternalProject build The -g0 flags set in CMakePresets.json leak to LMDB's make -e build, replacing its CFLAGS entirely (losing -O2, -pthread, -fPIC, etc). This causes zig cc to insert UBSan instrumentation at -O0, leading to undefined __ubsan_handle_* symbols at link time. Fix by unsetting CFLAGS/CXXFLAGS in the cmake -E env wrapper so LMDB uses its own Makefile-defined CFLAGS. --- barretenberg/cpp/cmake/lmdb.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/barretenberg/cpp/cmake/lmdb.cmake b/barretenberg/cpp/cmake/lmdb.cmake index 1a25e8f5c90c..733ba27cca6e 100644 --- a/barretenberg/cpp/cmake/lmdb.cmake +++ b/barretenberg/cpp/cmake/lmdb.cmake @@ -15,7 +15,7 @@ ExternalProject_Add( SOURCE_DIR ${LMDB_PREFIX}/src/lmdb_repo BUILD_IN_SOURCE YES CONFIGURE_COMMAND "" # No configure step - BUILD_COMMAND ${CMAKE_COMMAND} -E env CC=${CMAKE_C_COMPILER}${CMAKE_C_COMPILER_ARG1} AR=${CMAKE_AR} make -e -C libraries/liblmdb XCFLAGS=-fPIC liblmdb.a + BUILD_COMMAND ${CMAKE_COMMAND} -E env --unset=CFLAGS --unset=CXXFLAGS CC=${CMAKE_C_COMPILER}${CMAKE_C_COMPILER_ARG1} AR=${CMAKE_AR} make -e -C libraries/liblmdb XCFLAGS=-fPIC liblmdb.a INSTALL_COMMAND "" UPDATE_COMMAND "" # No update step BUILD_BYPRODUCTS ${LMDB_LIB}