-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[RF] Make RooFFTConfPdf
also work if ROOT was built with fftw3=OFF
#14174
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not in favour of this solution.
I don't think is bringing any advantages, we were using a plugin manager that was based on the interpreter and there were no direct dependency on fftw.
Now you require people to directly install fftw3 and they would need to set also the include path. It is an over complication for the users.
d2cace0
to
ff1e6a1
Compare
Starting build on |
You are right, when building ROOT with However, in case where ROOT is built with Since we need to make sure that FFTs work in RooFit when people install ROOT on their laptops with the binaries, I think a fix like this is necessary. Maybe as a compromise, I could apply the these changes only in case where |
ff1e6a1
to
ba28b5e
Compare
Starting build on |
ba28b5e
to
a54ae1a
Compare
Starting build on |
math/fftw
but fftw
directly via interpreterRooFFTConfPdf
also work if ROOT was built with fftw3=OFF
a54ae1a
to
ca1beca
Compare
Starting build on |
Since ROOT 6.30, we are not building ROOT with the `math/fftw` subpackage anymore (`fftw3=OFF`). It is the interface between ROOT and fftw3, but is incompatible with fftws GPL license. That means that for default ROOT builds, the `RooFFTConvPdf` class for FFT convolutions is not working anymore, because it uses `math/fftw`. This commit implements a solution to make the `RooFFTConvPdf` work again in this situation: the routine that uses fftw is declared on-the-fly to the interpreter. This will work if the user has an external install of `fftw3`, which is usually available in all Linux distributions.
ca1beca
to
1641f84
Compare
Starting build on |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, Jonas, for these changes, it is good now to have both options: use the ROOT FFTW classes (as before) or directly FFTW via the interpreter.
Build failed on ROOT-ubuntu2004/python3. Errors:
|
Since ROOT 6.30, we are not building ROOT with the
math/fftw
subpackage anymore (
fftw3=OFF
). It is the interface between ROOT andfftw3, but is incompatible with fftws GPL license.
That means that for default ROOT builds, the
RooFFTConvPdf
class forFFT convolutions is not working anymore, because it uses
math/fftw
.This commit implements a solution to make the
RooFFTConvPdf
workagain in this situation: the routine that uses fftw is declared
on-the-fly to the interpreter. This will work if the user has an
external install of
fftw3
, which is usually available in all Linuxdistributions.
Closes #14162.
Note: the error that you get if
fftw3.h
can't be found looks like this: