Both whisper-rs-sys and llama-cpp-sys-2 run bindgen at build time,
which requires libclang.so/dylib/dll resolvable from the loader.
None of the three GitHub runners ship this out of the box today:
- ubuntu-22.04: bindgen-0.72.1 panics with 'couldn't find any
valid shared libraries matching libclang.so*'
- macos-latest: same panic against libclang.dylib
- windows-latest: choco already installed llvm here, but libclang
was on an unset LIBCLANG_PATH, so bindgen still couldn't find it
And llama-cpp-sys-2's vulkan feature (wired on by whisper-rs' vulkan
feature → whisper-rs-sys + its own shared ggml build) hard-panics on
Windows when VULKAN_SDK is unset, and needs libvulkan.so linkable on
Linux.
Changes, applied symmetrically to check.yml and build.yml:
- Linux: add libclang-dev, clang, libvulkan-dev to apt-get install.
- macOS: brew install llvm, set LIBCLANG_PATH to brew --prefix
llvm /lib so bindgen can load libclang.dylib.
- Windows: choco install vulkan-sdk, set VULKAN_SDK to the
newest-version directory under C:\VulkanSDK (resolved
dynamically so a minor-version bump doesn't hardcode-break
anything), set LIBCLANG_PATH to the llvm bin dir.
Unblocks the per-push cargo check job on main, phase4-systems-f7d0,
and phase4-ux-f7d0; also unblocks the release build. The Windows
Vulkan SDK install is the new long pole (~2 min on a cold runner)
but is needed unconditionally while the vulkan feature is on in
crates/transcription/Cargo.toml.
Co-authored-by: jars <jakejars@users.noreply.github.com>