Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CI][C++] Compilation failures with protoc 29.0.0 #44954

Closed
pitrou opened this issue Dec 5, 2024 · 3 comments
Closed

[CI][C++] Compilation failures with protoc 29.0.0 #44954

pitrou opened this issue Dec 5, 2024 · 3 comments

Comments

@pitrou
Copy link
Member

pitrou commented Dec 5, 2024

Describe the bug, including details regarding any error messages, version, and platform.

The protobuf compiler has started adding C++ deprecated attributes to class and enum declarations.

This in turns breaks our CI builds on macOS, and will probably break other builds later:
https://github.com/apache/arrow/actions/runs/12172205626/job/33950463294

FAILED: CMakeFiles/substrait.dir/substrait_ep-generated/substrait/algebra.pb.cc.o 
/opt/homebrew/bin/ccache /Applications/Xcode_15.4.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -DARROW_HAVE_NEON -DPROTOBUF_USE_DLLS -I/Users/runner/work/arrow/arrow/build/cpp/substrait_ep-generated -I/Users/runner/work/arrow/arrow/build/cpp/src -I/Users/runner/work/arrow/arrow/cpp/src -I/Users/runner/work/arrow/arrow/cpp/src/generated -isystem /opt/homebrew/include -fno-aligned-new  -Qunused-arguments -fcolor-diagnostics  -Wall -Wextra -Wdocumentation -DARROW_WARN_DOCUMENTATION -Wshorten-64-to-32 -Wno-missing-braces -Wno-unused-parameter -Wno-constant-logical-operand -Wno-return-stack-address -Wdate-time -Wno-unknown-warning-option -Wno-pass-failed -march=armv8-a  -g -Werror -O0 -ggdb -g1 -std=c++17 -arch arm64 -isysroot /Applications/Xcode_15.4.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.5.sdk -fPIC -Wno-error=shorten-64-to-32 -MD -MT CMakeFiles/substrait.dir/substrait_ep-generated/substrait/algebra.pb.cc.o -MF CMakeFiles/substrait.dir/substrait_ep-generated/substrait/algebra.pb.cc.o.d -o CMakeFiles/substrait.dir/substrait_ep-generated/substrait/algebra.pb.cc.o -c /Users/runner/work/arrow/arrow/build/cpp/substrait_ep-generated/substrait/algebra.pb.cc
In file included from /Users/runner/work/arrow/arrow/build/cpp/substrait_ep-generated/substrait/algebra.pb.cc:6:
/Users/runner/work/arrow/arrow/build/cpp/substrait_ep-generated/substrait/algebra.pb.h:18443:16: error: 'Expression_Enum' is deprecated [-Werror,-Wdeprecated-declarations]
  using Enum = Expression_Enum;
               ^
/Users/runner/work/arrow/arrow/build/cpp/substrait_ep-generated/substrait/algebra.pb.h:7571:9: note: 'Expression_Enum' has been explicitly marked deprecated here
class [[deprecated]] Expression_Enum final
        ^

Component(s)

C++, Continuous Integration

@pitrou
Copy link
Member Author

pitrou commented Dec 5, 2024

We will need to find a way to selectively disable those warnings for protobuf-generated files somehow.

Or, worse, we'll have to remove those [[deprecated]] attributes with a command-line utility :)

kou pushed a commit that referenced this issue Dec 7, 2024
### Rationale for this change

### What changes are included in this PR?

### Are these changes tested?

### Are there any user-facing changes?

* GitHub Issue: #44954

Lead-authored-by: Antoine Pitrou <[email protected]>
Co-authored-by: Jacob Wujciak-Jens <[email protected]>
Co-authored-by: Antoine Pitrou <[email protected]>
Signed-off-by: Sutou Kouhei <[email protected]>
@kou
Copy link
Member

kou commented Dec 7, 2024

Issue resolved by pull request 44955
#44955

@pitrou
Copy link
Member Author

pitrou commented Dec 17, 2024

For the record, protobuf is reverting the offending upstream changes (for now?):
protocolbuffers/protobuf#19568 (comment)
protocolbuffers/protobuf@f05e51c

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants