Skip to content

gtest-roofit-roofitcore-testRooFitCore runs but fails if fftw3.h is not available #24045

Description

@pcanal

With:

$ rg fftw3 CMakeCache.txt 
2380:builtin_fftw3:BOOL=OFF
2599:fftw3:BOOL=OFF

gtest-roofit-roofitcore-testRooFitCore runs but fails with:

[ RUN      ] RooHistPdf.EnsurePositiveValuesInFFTConvPdf
input_line_325:1:10: fatal error: 'fftw3.h' file not found
#include "fftw3.h"
         ^~~~~~~~~
[#0] ERROR:Eval -- RooFFTConvPdf evaluation Failed! The interpreter could not find the fftw3.h header.
You have three options to fix this problem:
    1) Install fftw3 on your system so that the interpreter can find it
    2) In case fftw3.h is installed somewhere else,
       tell ROOT with gInterpreter->AddIncludePath() where to find it
    3) Compile ROOT with the -Dfftw3=ON in the CMake configuration,
       such that ROOT comes with built-in fftw3 convolution routines

unknown file: Failure
C++ exception with description "RooFFTConvPdf evaluation Failed! The interpreter could not find the fftw3.h header" thrown in the test body.

[  FAILED  ] RooHistPdf.EnsurePositiveValuesInFFTConvPdf (38 ms)

Activity

  1. added theissue type on Nov 6, 2026
  2. changed the issue type fromtoon Nov 6, 2026
  3. pcanal commented on Nov 6, 2026

    @pcanal
    MemberAuthor

    The issue also affects gtest-roofit-roofitcore-testRooWorkspace:

    [#1] INFO:ObjectHandling -- RooWorkspace::import(workspace) importing RooRealVar::sigma
    [#1] INFO:Eval -- RooRealVar::setRange(x) new range named 'refrange_fft_signal' created with bounds [980,1090]
    input_line_40:1:10: fatal error: 'fftw3.h' file not found
    #include "fftw3.h"
             ^~~~~~~~~
    [#0] ERROR:Eval -- RooFFTConvPdf evaluation Failed! The interpreter could not find the fftw3.h header.
    You have three options to fix this problem:
        1) Install fftw3 on your system so that the interpreter can find it
        2) In case fftw3.h is installed somewhere else,
           tell ROOT with gInterpreter->AddIncludePath() where to find it
        3) Compile ROOT with the -Dfftw3=ON in the CMake configuration,
           such that ROOT comes with built-in fftw3 convolution routines
    
    unknown file: Failure
    C++ exception with description "RooFFTConvPdf evaluation Failed! The interpreter could not find the fftw3.h header" thrown in the test body.
    
    [  FAILED  ] RooWorkspace.Issue_10577 (5 ms)
    
  4. guitargeek commented on Nov 6, 2026

    @guitargeek
    Contributor

    Thanks for opening an issue about this! I'm aware of this, and my idea to fix it was to get rid of the fftw3.h dependency altogether.

    The PR was coincidentally opened just 2 days ago:

  5. self-assigned this
    on Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions