fix: simplify macOS OpenMP configuration to match main branch

- Remove complex OpenMP environment variables
- Use simplified configuration from working main branch
- Remove redundant OpenMP setup in DiskANN build step
- Keep essential settings: OpenMP_ROOT, CMAKE_PREFIX_PATH, LDFLAGS, CPPFLAGS

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Andy Lee
2025-08-12 02:06:46 +00:00
parent 0cc29f5edc
commit 8e43066e10

View File

@@ -112,25 +112,8 @@ jobs:
- name: Install system dependencies (macOS)
if: runner.os == 'macOS'
run: |
# Update brew first to ensure we get latest packages
brew update || true
# Install libomp first and verify installation
echo "🍺 Installing libomp..."
brew install libomp
# Verify libomp installation
HOMEBREW_PREFIX=$(brew --prefix)
echo "🔍 Verifying libomp installation at ${HOMEBREW_PREFIX}/opt/libomp"
ls -la ${HOMEBREW_PREFIX}/opt/libomp/lib/libomp.dylib || {
echo "❌ libomp.dylib not found, trying to reinstall..."
brew uninstall libomp || true
brew install libomp
}
# Install other dependencies
echo "🍺 Installing other dependencies..."
brew install boost protobuf zeromq
# Don't install LLVM, use system clang for better compatibility
brew install libomp boost protobuf zeromq
- name: Install build dependencies
run: |
@@ -147,22 +130,10 @@ jobs:
# Use brew --prefix to automatically detect Homebrew installation path
HOMEBREW_PREFIX=$(brew --prefix)
echo "HOMEBREW_PREFIX=${HOMEBREW_PREFIX}" >> $GITHUB_ENV
# Debug: Check if libomp is properly installed
echo "🔍 Checking libomp installation:"
ls -la ${HOMEBREW_PREFIX}/opt/libomp/lib/ || echo "libomp lib directory not found"
ls -la ${HOMEBREW_PREFIX}/opt/libomp/include/ || echo "libomp include directory not found"
# Set OpenMP environment variables
echo "OpenMP_ROOT=${HOMEBREW_PREFIX}/opt/libomp" >> $GITHUB_ENV
echo "OpenMP_C_FLAGS=-Xpreprocessor -fopenmp -I${HOMEBREW_PREFIX}/opt/libomp/include" >> $GITHUB_ENV
echo "OpenMP_CXX_FLAGS=-Xpreprocessor -fopenmp -I${HOMEBREW_PREFIX}/opt/libomp/include" >> $GITHUB_ENV
echo "OpenMP_C_LIB_NAMES=omp" >> $GITHUB_ENV
echo "OpenMP_CXX_LIB_NAMES=omp" >> $GITHUB_ENV
echo "OpenMP_omp_LIBRARY=${HOMEBREW_PREFIX}/opt/libomp/lib/libomp.dylib" >> $GITHUB_ENV
# Set CMAKE_PREFIX_PATH to let CMake find all packages automatically
echo "CMAKE_PREFIX_PATH=${HOMEBREW_PREFIX}:${HOMEBREW_PREFIX}/opt/libomp" >> $GITHUB_ENV
echo "CMAKE_PREFIX_PATH=${HOMEBREW_PREFIX}" >> $GITHUB_ENV
# Set compiler flags for OpenMP (required for both backends)
echo "LDFLAGS=-L${HOMEBREW_PREFIX}/opt/libomp/lib" >> $GITHUB_ENV
@@ -170,7 +141,7 @@ jobs:
- name: Build packages
run: |
# Build core (platform independent) on all platforms for consistency
# Build core (platform independent)
cd packages/leann-core
uv build
cd ../..
@@ -194,22 +165,15 @@ jobs:
# Use system clang for better compatibility
export CC=clang
export CXX=clang++
# sgesdd_ is only available on macOS 13.3+
# DiskANN requires macOS 13.3+ for sgesdd_ LAPACK function
export MACOSX_DEPLOYMENT_TARGET=13.3
# Ensure OpenMP is found during build
HOMEBREW_PREFIX=$(brew --prefix)
export OpenMP_ROOT=${HOMEBREW_PREFIX}/opt/libomp
export LDFLAGS="-L${HOMEBREW_PREFIX}/opt/libomp/lib ${LDFLAGS}"
export CPPFLAGS="-I${HOMEBREW_PREFIX}/opt/libomp/include ${CPPFLAGS}"
uv build --wheel --python ${{ matrix.python }} --find-links ${GITHUB_WORKSPACE}/packages/leann-core/dist
else
uv build --wheel --python ${{ matrix.python }} --find-links ${GITHUB_WORKSPACE}/packages/leann-core/dist
fi
cd ../..
# Build meta package (platform independent) on all platforms
# Build meta package (platform independent)
cd packages/leann
uv build
cd ../..