GH-49435: [CI][Python] Fix macOS protobuf@33 keg-only discovery#49491
GH-49435: [CI][Python] Fix macOS protobuf@33 keg-only discovery#49491tadeja wants to merge 8 commits intoapache:mainfrom
Conversation
|
AMD64 macOS 15-intel Python 3 and ARM64 macOS 14 Python 3 both successfully completed with the protobuf@33 change. Now attempting similar change for |
|
@raulcd, @rok what do you say about this PR? it can be moved into existing draft #49436 if you'd prefer.
|
|
Will users building for source need to use keg only? Should we update docs? |
kou
left a comment
There was a problem hiding this comment.
+1
This is a workaround. We should remove @33 eventually after the gRPC problem is fixed.
See also:
- https://github.com/Homebrew/homebrew-core/blob/8b55249c502449f0c5a4c667d52af8eb7cd34010/Formula/g/grpc.rb#L37C30-L37C71
- grpc/grpc#41755
Could you add a comment when we can remove this workaround?
Co-authored-by: Sutou Kouhei <[email protected]>
|
Ruby job is failing anew (no changes here except for newline) I see homebrew merged this last night so grpc changed "protobuf@33" to "protobuf" and is on version 34.0 now;
As it appears grpc formula now depends on protobuf (v34), grpc_cpp_plugin generates v34 incompatible code that can't compile against protobuf@33 headers |
|
( Unrelated issue of Windows test segfault is being worked on in #49462. ) |
|
@raulcd what are your thoughts on the next steps here? - CI jobs are passing again today, also for ARM64 macOS 14 GLib & Ruby (pull_request) |
Rationale for this change
Homebrew upgrading protobuf beyond v33 (as described in #49435) also causes new runtime Bus error.
What changes are included in this PR?
a) Pin
protobuf@33incpp/Brewfile(as discussed in #49436)b) Add keg-only env setup in
python.ymlso CMake/pkg-config can findprotobuf@33This resolves
Fatal Python error: Bus erroron macOS 15 Intel when importingpyarrow.flight. Homebrew's latestprotobufpulls in Abseil 20260107-- Found abslAlt: 1 (found version "20260107")which is ABI-incompatible with Arrow's bundled gRPC v1.46.3
One of earliest Python CI logs with the
Bus error:https://github.com/apache/arrow/actions/runs/22722817262/job/65889451081#step:10:103
Note: Other workflows using
cpp/Brewfilewill prob need similar keg-only setup. (There's failing C++ job log here, Ruby etc.)Are these changes tested?
Yes, fork workflow completed the Python macOS 15-intel job with success.
Are there any user-facing changes?
No.