GH-49601: [C++] Update bundled AWS SDK C++ for C23#49604
Conversation
aws-lc can't be built with C23: aws/aws-lc#2995 It's fixed in upstream: aws/aws-lc#3008
|
|
There was a problem hiding this comment.
Pull request overview
This PR updates the bundled AWS SDK for C++ dependency set (including aws-lc) to versions that can be built with C23, addressing the aws-lc build failure referenced in GH-49601.
Changes:
- Bumped bundled AWS C libraries, aws-crt-cpp, aws-lc, aws-sdk-cpp, and s2n-tls versions and corresponding SHA256 checksums.
- Added a GCC-specific compile flag suppression (
-Wno-implicit-fallthrough) during the AWS SDK from-source build.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
cpp/thirdparty/versions.txt |
Updates AWS-related thirdparty version pins and SHA256 checksums (including aws-lc) to newer releases. |
cpp/cmake_modules/ThirdpartyToolchain.cmake |
Adjusts AWS SDK build configuration by adding a GCC-specific warning suppression flag. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU") | ||
| string(APPEND CMAKE_C_FLAGS " -Wno-implicit-fallthrough") | ||
| string(APPEND CMAKE_CXX_FLAGS " -Wno-implicit-fallthrough") | ||
| endif() |
There was a problem hiding this comment.
The -Wno-implicit-fallthrough flag is being added based on CMAKE_CXX_COMPILER_ID, but it’s appended to both CMAKE_C_FLAGS and CMAKE_CXX_FLAGS. In mixed-toolchain setups (different C and C++ compilers), this can fail to apply when needed or apply based on the wrong compiler. Consider checking CMAKE_C_COMPILER_ID for the C flags and CMAKE_CXX_COMPILER_ID for the C++ flags (or guarding each independently), ideally using check_c_compiler_flag/check_cxx_compiler_flag so unsupported flags don’t break builds.
|
Passed on Ubuntu 26.04: https://github.com/apache/arrow/actions/runs/23628768698/job/68823357012?pr=49604 |
|
+1 |
|
After merging your PR, Conbench analyzed the 3 benchmarking runs that have been run so far on merge-commit aa30af3. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 8 possible false positives for unstable benchmarks that are known to sometimes produce them. |
Rationale for this change
aws-lc can't be built with C23:
aws/aws-lc#2995
It's fixed in upstream:
aws/aws-lc#3008
What changes are included in this PR?
Update bundled AWS SDK C++ related products to the latest version.
Are these changes tested?
Yes.
Are there any user-facing changes?
Yes.