Bug 1729652 - cmake's find_package doesn't work with FFTW3
Summary: cmake's find_package doesn't work with FFTW3
Keywords:
Status: NEW
Alias: None
Product: Fedora
Classification: Fedora
Component: fftw
Version: 32
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Conrad Meyer
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2019-07-13 07:54 UTC by andre.j.brand@gmx.de
Modified: 2020-12-30 01:32 UTC (History)
5 users (show)

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


Attachments (Terms of Use)
simple cmake file that loads fftw (84 bytes, text/plain)
2020-05-01 09:13 UTC, andre.j.brand@gmx.de
no flags Details

Description andre.j.brand@gmx.de 2019-07-13 07:54:07 UTC
Description of problem:
find_package (FFTW3) in CMakeLists.txt will generate the error message:

CMake Error at /usr/lib64/cmake/fftw3/FFTW3Config.cmake:13 (include):
  include could not find load file:
 /usr/lib64/cmake/fftw3/FFTW3LibraryDepends.cmake


Version-Release number of selected component (if applicable):
Name         : fftw-devel
Version      : 3.3.8
Release      : 4.fc30
Architecture : i686
Size         : 130 k
Source       : fftw-3.3.8-4.fc30.src.rpm


How reproducible: always


Steps to Reproduce:
1. Use the line find_package (FFTW3) in *any* CMakeLists.txt

Actual results: 
CMake Error at /usr/lib64/cmake/fftw3/FFTW3Config.cmake:13 (include):
  include could not find load file:
 /usr/lib64/cmake/fftw3/FFTW3LibraryDepends.cmake


Expected results:
It should work. ;-)

Additional info:
When I build fftw-3.3.8 from source from http://www.fftw.org/download.html
via cmake, ninja, and ninja install (I presume make works just as well) in default configuration, cmake generates additional files
$(CMAKE_INSTALL_PREFIX)/lib64/cmake/fftw3/FFTW3LibraryDepends.cmake
$(CMAKE_INSTALL_PREFIX)/lib64/cmake/fftw3/FFTW3LibraryDepends-release.cmake

These should probably be included in the fftw-devel package as well?

Comment 1 Ben Cotton 2020-04-30 21:34:31 UTC
This message is a reminder that Fedora 30 is nearing its end of life.
Fedora will stop maintaining and issuing updates for Fedora 30 on 2020-05-26.
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
Fedora 'version' of '30'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not 
able to fix it before Fedora 30 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, you are encouraged  change the 'version' to a later Fedora 
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events. Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

Comment 2 andre.j.brand@gmx.de 2020-05-01 09:13:23 UTC
Created attachment 1683641 [details]
simple cmake file that loads fftw

This bug also exists in Fedora 31. I'll test Fedora 32 later.

# install the fftw packages
> sudo dnf install fftw fftw-static fftw-devel

> cat /etc/fedora-release
Fedora release 31 (Thirty One)

# run cmake on the attached example
> cmake .
CMake Error at /usr/lib64/cmake/fftw3/FFTW3Config.cmake:13 (include):
  include could not find load file:

    /usr/lib64/cmake/fftw3/FFTW3LibraryDepends.cmake
Call Stack (most recent call first):
  CMakeLists.txt:5 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/XY/Documents/fedora-fftw-bug/CMakeFiles/CMakeOutput.log".

# the file is obviously missing
> ls /usr/lib64/cmake/fftw3
FFTW3Config.cmake	  FFTW3fConfigVersion.cmake  FFTW3qConfig.cmake
FFTW3ConfigVersion.cmake  FFTW3lConfig.cmake	     FFTW3qConfigVersion.cmake
FFTW3fConfig.cmake	  FFTW3lConfigVersion.cmake

# we are using  this file:
> rpm -qf /usr/lib64/cmake/fftw3/FFTW3Config.cmake
fftw-devel-3.3.8-6.fc31.x86_64

# and it is missing a dependency:
> cat /usr/lib64/cmake/fftw3/FFTW3Config.cmake
[...]
include ("${CMAKE_CURRENT_LIST_DIR}/FFTW3LibraryDepends.cmake")
[...]

Comment 3 andre.j.brand@gmx.de 2020-06-05 15:14:20 UTC
I just confirmed that the same issue exists in Fedora 32:

# install the fftw packages
> sudo dnf install fftw fftw-devel

> cat /etc/fedora-release
Fedora release 32 (Thirty Two)

# run cmake on the attached example
> cmake .
[...]
CMake Error at /usr/lib64/cmake/fftw3/FFTW3Config.cmake:13 (include):
  include could not find load file:

    /usr/lib64/cmake/fftw3/FFTW3LibraryDepends.cmake
Call Stack (most recent call first):
  CMakeLists.txt:5 (find_package)


-- Configuring incomplete, errors occurred!
# the file is obviously missing
> ls /usr/lib64/cmake/fftw3
FFTW3Config.cmake	  FFTW3fConfigVersion.cmake  FFTW3qConfig.cmake
FFTW3ConfigVersion.cmake  FFTW3lConfig.cmake	     FFTW3qConfigVersion.cmake
FFTW3fConfig.cmake	  FFTW3lConfigVersion.cmake

# we are using  this file:
> rpm -qf /usr/lib64/cmake/fftw3/FFTW3Config.cmake
fftw-devel-3.3.8-7.fc32.x86_64

# and it is missing a dependency:
> cat /usr/lib64/cmake/fftw3/FFTW3Config.cmake
[...]
include ("${CMAKE_CURRENT_LIST_DIR}/FFTW3LibraryDepends.cmake")
[...]

Comment 4 Benji Wiebe 2020-12-30 01:32:48 UTC
This issue still exists in Fedora 33.


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