Bug 1756974 - Please package a newer version of CMake (currently 3.15) into EPEL 8
Summary: Please package a newer version of CMake (currently 3.15) into EPEL 8
Keywords:
Status: NEW
Alias: None
Product: Fedora EPEL
Classification: Fedora
Component: cmake
Version: epel8
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Björn 'besser82' Esser
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1830748 1759510
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-09-30 11:05 UTC by Alexander Korsunsky
Modified: 2020-07-14 15:33 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed:
Type: Feature Request


Attachments (Terms of Use)

Description Alexander Korsunsky 2019-09-30 11:05:14 UTC
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).

Comment 1 Orion Poplawski 2019-10-01 00:52:48 UTC
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.

Comment 2 Frank Büttner 2020-04-29 12:04:21 UTC
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.

Comment 3 Antonio T. (sagitter) 2020-04-29 16:10:05 UTC
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

Comment 4 Frank Büttner 2020-04-29 16:31:15 UTC
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

Comment 5 Antonio T. (sagitter) 2020-04-29 18:25:53 UTC
(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.

Comment 6 Orion Poplawski 2020-04-30 01:42:19 UTC
I'm afraid I don't have any insight.

Comment 7 Fedora Update System 2020-04-30 19:37:34 UTC
FEDORA-EPEL-2020-ad02b27ee3 has been submitted as an update to Fedora EPEL 8. https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2020-ad02b27ee3

Comment 8 Fedora Update System 2020-05-01 11:14:18 UTC
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.

Comment 9 Alexander Korsunsky 2020-05-11 10:08:43 UTC
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.

Comment 10 Antonio T. (sagitter) 2020-05-11 10:25:53 UTC
(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?

Comment 11 Alexander Korsunsky 2020-05-11 11:10:51 UTC
Not fixed, but "ON_QA", sorry. Does the package progress into stable if it does not get enough negative Karma?

Comment 12 Antonio T. (sagitter) 2020-05-11 12:16:57 UTC
(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.

Comment 13 Quentin Haas 2020-07-14 15:13:19 UTC
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.


Note You need to log in before you can comment on or make changes to this bug.