The CMake version in RHEL 8 and CentOS 8 is 3.11.4, which is 1.5 years old. The current version of CMake is 3.15.3. I am unsure what the policy is for creating newer versions of packages that already exist upstream, or whether that's possible at all. If it is, however, I would kindly request to package CMake version 3.15 or 3.14 (like in Fedora or EPEL 8).
I'm not really sure what the best options are here. We could certainly package a cmake3.14 or cmake 3.15. But that would presumably lead to a squence of packages. I'm unclear if the current cmake package in RHEL8 is a module or not - it doesn't seem to be, but some kind of cmake-latest module seems like the best way to go long term. But modules will not be ready for EPEL8 until at least RHEL8.1 and perhaps later. Personally, I don't have a burning need for the latest cmake so I'm probably not going to do any packaging work on this myself.
The situation is very ugly, because the older RHEL7 comes with 3.14.7 via EPEL. And the newer RHEL8 comes with 3.11.4 by default.
New CMake-3.17.* build is failing on EPEL8 for a failed test (RunCMake.PrecompileHeaders) and i have not idea why happens: https://kojipkgs.fedoraproject.org//work/tasks/511/43880511/build.log
I think, this is the problem: lddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-out> [ 83%] Building C object CMakeFiles/foobar.dir/foobar.c.o /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-out> [100%] Linking C executable foobar /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-out> [100%] Built target foobar /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: Expected stderr to match: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: expect-err> ^$ /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: Actual stderr: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-err> cc1: warning: /builddir/build/BUILD/cmake-3.17.1/build/Tests/RunCMake/PrecompileHeaders/PchInterface-build/CMakeFiles/foo.dir/cmake_pch.h.gch: had text segment at different address /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-err> cc1: warning: /builddir/build/BUILD/cmake-3.17.1/build/Tests/RunCMake/PrecompileHeaders/PchInterface-build/CMakeFiles/foobar.dir/cmake_pch.h.gch: had text segment at different address /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: Call Stack (most recent call first): /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Tests/RunCMake/RunCMake.cmake:205 (run_cmake) /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Tests/RunCMake/PrecompileHeaders/RunCMakeTest.cmake:10 (run_cmake_command) /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Tests/RunCMake/PrecompileHeaders/RunCMakeTest.cmake:17 (run_test) /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: And later: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: CMake Error at /builddir/build/BUILD/cmake-3.17.1/Tests/RunCMake/RunCMake.cmake:191 (message): /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: SkipPrecompileHeaders-build - FAILED: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: stderr does not match that expected. /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: Command was: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: command> "/builddir/build/BUILD/cmake-3.17.1/build/bin/cmake3" "--build" "." "--config" "Debug" /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: Actual stdout: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-out> Scanning dependencies of target pch-test /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-out> [ 25%] Building CXX object CMakeFiles/pch-test.dir/cmake_pch.hxx.gch /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-out> [ 50%] Building CXX object CMakeFiles/pch-test.dir/main.cpp.o /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-out> [ 75%] Building CXX object CMakeFiles/pch-test.dir/non-pch.cpp.o /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-out> [100%] Linking CXX executable pch-test /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-out> [100%] Built target pch-test /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: Expected stderr to match: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: expect-err> ^$ /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: Actual stderr: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: actual-err> cc1plus: warning: /builddir/build/BUILD/cmake-3.17.1/build/Tests/RunCMake/PrecompileHeaders/SkipPrecompileHeaders-build/CMakeFiles/pch-test.dir/cmake_pch.hxx.gch: had text segment at different address /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: Call Stack (most recent call first): /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Tests/RunCMake/RunCMake.cmake:205 (run_cmake) /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Tests/RunCMake/PrecompileHeaders/RunCMakeTest.cmake:10 (run_cmake_command) /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Tests/RunCMake/PrecompileHeaders/RunCMakeTest.cmake:19 (run_test) /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: /builddir/build/BUILD/cmake-3.17.1/Source/CTest/cmCTestRunTest.cxx:42 496: -- SkipPrecompileHeaders-test - PASSED
(In reply to Antonio T. (sagitter) from comment #3) > New CMake-3.17.* build is failing on EPEL8 for a failed test > (RunCMake.PrecompileHeaders) and i have not idea why happens: > > https://kojipkgs.fedoraproject.org//work/tasks/511/43880511/build.log Quoting https://bugzilla.redhat.com/show_bug.cgi?id=1721553#c4: "The "had text segment at different address" error is about having the PCH file generated with a compiler that is different from the compiler that is trying to read it, the test checks if a function pointer saved in the PCH file matches the corresponding function pointer in the cc1 or cc1plus binary. If it is different, any saved function pointers would need relocation and gcc isn't prepared to do that. So, the possibilities are either that the compiler is built with PIE (but that is not the case of gcc in the distro), or say that cc1plus was used to write it and cc1 to read it, or vice versa, or slightly different gcc revision was used to save it vs. read it etc. The commands e.g. in #c1 can't be trusted, /usr/bin/gcc /usr/bin/gcc ... would surely error out." I'm going to skip this test, hoping this issue does not invalidate the CMake usage really.
I'm afraid I don't have any insight.
FEDORA-EPEL-2020-ad02b27ee3 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-ad02b27ee3
FEDORA-EPEL-2020-ad02b27ee3 has been pushed to the Fedora EPEL 8 testing repository. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-ad02b27ee3 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.
Please do NOT mark this as fixed, the suggested package fails to install, as discussed on https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-ad02b27ee3 . There should not be a `cmake3` package in EPEL that supersedes the `cmake` package in RHEL/CentOS. The right move is to create a module and override the EPEL/CentOS pacakge. This should be possible, now that #1759510 is fixed.
(In reply to Alexander Korsunsky from comment #9) > Please do NOT mark this as fixed, the suggested package fails to install, as > discussed on > https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-ad02b27ee3 . > Fixed? Where this ticket is marked as fixed?
Not fixed, but "ON_QA", sorry. Does the package progress into stable if it does not get enough negative Karma?
(In reply to Alexander Korsunsky from comment #11) > Not fixed, but "ON_QA", sorry. Does the package progress into stable if it > does not get enough negative Karma? No.
EPEL7 is now on 3.17, EL8's appstream is still on 3.11. Having newer versions of cmake (e.g. 3.14+) available for EL8 is helpful for modern CUDA development, nvidia likes to change paths/files around. I'm running into a number of issues with MAGMA, UE4 and other projects that require me to deploy newer versions of cmake than 3.11. Appreciate the community's interest in this, would help productivity.
A non-modular cmake-3.18.2-7.el8 has been pushed to git.centos.org [0]. This is planned to be included in RHEL 8.4, and will be published in CentOS Stream soon. Adding any kind of modular or non-modular cmake to EPEL 8 doesn't make any sense at this point, so I'm going to go ahead and close this bug out. https://git.centos.org/rpms/cmake/c/09b85a86fd26251b569658b4ecb5db9ace298606?branch=c8s