Repository navigation
Conversation
4 of 5 tasks
Member
Author
|
@github-actions crossbow submit -g cpp -g r -g python |
This comment was marked as outdated.
This comment was marked as outdated.
Member
Author
|
@github-actions crossbow submit -g cpp -g r -g python |
This comment was marked as outdated.
This comment was marked as outdated.
Member
Author
|
@github-actions crossbow submit -g cpp -g r -g python |
This comment was marked as outdated.
This comment was marked as outdated.
…and Abseil to 20260817.0 gRPC 1.76.0 doesn't compile with OpenSSL 4. gRPC 1.85.0 includes OpenSSL 4 support: grpc/grpc#41932 gRPC 1.85.0 requires a newer Abseil. gRPC 1.76.0 doesn't compile with the newer Abseil. So we need to upgrade both of them together. gRPC 1.85.0 moved its .proto files to the third_party/grpc-proto submodule. Source archives don't include submodules and we disable gRPC_DOWNLOAD_ARCHIVES. So we download grpc-proto by ourselves. We use Abseil 20260817.0 not 20260526.0 that is used by gRPC 1.85.0 because Abseil 20260526.0 can't be built with MSVC with /arch:AVX2: abseil/abseil-cpp#2116 Abseil 20260817.0 removed some libraries and added some new libraries. So we update the list of bundled Abseil libraries. Abseil 20260817.0 uses O_NONBLOCK that isn't available on MinGW. So we define O_NONBLOCK as 0 for MinGW like the upstream fix: abseil/abseil-cpp@ddbdebc6c8 Abseil 20260817.0 includes <cstdint> by itself. So we remove the "-include stdint.h" workaround for GCC 13 or later. gRPC headers don't use deprecated std::iterator. So we remove the "-Wno-error=deprecated-declarations" workaround. We didn't bundle upb static libraries used by gRPC. So static linking with libarrow_bundled_dependencies.a failed with undefined upb symbols. gRPC 1.85.0 also requires the new upb_descriptor_lib. So we bundle all upb static libraries. Protobuf 31.1 can't be built with Abseil 20260817.0 with MSVC. So we upgrade bundled Protobuf to 36.2. Protobuf 36.2 headers include utf8_validity.h in utf8_range. So we add the utf8_range include directory for ORC built by ExternalProject. google-cloud-cpp headers use deprecated Abseil APIs such as absl::visit(). They cause compilation errors with -Werror with Abseil 20260817.0. They are fixed in google-cloud-cpp 3.9.0 or later but google-cloud-cpp 3.9.0 or later requires libcurl 8.7.1 or later. We can't require it because some supported platforms such as Ubuntu 24.04 ship older libcurl. So we use -Wno-error=deprecated-declarations for bundled google-cloud-cpp instead of upgrading it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Member
Author
|
@github-actions crossbow submit -g cpp -g r -g python |
|
Revision: 59500e8 Submitted crossbow builds: ursacomputing/crossbow @ actions-04c96b2205 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Rationale for this change
gRPC 1.76.0 doesn't compile with OpenSSL 4. gRPC 1.85.0 includes OpenSSL 4 support: grpc/grpc#41932
What changes are included in this PR?
gRPC 1.85.0 requires a newer Abseil. gRPC 1.76.0 doesn't compile with the newer Abseil. So we need to upgrade both of them together.
We use Abseil 20260817.0 not 20260526.0 that is used by gRPC 1.85.0 because Abseil 20260526.0 can't be built with MSVC with
/arch:AVX2: abseil/abseil-cpp#2116gRPC 1.85.0 moved its .proto files to the third_party/grpc-proto submodule. Source archives don't include submodules and we disable gRPC_DOWNLOAD_ARCHIVES. So we download grpc-proto by ourselves.
Abseil 20260817.0 removed some libraries and added some new libraries. So we update the list of bundled Abseil libraries.
Abseil 20260817.0 uses
O_NONBLOCKthat isn't available on MinGW. So we defineO_NONBLOCKas 0 for MinGW like the upstream fix: abseil/abseil-cpp@ddbdebc6c8Abseil 20260817.0 includes
<cstdint>by itself. So we remove the-include stdint.hworkaround for GCC 13 or later.gRPC headers don't use deprecated
std::iterator. So we remove the-Wno-error=deprecated-declarationsworkaround.We didn't bundle upb static libraries used by gRPC. So static linking with
libarrow_bundled_dependencies.afailed with undefined upb symbols. gRPC 1.85.0 also requires the newupb_descriptor_lib. So we bundle all upb static libraries.Other bundled dependencies also need to be upgraded for the new Abseil:
Protobuf 31.1 can't be built with Abseil 20260817.0 with MSVC. So we upgrade bundled Protobuf to 36.2. Protobuf 36.2 headers include
utf8_validity.hin utf8_range. So we add the utf8_range include directory for ORC built by ExternalProject.google-cloud-cpp headers use deprecated Abseil APIs such as
absl::visit(). They cause compilation errors with-Werrorwith Abseil 20260817.0. They are fixed in google-cloud-cpp 3.9.0 or later but google-cloud-cpp 3.9.0 or later requires libcurl 8.7.1 or later. We can't require it because some supported platforms such as Ubuntu 24.04 ship older libcurl. So we use-Wno-error=deprecated-declarationsfor bundled google-cloud-cpp instead of upgrading it.Are these changes tested?
Yes.
Are there any user-facing changes?
Yes.
Was AI used for this PR?
In accordance to the AI generation guidelines, please disclose below whether and how AI was used in this PR.
PR code and description written by:
Reviewed before submission by: