fix(ci): set LIBCLANG_PATH on Linux; install Vulkan via brew on macOS
Two follow-ups to the previous CI deps commit: 1. Linux: libclang-dev installs libclang.so under /usr/lib/llvm-*/lib and /usr/lib/x86_64-linux-gnu, but bindgen-0.72.1 does not probe the llvm-versioned directory by default. Resolve the newest /usr/lib/llvm-*/lib candidate dynamically and export LIBCLANG_PATH so bindgen finds it without any clang-sys guesswork. Also install glslang-tools + spirv-tools so find_package(Vulkan COMPONENTS glslc) succeeds against ggml-vulkan's cmake step. 2. macOS: llama-cpp-sys-2 sets GGML_VULKAN=ON unconditionally when the vulkan feature is enabled; cmake's find_package(Vulkan) then fails on a vanilla macOS-latest runner because there is no Vulkan SDK shipped by default. The LunarG macOS SDK ships as a non-scriptable interactive installer, so we compose MoltenVK + Vulkan loader + headers + shaderc via Homebrew formulae instead. Export VULKAN_SDK=$(brew --prefix) and CMAKE_PREFIX_PATH=same so both the build.rs branch and cmake's FindVulkan resolve headers / libs / glslc from /opt/homebrew. Applied symmetrically to check.yml and build.yml. Windows config is unchanged. Co-authored-by: jars <jakejars@users.noreply.github.com>
This commit is contained in:
13
.github/workflows/build.yml
vendored
13
.github/workflows/build.yml
vendored
@@ -81,14 +81,25 @@ jobs:
|
||||
build-essential \
|
||||
libclang-dev \
|
||||
clang \
|
||||
libvulkan-dev
|
||||
libvulkan-dev \
|
||||
glslang-tools \
|
||||
spirv-tools
|
||||
LIBCLANG_CANDIDATE=$(ls -d /usr/lib/llvm-*/lib 2>/dev/null | sort -V | tail -n1)
|
||||
if [ -z "$LIBCLANG_CANDIDATE" ]; then
|
||||
LIBCLANG_CANDIDATE=/usr/lib/x86_64-linux-gnu
|
||||
fi
|
||||
echo "LIBCLANG_PATH=$LIBCLANG_CANDIDATE" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Install macOS deps
|
||||
if: matrix.os == 'macos-latest'
|
||||
run: |
|
||||
brew list cmake >/dev/null 2>&1 || brew install cmake
|
||||
brew list llvm >/dev/null 2>&1 || brew install llvm
|
||||
brew install vulkan-headers vulkan-loader molten-vk shaderc
|
||||
echo "LIBCLANG_PATH=$(brew --prefix llvm)/lib" >> "$GITHUB_ENV"
|
||||
BREW_PREFIX=$(brew --prefix)
|
||||
echo "VULKAN_SDK=$BREW_PREFIX" >> "$GITHUB_ENV"
|
||||
echo "CMAKE_PREFIX_PATH=$BREW_PREFIX" >> "$GITHUB_ENV"
|
||||
|
||||
- name: Install Windows deps
|
||||
if: matrix.os == 'windows-latest'
|
||||
|
||||
Reference in New Issue
Block a user