From 754c9aaedd9a0f0e762d1346bffc0bc4dfb1bf13 Mon Sep 17 00:00:00 2001 From: Andy Lee Date: Sat, 9 Aug 2025 16:55:47 -0700 Subject: [PATCH] fix: add abseil library path for protobuf compilation on macOS MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Include abseil in CMAKE_PREFIX_PATH for both Intel and Apple Silicon Macs - Add explicit absl_DIR CMake variable to help find abseil for protobuf - Fixes 'absl/log/absl_log.h' file not found error during compilation 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- .github/workflows/build-reusable.yml | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-reusable.yml b/.github/workflows/build-reusable.yml index c23743d..a3db2dc 100644 --- a/.github/workflows/build-reusable.yml +++ b/.github/workflows/build-reusable.yml @@ -108,6 +108,7 @@ jobs: if: runner.os == 'macOS' run: | # Don't install LLVM, use system clang for better compatibility + # abseil is automatically installed as a dependency of protobuf brew install libomp boost protobuf zeromq - name: Install build dependencies @@ -126,13 +127,13 @@ jobs: if [ -d "/opt/homebrew/opt/libomp" ]; then echo "HOMEBREW_PREFIX=/opt/homebrew" >> $GITHUB_ENV echo "OpenMP_ROOT=/opt/homebrew/opt/libomp" >> $GITHUB_ENV - echo "CMAKE_PREFIX_PATH=/opt/homebrew/opt/libomp:/opt/homebrew/opt/boost:/opt/homebrew/opt/protobuf:/opt/homebrew/opt/zeromq" >> $GITHUB_ENV + echo "CMAKE_PREFIX_PATH=/opt/homebrew/opt/libomp:/opt/homebrew/opt/boost:/opt/homebrew/opt/protobuf:/opt/homebrew/opt/zeromq:/opt/homebrew/opt/abseil" >> $GITHUB_ENV echo "LDFLAGS=-L/opt/homebrew/opt/libomp/lib" >> $GITHUB_ENV echo "CPPFLAGS=-I/opt/homebrew/opt/libomp/include" >> $GITHUB_ENV elif [ -d "/usr/local/opt/libomp" ]; then echo "HOMEBREW_PREFIX=/usr/local" >> $GITHUB_ENV echo "OpenMP_ROOT=/usr/local/opt/libomp" >> $GITHUB_ENV - echo "CMAKE_PREFIX_PATH=/usr/local/opt/libomp:/usr/local/opt/boost:/usr/local/opt/protobuf:/usr/local/opt/zeromq" >> $GITHUB_ENV + echo "CMAKE_PREFIX_PATH=/usr/local/opt/libomp:/usr/local/opt/boost:/usr/local/opt/protobuf:/usr/local/opt/zeromq:/usr/local/opt/abseil" >> $GITHUB_ENV echo "LDFLAGS=-L/usr/local/opt/libomp/lib" >> $GITHUB_ENV echo "CPPFLAGS=-I/usr/local/opt/libomp/include" >> $GITHUB_ENV fi @@ -153,8 +154,8 @@ jobs: export CC=clang export CXX=clang++ export MACOSX_DEPLOYMENT_TARGET=11.0 - # Ensure CMake can find all Homebrew packages - export CMAKE_ARGS="-DOpenMP_ROOT=${OpenMP_ROOT} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" + # Ensure CMake can find all Homebrew packages including abseil for protobuf + export CMAKE_ARGS="-DOpenMP_ROOT=${OpenMP_ROOT} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -Dabsl_DIR=${HOMEBREW_PREFIX}/opt/abseil/lib/cmake/absl" uv build --wheel --python python else uv build --wheel --python python @@ -169,8 +170,8 @@ jobs: export CXX=clang++ # DiskANN requires macOS 13.3+ for sgesdd_ LAPACK function export MACOSX_DEPLOYMENT_TARGET=13.3 - # Ensure CMake can find all Homebrew packages - export CMAKE_ARGS="-DOpenMP_ROOT=${OpenMP_ROOT} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}" + # Ensure CMake can find all Homebrew packages including abseil for protobuf + export CMAKE_ARGS="-DOpenMP_ROOT=${OpenMP_ROOT} -DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH} -Dabsl_DIR=${HOMEBREW_PREFIX}/opt/abseil/lib/cmake/absl" uv build --wheel --python python else uv build --wheel --python python