Skip to content

fix(release): build macOS llama.cpp without OpenSSL - #468

Draft
johnmatthewtennant wants to merge 1 commit into
mainfrom
jtennant/henry/release-macos-openssl
Draft

johnmatthewtennant wants to merge 1 commit into
mainfrom
jtennant/henry/release-macos-openssl

Conversation

@johnmatthewtennant

@johnmatthewtennant johnmatthewtennant commented Nov 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

The v0.6.5 release run failed in "Build, sign, and stage macOS arm64". llama-cpp-sys-2 compiles llama.cpp's vendored cpp-httplib with HTTPS support whenever CMake finds an OpenSSL. The macOS runner's Homebrew now provides OpenSSL 4, which that httplib doesn't support:

httplib.cpp:12574:16: error: cannot initialize a variable of type 'X509_NAME *' (aka 'X509_name_st *') with an rvalue of type 'const X509_NAME *'
error: failed to run custom build command for `llama-cpp-sys-2 v0.1.146`

This PR sets CMAKE_DISABLE_FIND_PACKAGE_OpenSSL=TRUE on the macOS release job. llama-cpp-sys-2 forwards CMAKE_* variables to llama.cpp's CMake, and Goose never uses llama's HTTPS client, so llama.cpp builds without OpenSSL no matter which version the runner has.

After this merges, dispatch release.yml from main with tag: v0.6.5 to rebuild the missing macOS payload against the unchanged tag source.

Related issue

None found.

Testing

Red/green on an Apple Silicon Mac whose Homebrew default is OpenSSL 4.1.0, building the crate from Goose at the pinned commit 361003ea3:

git clone https://github.com/aaif-goose/goose.git && cd goose
git checkout 361003ea3263587f4241a0f906affdcc0d5c9c1f
. bin/activate-hermit
brew --prefix openssl   # /opt/homebrew/opt/openssl@4

# Red: CMake finds OpenSSL 4 and httplib fails to compile
CARGO_TARGET_DIR=/tmp/red cargo build -p llama-cpp-sys-2
#   -- Found OpenSSL: /opt/homebrew/Cellar/openssl@4/4.1.0/lib/libcrypto.dylib (found version "4.1.0")
#   httplib.cpp:12574:16: error: cannot initialize a variable of type 'X509_NAME *' ...
#   error: failed to run custom build command for `llama-cpp-sys-2 v0.1.146`

# Green: the release job's setting
CMAKE_DISABLE_FIND_PACKAGE_OpenSSL=TRUE CARGO_TARGET_DIR=/tmp/green cargo build -p llama-cpp-sys-2
#   Compiling llama-cpp-sys-2 v0.1.146
#   Finished `dev` profile [unoptimized + debuginfo] target(s) in 50.97s

🤖 Generated with Claude Code

The v0.6.5 macOS release job failed compiling llama.cpp's vendored
cpp-httplib against the runner's Homebrew OpenSSL 4. Goose never uses
llama's HTTPS client, so disable OpenSSL discovery for llama.cpp's CMake,
as berd-internal already does for internal releases.

Co-authored-by: Henry <a0d9f90f86da5f023099d22b8e3599af162d9423a422d8f385a12815de879cf2@buzz.block.builderlab.xyz>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: John Matthew Tennant <jtennant@block.xyz>

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant