protocolbuffers / protocolbuffers/protobuf

v30.0 OSX binary cannot be run on `macOS 15.3.1`

Open
#20,576 7 comments 4 reactions 1 assignee View on GitHub

@deannagarcia is already working on this.

Since Mar 6, 2025.

keep open mac packaging & distribution platform related
Dominant language
C++
Stars
72k
Forks
16.3k
Avg merge
1d 17h
Merged PRs (30d)
140

Description

Our newest releases (22.4+ and 23.x) will now have signed OSX binaries, closing this issue.

Originally posted by @deannagarcia in #9397

On macOS 15.3.1 I've encountered an error when trying to run protoc from protoc-30.0-osx-aarch_64 release binary:

% sha256sum ~/Downloads/protoc-30.0-osx-aarch_64/bin/protoc
ed4a186bc767b067dd7ae09bfa935450b313be02cbd21a1af185274b8d2a07a8  /Users/kris/Downloads/protoc-30.0-osx-aarch_64/bin/protoc
% codesign -v -vvv --strict --deep ~/Downloads/protoc-30.0-osx-aarch_64/bin/protoc
/Users/kris/Downloads/protoc-30.0-osx-aarch_64/bin/protoc: valid on disk
/Users/kris/Downloads/protoc-30.0-osx-aarch_64/bin/protoc: satisfies its Designated Requirement
% ~/Downloads/protoc-30.0-osx-aarch_64/bin/protoc

macOS Alert

"protoc" Not Opened

Apple could not verify "protoc" is free of malware that may harm your Mac or compromise your privacy.

[Done] [Move to Trash]
zsh: killed     ~/Downloads/protoc-30.0-osx-aarch_64/bin/protoc

I see syspolicyd in console saying ticket not available for something, probably the protoc just tried to run. Also tried the protoc-29.3-osx-universal_binary release with the same result.

Not sure if this a transient error with Notarization / Gatekeeper. But workaround to continue using protoc on homebrew works ok:

% sha256sum /opt/homebrew/bin/protoc
8949fe76a001b29303d6b24c106e3b1da0b19fd6fe412038a2d2fce18864a5b0  /opt/homebrew/bin/protoc
% /opt/homebrew/bin/protoc --version
libprotoc 29.3

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.