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

[C++] Bump required CMake version #44950

Open
pitrou opened this issue Dec 5, 2024 · 4 comments
Open

[C++] Bump required CMake version #44950

pitrou opened this issue Dec 5, 2024 · 4 comments

Comments

@pitrou
Copy link
Member

pitrou commented Dec 5, 2024

Describe the enhancement requested

As discussed in this PR and also on Zulip, it would be useful to bump the required CMake version for building Arrow C++.

Component(s)

C++

@pitrou
Copy link
Member Author

pitrou commented Dec 5, 2024

cc @assignUser @kou

@raulcd
Copy link
Member

raulcd commented Dec 9, 2024

Do we have an agreement here on the version? From the Zulip conversation we have:

Ubuntu 20.04 (CMake 3.16) will reach EOL on 2025-04: https://wiki.ubuntu.com/Releases
CentOS 7 (CMake 3.17) reached EOL: We're still supporting CentOS 7 ( #41395 (comment) ) but we don't need to care about CentOS 7 for this. We can install newer CMake manually.
Debian GNU/Linux bullseye (CMake 3.18) reached EOL on 2024-08-14: https://wiki.debian.org/DebianReleases
Debian GNU/Linux bookworm provides CMake 3.25: https://packages.debian.org/search?keywords=cmake
Ubuntu 22.04 provides CMake 3.22: https://packages.ubuntu.com/search?keywords=cmake
AlmaLinux 8 provides CMake 3.26
AlmaLinux 9 provides CMake 3.26

but we seem to want to use features added on CMake 3.24. It seems we had an agreement to use CMake 3.25 and only require Ubuntu users for 22.04 (and 20.04 until it reaches EOL) to have to update their CMake version?

@pitrou
Copy link
Member Author

pitrou commented Dec 9, 2024

It seems we had an agreement to use CMake 3.25 and only require Ubuntu users for 22.04 (and 20.04 until it reaches EOL) to have to update their CMake version?

This seems reasonable to me.

@kou
Copy link
Member

kou commented Dec 9, 2024

The mailing list discussion: https://lists.apache.org/thread/h8jp16ktrj11fmjmjhlg6xvkvv9wzvjk

raulcd added a commit to raulcd/arrow that referenced this issue Dec 10, 2024
raulcd added a commit to raulcd/arrow that referenced this issue Dec 13, 2024
raulcd added a commit to raulcd/arrow that referenced this issue Dec 30, 2024
amoeba added a commit to amoeba/arrow that referenced this issue Jan 3, 2025
raulcd added a commit to raulcd/arrow that referenced this issue Jan 7, 2025
raulcd added a commit to raulcd/arrow that referenced this issue Jan 21, 2025
Try installing CMake 3.25 manually on Ubuntu

Install cmake in linux-apt-lint.dockerfile and update install_cmake.sh to not require platform argument

Install CMake 3.25.0 on several Ubuntu jobs and Windows jobs that require the existing version to be bumped

Several fixes to install_cmake

Some more fixes and upgrade minimal examples to use Ubuntu 24.04

Some more fixes for R

Update from CMAKE to CMAKE_VERSION

Ensure that versions returned are strings, bump cmake download

Try forcing MINGW package to pull a newer CMake

Revert trying to pull newer CMake

Try to completely remove mingw CMake from CRAN

/c/cmake/bin/cmake.exe should be present and in path, try with .exe

Try with full path for CMake

Try removing manual installation of CMake and installing CMake via pacman before setting up RTools

Remove manual Installation of CMake from pacman not present

More tries

Temporarily try using msys2 GH action to install cmake

Remove CMake from PKGBUILD

CMake should be in the path

Debug new CMake location

Try with C:\Program Files\CMake\bin\cmake.exe

Just testing at this point

Bundle AWSSDK under RTools (#90)

Check for mingw

Check Windows compiler

Try modifying patch due to redefinition

Try fixing patch

AWS is bundled on Windows R now, do not use MSYS libraries

Fix license header on patch + add CMake condition for AWS patch

Update configure.win to remove specific AWS CPP libs

Update r/configure.win

Co-authored-by: Bryce Mecum <[email protected]>

Update r/configure.win

Test turning ccache back on

Update ci/scripts/r_windows_build.sh

Co-authored-by: Neal Richardson <[email protected]>

Update r/configure.win

Co-authored-by: Neal Richardson <[email protected]>

Review comments

Remove MSYS2_ARG_CONV_EXCL

Testing with manually adding missing rtools40

Add correct slash for path

Add comment on why MSYS2_ARG_CONV_EXCL is required

Use MSYS2_ARG_CONV_EXCL on the same CMake command

Update tutorial examples to use a newer Ubuntu

Add CMAKE_VERSION to cuda jobs

Upgrade minimal Ubuntu to use 24.04 instead of 22.04

Fix minimal build for Ubuntu 24.04

ubuntu-cuda-cpp requires cmake argument

Add cmake to docker-compose.yml missing images

Add missing cmake to some more images

Some more fixing mainly for R binary jobs

Set CMAKE to newly installed path

Revert "Try modifying patch due to redefinition"

This reverts commit b772b23.

Reapply "Try modifying patch due to redefinition"

This reverts commit 1d71375.

Hardcode enum value

I tried to find a proper way to include-guard this but
everything I tried didn't work.

Remove outdated refs to aws libs

Since we are bundling these we don't have these to copy

Move _WIN32_WINNT def into {c,cxx}flags

Ignore warnings-as-errors in cmake
raulcd added a commit to raulcd/arrow that referenced this issue Jan 21, 2025
Try installing CMake 3.25 manually on Ubuntu

Install cmake in linux-apt-lint.dockerfile and update install_cmake.sh to not require platform argument

Install CMake 3.25.0 on several Ubuntu jobs and Windows jobs that require the existing version to be bumped

Several fixes to install_cmake

Some more fixes and upgrade minimal examples to use Ubuntu 24.04

Some more fixes for R

Update from CMAKE to CMAKE_VERSION

Ensure that versions returned are strings, bump cmake download

Try forcing MINGW package to pull a newer CMake

Revert trying to pull newer CMake

Try to completely remove mingw CMake from CRAN

/c/cmake/bin/cmake.exe should be present and in path, try with .exe

Try with full path for CMake

Try removing manual installation of CMake and installing CMake via pacman before setting up RTools

Remove manual Installation of CMake from pacman not present

More tries

Temporarily try using msys2 GH action to install cmake

Remove CMake from PKGBUILD

CMake should be in the path

Debug new CMake location

Try with C:\Program Files\CMake\bin\cmake.exe

Just testing at this point

Bundle AWSSDK under RTools (#90)

Check for mingw

Check Windows compiler

Try modifying patch due to redefinition

Try fixing patch

AWS is bundled on Windows R now, do not use MSYS libraries

Fix license header on patch + add CMake condition for AWS patch

Update configure.win to remove specific AWS CPP libs

Update r/configure.win

Co-authored-by: Bryce Mecum <[email protected]>

Update r/configure.win

Test turning ccache back on

Update ci/scripts/r_windows_build.sh

Co-authored-by: Neal Richardson <[email protected]>

Update r/configure.win

Co-authored-by: Neal Richardson <[email protected]>

Review comments

Remove MSYS2_ARG_CONV_EXCL

Testing with manually adding missing rtools40

Add correct slash for path

Add comment on why MSYS2_ARG_CONV_EXCL is required

Use MSYS2_ARG_CONV_EXCL on the same CMake command

Update tutorial examples to use a newer Ubuntu

Add CMAKE_VERSION to cuda jobs

Upgrade minimal Ubuntu to use 24.04 instead of 22.04

Fix minimal build for Ubuntu 24.04

ubuntu-cuda-cpp requires cmake argument

Add cmake to docker-compose.yml missing images

Add missing cmake to some more images

Some more fixing mainly for R binary jobs

Set CMAKE to newly installed path

Revert "Try modifying patch due to redefinition"

This reverts commit b772b23.

Reapply "Try modifying patch due to redefinition"

This reverts commit 1d71375.

Hardcode enum value

I tried to find a proper way to include-guard this but
everything I tried didn't work.

Remove outdated refs to aws libs

Since we are bundling these we don't have these to copy

Move _WIN32_WINNT def into {c,cxx}flags

Ignore warnings-as-errors in cmake
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

3 participants