Skip to content

Update minimal CMake version in favour of advances features it offers#8336

Merged
bellenot merged 7 commits into
root-project:masterfrom
oshadura:update-cmake-3.16
Aug 4, 2021
Merged

Update minimal CMake version in favour of advances features it offers#8336
bellenot merged 7 commits into
root-project:masterfrom
oshadura:update-cmake-3.16

Conversation

@oshadura

@oshadura oshadura commented Jun 4, 2021

Copy link
Copy Markdown
Collaborator

Fixes as well #8280

(Thanks a lot to @amadio for pointing out the most reasonable for ROOT build system)

Update: sadly we can't move directly to 3.16 because Debian 10 has only cmake 3.13 packaged https://pkgs.org/search/?q=cmake

@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-04T09:06:41.029Z] CMake Error at CMakeLists.txt:7 (cmake_minimum_required):
  • [2021-06-04T09:06:41.029Z] CMake Error at /data/sftnight/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1113 (message):

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-04T09:08:47.946Z] CMake Error at CMakeLists.txt:7 (cmake_minimum_required):
  • [2021-06-04T09:08:47.946Z] CMake Error at /home/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1113 (message):

@oshadura oshadura force-pushed the update-cmake-3.16 branch from 0b31f44 to f4bd71b Compare June 4, 2021 09:20
@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

Comment thread CMakeLists.txt Outdated
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
else()
cmake_minimum_required(VERSION 3.9 FATAL_ERROR)
cmake_minimum_required(VERSION 3.12 FATAL_ERROR)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Wasn't this supposed to be 3.16? Also, I supposed in the same PR one should search and remove hacks for older versions (like the Python setup), as that will not be necessary anymore.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@amadio sadly we can't move directly to 3.16 because Debian 10 has only cmake 3.13 packaged https://pkgs.org/search/?q=cmake

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, if you want to keep Debian 10 support, I guess 3.12 is the minimal version to be worth an update.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I updated to 3.13 which is a bit closer to 3.16

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd find it reasonable to install CMake 3.16 on our Debian machines, and to expect packagers to have to do the same. After all it's not a runtime requirement.

Can people still build against ROOT with older CMake?

@oshadura oshadura Jun 4, 2021

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe yes, but we will need to remove hacks #8280 or even maybe more workarounds somewhere..

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

(I will test such combination with rootest.git)

@oshadura oshadura force-pushed the update-cmake-3.16 branch from f4bd71b to 3c86e9f Compare June 4, 2021 09:24
@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

@oshadura

oshadura commented Jun 4, 2021

Copy link
Copy Markdown
Collaborator Author

@amadio looks like it will be still impossible to remove Python hacks in https://github.com/root-project/root/blob/master/cmake/modules/SearchRootCoreDeps.cmake: CMake 3.14 is the minimum because in 3.12 and 3.13, despite find_package(PythonX) being present, the Numpy-related variables are not set

@amadio

amadio commented Jun 4, 2021

Copy link
Copy Markdown
Member

Yes, I was thinking about the move happening to 3.16. If it's only to 3.12 or 3.13, then the hacks need to stay. However, it's probably better to drop Debian 10 support and go to CMake 3.16. Debian 10 users can still have up to ROOT 6.24 if they don't want to install CMake by hand.

@oshadura

oshadura commented Jun 4, 2021

Copy link
Copy Markdown
Collaborator Author

About debian looks like users can get higher cmake version from stable-bpo and testing repos (?): https://tracker.debian.org/pkg/cmake
@Axel-Naumann what do you think?

@oshadura oshadura force-pushed the update-cmake-3.16 branch from 3c86e9f to c74183c Compare June 4, 2021 11:00
@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft11.dyndns.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-04T11:03:30.152Z] CMake Error at CMakeLists.txt:7 (cmake_minimum_required):
  • [2021-06-04T11:03:30.152Z] CMake Error at /home/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1113 (message):

@phsft-bot

Copy link
Copy Markdown

Build failed on mac1014/python3.
Running on macphsft17.dyndns.cern.ch:/build/jenkins/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-04T11:09:38.821Z] CMake Error at CMakeLists.txt:7 (cmake_minimum_required):
  • [2021-06-04T11:09:38.821Z] CMake Error at /build/jenkins/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1113 (message):

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-ubuntu16/nortcxxmod.
Running on sft-ubuntu-1604-1.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@phsft-bot

Copy link
Copy Markdown

Build failed on mac11.0/cxx17.
Running on macphsft20.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-04T12:16:40.770Z] CMake Error at cmake/modules/SearchInstalledSoftware.cmake:1727 (message):
  • [2021-06-04T12:16:40.770Z] CMake Error at /Users/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1113 (message):

@oshadura

Copy link
Copy Markdown
Collaborator Author

@phsft-bot build!

@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft11.dyndns.cern.ch:/home/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-29T07:45:24.677Z] CMake Error at /home/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1043 (message):

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-performance-centos8-multicore/default.
Running on olbdw-01.cern.ch:/data/sftnight/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-29T07:45:25.149Z] CMake Error at /data/sftnight/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1043 (message):

@bellenot

Copy link
Copy Markdown
Member

@oshadura then why was it not failing before?

@oshadura

oshadura commented Jun 29, 2021

Copy link
Copy Markdown
Collaborator Author

@bellenot Maybe my guess is wrong, checking other PR https://lcgapp-services.cern.ch/root-jenkins/job/root-pullrequests-build/121249/consoleFull I see that python3.8 is actually available on this node. Do you know if CMake was updated on this node as well?
(FYI I just checked on my MacOS 11 and PR works)

@oshadura

Copy link
Copy Markdown
Collaborator Author

@phsft-bot build just on mac11.0/cxx17

@phsft-bot

Copy link
Copy Markdown

Starting build on mac11.0/cxx17
How to customize builds

@bellenot

Copy link
Copy Markdown
Member

Do you know if CMake was updated on this node as well?

No idea. @Axel-Naumann ?

@phsft-bot

Copy link
Copy Markdown

Build failed on mac11.0/cxx17.
Running on macphsft23.dyndns.cern.ch:/Users/sftnight/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-29T11:49:47.763Z] CMake Error at cmake/modules/SearchInstalledSoftware.cmake:1751 (message):
  • [2021-06-29T11:49:47.763Z] CMake Error at /Users/sftnight/build/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1112 (message):

@oshadura

oshadura commented Jun 29, 2021

Copy link
Copy Markdown
Collaborator Author

Yes cmake is updated, I will check where is a problem:

sftnight@macphsft23 ~ % cmake --version
cmake version 3.18.1

@oshadura oshadura force-pushed the update-cmake-3.16 branch from 85c7499 to 186a2f0 Compare June 29, 2021 12:13
@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on mac1014/python3.
Running on macphsft17.dyndns.cern.ch:/build/jenkins/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-06-29T12:20:56.834Z] CMake Error at CMakeLists.txt:7 (cmake_minimum_required):
  • [2021-06-29T12:20:57.092Z] CMake Error at /build/jenkins/workspace/root-pullrequests-build/rootspi/jenkins/root-build.cmake:1112 (message):

@oshadura

Copy link
Copy Markdown
Collaborator Author

@bellenot I think now PR is ready, before I made a small typo. The only problem is that all MacOS nodes need to have updated CMake (e.g. see macphsft17.dyndns.cern.ch)...

@bellenot

Copy link
Copy Markdown
Member

Thanks a lot @oshadura ! I'll ask @Axel-Naumann if one can update CMake on all the MacOS nodes

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Failing tests:

@bellenot

Copy link
Copy Markdown
Member

@phsft-bot build

@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@oshadura oshadura requested review from bellenot and removed request for bellenot July 13, 2021 14:09
@bellenot

bellenot commented Aug 2, 2021

Copy link
Copy Markdown
Member

@phsft-bot build

@phsft-bot

Copy link
Copy Markdown

Starting build on ROOT-debian10-i386/cxx14, ROOT-performance-centos8-multicore/default, ROOT-ubuntu16/nortcxxmod, mac1014/python3, mac11.0/cxx17, windows10/cxx14
How to customize builds

@phsft-bot

Copy link
Copy Markdown

Build failed on ROOT-debian10-i386/cxx14.
Running on pcepsft10.dyndns.cern.ch:/build/workspace/root-pullrequests-build
See console output.

Errors:

  • [2021-08-02T09:04:40.998Z] stderr: error: could not read '.git/rebase-apply/head-name': No such file or directory

Failing tests:

@bellenot bellenot merged commit f68ed04 into root-project:master Aug 4, 2021
pzhristov pushed a commit to alisw/root that referenced this pull request Aug 27, 2021
…root-project#8336)

* Update minimal CMake version in favour of advances features it offers

* Remove workaround for FindDoxygen (cmake < 3.13)

* Remnove workaround for cmake < 3.14 to able to report issue directly to stdout

* Remove workaround for CMake < 3.14 when Ninja 1.9.0 builds static libraries twice

* Remove other CMake hack from multi-python ROOT builds

* We are using 3.16 as a min CMake version and REGEX is definitely available in this version

* Remove code used to search Python2/Python3 with <= CMake 3.14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants