Bug 2161231 - check-devel: included cmake rules use absent static library
Summary: check-devel: included cmake rules use absent static library
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: check
Version: 38
Hardware: Unspecified
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Jerry James
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2023-01-16 10:55 UTC by Marc Dequènes (Duck)
Modified: 2024-05-30 01:21 UTC (History)
8 users (show)

Fixed In Version: check-0.15.2-13.fc41 check-0.15.2-13.fc39 check-0.15.2-13.fc40
Clone Of:
Environment:
Last Closed: 2024-05-21 17:08:15 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Marc Dequènes (Duck) 2023-01-16 10:55:26 UTC
Description of problem:
I'm trying to package a newer version of postsrsd (2.0.2) that now uses libcheck and the cmake config included in check-devel tries to load the static library which is not included, which leads to FTBFS.

Version-Release number of selected component (if applicable):
0.15.2-7.fc37

How reproducible:


Steps to Reproduce:
1. git clone git:osas/osas-infra-team-rpm-pkg.git
2. cd postsrsd
3. use a similar method as Copr to build (mock)

Actual results:

========================================
CMake Error at /usr/lib64/cmake/check/check-targets.cmake:96 (message):
  The imported target "Check::check" references the file

     "/usr/lib64/libcheck.a"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "/usr/lib64/cmake/check/check-targets.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  /usr/lib64/cmake/check/check-config.cmake:36 (include)
  cmake/FindCheck.cmake:9 (find_package)
  /usr/share/cmake/Modules/FetchContent.cmake:1951 (find_package)
  CMakeLists.txt:368 (FetchContent_MakeAvailable)
========================================

Expected results:
It should find the 'so' file instead.

Additional info:

Full log here: https://download.copr.fedorainfracloud.org/results/duck/osas-infra-team-rpm-repo-devel/fedora-rawhide-x86_64/05236378-postsrsd/builder-live.log.gz

This is for the official postsrsd package but I'm using Copr to work on it.

The problem seems to be in /usr/lib64/cmake/check/check-targets.cmake line 63:
add_library(Check::check STATIC IMPORTED)
but I'm not a cmake expert.

I would really appreciate a 9 stream backport (not sure of the exact flow) of whatever fix is needed.

Comment 1 Jerry James 2023-01-17 16:58:22 UTC
Sadly, I am not a cmake expert either, but I will see if I can figure this out.

Comment 2 Jerry James 2023-01-17 22:57:34 UTC
This seems to have been a deliberate upstream choice.  After unpacking the check source tarball, I see this in src/CMakeLists.txt:

# To maintain compatibility with the Autotools installation
# we specifically create both shared and static libraries
# as that is what Autotools script has been doing.
# Normally CMake would create the system's native default library type.

add_library(check STATIC ${SOURCES} ${HEADERS})
add_library(Check::check ALIAS check)

I could strip that out, but doc/check.texi and tests/cmake_project_usage_test/src/CMakeLists.txt also refer to Check::check.  And if I do strip it out, am I going to break use of the check-static package for cmake users?

Also, in the postsrsd-2.0.2 tree, I see references to Check::check in cmake/FindCheck.cmake, but no references to Check::checkShared, so this cmake file is asking for the static library, not the shared library.  Try adding BuildRequires: check-static to the spec file to give it what it wants.

I'm reducing the Severity field to medium since there is an effective workaround (BR: check-static).

Comment 3 Marc Dequènes (Duck) 2023-01-19 16:18:29 UTC
Thanks for taking the time to look into it.

I understand the rational and using check-static would be fine except this package does not seem to exist in 9 stream / EPEL 9. Could you make it available (not sure how that works, maybe through EPEL)?

Regards.
\_o<

Comment 4 Ben Cotton 2023-02-07 15:12:07 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 38 development cycle.
Changing version to 38.

Comment 5 Aoife Moloney 2024-05-07 15:55:22 UTC
This message is a reminder that Fedora Linux 38 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora Linux 38 on 2024-05-21.
It is Fedora's policy to close all bug reports from releases that are no longer
maintained. At that time this bug will be closed as EOL if it remains open with a
'version' of '38'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, change the 'version' 
to a later Fedora Linux version. Note that the version field may be hidden.
Click the "Show advanced fields" button if you do not see it.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora Linux 38 is end of life. If you would still like 
to see this bug fixed and are able to reproduce it against a later version 
of Fedora Linux, you are encouraged to change the 'version' to a later version
prior to this bug being closed.

Comment 6 Aoife Moloney 2024-05-21 14:25:47 UTC
Fedora Linux 38 entered end-of-life (EOL) status on 2024-05-21.

Fedora Linux 38 is no longer maintained, which means that it
will not receive any further security or bug fix updates. As a result we
are closing this bug.

If you can reproduce this bug against a currently maintained version of Fedora Linux
please feel free to reopen this bug against that version. Note that the version
field may be hidden. Click the "Show advanced fields" button if you do not see
the version field.

If you are unable to reopen this bug, please file a new report against an
active release.

Thank you for reporting this bug and we are sorry it could not be fixed.

Comment 7 Jerry James 2024-05-21 16:53:12 UTC
Sorry, I'm going to do what I should have done over a year ago and make check-devel depend on check-static.  That will fix this issue for Fedora.  I don't do EPEL builds.  I'm not sure who does.  Maybe the EPEL SIG could be asked to handle it?

Comment 8 Fedora Update System 2024-05-21 17:06:33 UTC
FEDORA-2024-447e33fe12 (check-0.15.2-13.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-447e33fe12

Comment 9 Fedora Update System 2024-05-21 17:08:15 UTC
FEDORA-2024-447e33fe12 (check-0.15.2-13.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 10 Fedora Update System 2024-05-21 18:06:23 UTC
FEDORA-2024-776b7c6930 (check-0.15.2-13.fc40) has been submitted as an update to Fedora 40.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-776b7c6930

Comment 11 Fedora Update System 2024-05-21 18:06:23 UTC
FEDORA-2024-03bbc5eb90 (check-0.15.2-13.fc39) has been submitted as an update to Fedora 39.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-03bbc5eb90

Comment 12 Fedora Update System 2024-05-22 01:12:31 UTC
FEDORA-2024-776b7c6930 has been pushed to the Fedora 40 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2024-776b7c6930`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-776b7c6930

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 13 Fedora Update System 2024-05-22 01:49:14 UTC
FEDORA-2024-03bbc5eb90 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-2024-03bbc5eb90`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2024-03bbc5eb90

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 14 Fedora Update System 2024-05-30 01:20:25 UTC
FEDORA-2024-03bbc5eb90 (check-0.15.2-13.fc39) has been pushed to the Fedora 39 stable repository.
If problem still persists, please make note of it in this bug report.

Comment 15 Fedora Update System 2024-05-30 01:21:52 UTC
FEDORA-2024-776b7c6930 (check-0.15.2-13.fc40) has been pushed to the Fedora 40 stable repository.
If problem still persists, please make note of it in this bug report.


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