-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
GH-34921: [C++][Python][Java] Require CMake 3.16 or later #35921
Conversation
|
I'll rebase on main after #35923 is merged. |
🎉 very nice! |
The CI failure on Windows looks related: It seems that bundled dependencies are built with the wrong flags? (release instead of debug perhaps)
This might be because of https://cmake.org/cmake/help/latest/policy/CMP0091.html : """MSVC runtime library flags are selected by an abstraction""". |
Thanks. |
FYI: I noticed that Amazon Linux 2 uses CMake 3.13. Amazon Linux 2's EOL was 2023-06-30 but extended to 2025-06-03: https://aws.amazon.com/amazon-linux-2/faqs/?nc1=h_ls |
@github-actions crossbow submit -g linux |
This comment was marked as outdated.
This comment was marked as outdated.
@kou I am unable to find 3.13 on ama linux 2 (with epel and extras installed and active)
In any case I think it is fine to only support the 2023 version as that is the version recommended by aws. |
You can find CMake 3 by |
Ah I see thanks! Still +1 on supporting 2023 over 2 |
We need to support Ubuntu 20.04 (CMake 3.16) or later, CentOS 7 (CMake 3.17) or later, and Debian GNU/Linux buster (CMake 3.13 but backports repository has CMake 3.18) or later. So we can require CMake 3.16 or later.
@github-actions crossbow submit -g nightly-tests -g nightly-packaging -g nightly-release |
Revision: 0e889a5 Submitted crossbow builds: ursacomputing/crossbow @ actions-eada57a01a |
No objection on the mailing thread: https://lists.apache.org/thread/1gfpg0pxhk10n10lo0snx68t3pxfs2sl I'll merge this once we confirm that this doesn't break our CI. |
Followup to #35921. The nixlibs.R build script checks for suitable cmake on the system, so since we require newer cmake for C++ now, we need to update the check here. I refactored slightly so that there now is a variable in the script called `cmake_minimum_required`, same as in the CMakeLists.txt files throughout the project, so hopefully the next time we update the cmake version, we'll find this file better. I also bumped the version of cmake that we download (if cmake 3.16 is not found) to the latest release. cc @ kou Authored-by: Neal Richardson <[email protected]> Signed-off-by: Sutou Kouhei <[email protected]>
Conbench analyzed the 6 benchmark runs on commit There were 8 benchmark results indicating a performance regression:
The full Conbench report has more details. |
Rationale for this change
We need to support Ubuntu 20.04 (CMake 3.16) or later, CentOS 7 (CMake 3.17) or later, and Debian GNU/Linux bullseye (CMake 3.18) or later.
So we can require CMake 3.16 or later.
What changes are included in this PR?
Require CMake 3.16 or later.
Are these changes tested?
Yes.
Are there any user-facing changes?
Yes.