Bug 2240311
| Summary: | cmake-3.27.4-7 breaks configuration - CMake can not determine linker language for target | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Orion Poplawski <orion> |
| Component: | cmake | Assignee: | Björn Esser (besser82) <besser82> |
| Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rawhide | CC: | besser82, dominik, gmarr, jreznik, philip.wyett, rdieter, trpost, walter.pete |
| Target Milestone: | --- | Keywords: | Reopened |
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Linux | ||
| Whiteboard: | AcceptedFreezeException | ||
| Fixed In Version: | cmake-3.27.6-1.fc40 cmake-3.27.6-1.fc38 cmake-3.27.7-1.fc39 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2023-10-10 22:15:59 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 2143447, 2238263 | ||
Upstream issue with fix: https://gitlab.kitware.com/cmake/cmake/-/issues/25252 FYI, link to the MR fixing this: https://gitlab.kitware.com/cmake/cmake/-/merge_requests/8814 FEDORA-2023-d836537730 has been submitted as an update to Fedora 40. https://bodhi.fedoraproject.org/updates/FEDORA-2023-d836537730 FEDORA-2023-c6982072ca has been submitted as an update to Fedora 39. https://bodhi.fedoraproject.org/updates/FEDORA-2023-c6982072ca FEDORA-2023-52a0129614 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2023-52a0129614 FEDORA-2023-d836537730 has been pushed to the Fedora 40 stable repository. If problem still persists, please make note of it in this bug report. FEDORA-2023-6ef8830f85 has been submitted as an update to Fedora 38. https://bodhi.fedoraproject.org/updates/FEDORA-2023-6ef8830f85 FEDORA-2023-52a0129614 has been pushed to the Fedora 37 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-52a0129614` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-52a0129614 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2023-6ef8830f85 has been pushed to the Fedora 38 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-6ef8830f85` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-6ef8830f85 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2023-c6982072ca has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-c6982072ca` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-c6982072ca See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2023-6ef8830f85 has been pushed to the Fedora 38 stable repository. If problem still persists, please make note of it in this bug report. FEDORA-2023-c9bc846f11 has been pushed to the Fedora 39 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-c9bc846f11` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-c9bc846f11 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. FEDORA-2023-bbf0e382b2 has been pushed to the Fedora 37 testing repository. Soon you'll be able to install the update with the following command: `sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2023-bbf0e382b2` You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2023-bbf0e382b2 See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates. Reopening, as F39 is also affected. Proposed as a Freeze Exception for 39-final by Fedora user besser82 using the blocker tracking app because: cmake 3.27.4-7, which is currently in the f39 stable repo, breaks linking when compiling Fortran sources. We shouldn't ship a broken package for release, so I'm proposing this as a freeze exception. There is an update (https://bodhi.fedoraproject.org/updates/FEDORA-2023-c9bc846f11) to cmake-3.27.7-1.fc39 which is a known to work version, that should be shipped in the frozen base repo for release instead. Discussed during the 2023-10-09 blocker review meeting: [0] The decision to classify this bug as an "AcceptedFreezeException (Final)" was made as it is a noticeable issue that cannot be fixed with an update. [0] https://meetbot.fedoraproject.org/fedora-blocker-review/2023-10-09/f39-blocker-review.2023-10-09-16.00.txt FEDORA-2023-c9bc846f11 has been pushed to the Fedora 39 stable repository. If problem still persists, please make note of it in this bug report. |
I've submitted dbcsr for review and it had been building fine. But with the jump from 3.27.4-6 to -7 it fails with: -- FYPP preprocessor found. -- Configuring done (5.5s) CMake Error: CMake can not determine linker language for target: fypp_DBCSR_FORTRAN_SRCS -- Generating done (0.1s) CMake Warning: Manually-specified variables were not used by the project: CMAKE_INSTALL_DO_STRIP INCLUDE_INSTALL_DIR LIB_INSTALL_DIR LIB_SUFFIX SHARE_INSTALL_PREFIX SYSCONF_INSTALL_DIR CMake Generate step failed. Build files cannot be regenerated correctly. RPM build errors: error: Bad exit status from /var/tmp/rpm-tmp.GET0PH (%build) Bad exit status from /var/tmp/rpm-tmp.GET0PH (%build) Child return code was: 1 Review is here: https://bugzilla.redhat.com/show_bug.cgi?id=2238263 Spec URL: https://orion.fedorapeople.org/dbcsr.spec SRPM URL: https://orion.fedorapeople.org/dbcsr-2.6.0-1.fc40.src.rpm I'm not sure it this is a regression or more strict behavior by cmake. Unclear why the custom target needs a linker. function (ADD_FYPP_SOURCES OUTVAR) set(outfiles) foreach (f ${ARGN}) # first we might need to make the input file absolute get_filename_component(f "${f}" ABSOLUTE) get_filename_component(ext "${f}" EXT) # get the relative path of the file to the current source dir file(RELATIVE_PATH rf "${CMAKE_CURRENT_SOURCE_DIR}" "${f}") # set the output filename of fypped sources set(of "${CMAKE_CURRENT_BINARY_DIR}/${rf}") # create the output directory if it doesn't exist get_filename_component(d "${of}" PATH) if (NOT IS_DIRECTORY "${d}") file(MAKE_DIRECTORY "${d}") endif () if ("${f}" MATCHES ".F$") # append the output file to the list of outputs list(APPEND outfiles "${of}") # now add the custom command to generate the output file add_custom_command( OUTPUT "${of}" COMMAND ${Python_EXECUTABLE} ${FYPP_EXECUTABLE} ARGS ${fypp_flags} "${f}" "${of}" MAIN_DEPENDENCY "${f}" VERBATIM) elseif ("${f}" MATCHES ".h$") # append the output file to the list of outputs list(APPEND outfiles "${of}") # now add the custom command to generate the output file add_custom_command( OUTPUT "${of}" COMMAND ${Python_EXECUTABLE} ${FYPP_EXECUTABLE} ARGS "-F" "${f}" "${of}" DEPENDS "${f}") else () configure_file("${f}" "${of}" COPYONLY) endif () endforeach () # build a custom target to fypp seperately (required for example by the doc # target) add_custom_target("fypp_${OUTVAR}" DEPENDS ${outfiles}) add_dependencies(fypp "fypp_${OUTVAR}") # set the output list in the calling scope set(${OUTVAR} ${outfiles} PARENT_SCOPE) endfunction () Reproducible: Always