Hi ! I have recently tried to use the TF1Convolution method to convolute two functions. When executing with Root version 6.08/06 on Centos 7, I get the following errors (the compilation of the macro is without errors):
Error in TUnixSystem::FindDynamicLibrary: FFTW[.so | .dll | .dylib | .sl | .dl | .a] does not exist in /usr/local/root/6.08.06/lib:/usr/lib64:/usr/local/root/6.08.06/lib/root:/usr/local/OpenScientist/16.11.8/lib:/usr/local/OpenScientist/16.11.8/bin:/usr/local/geant4.10.03.p02/lib64:/usr/local/clhep/2.3.4.3/lib:/usr/local/XercesC/3.1.2/lib:/usr/lib64:/usr/lib:/usr/local/Boost/1.61.0/lib:/usr/local/Python/3.6.3/lib:/usr/local/root/6.08.06/lib:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64
Error in TVirtualFFT::FFT: handler not found
Error in TUnixSystem::FindDynamicLibrary: FFTW[.so | .dll | .dylib | .sl | .dl | .a] does not exist in /usr/local/root/6.08.06/lib:/usr/lib64:/usr/local/root/6.08.06/lib/root:/usr/local/OpenScientist/16.11.8/lib:/usr/local/OpenScientist/16.11.8/bin:/usr/local/geant4.10.03.p02/lib64:/usr/local/clhep/2.3.4.3/lib:/usr/local/XercesC/3.1.2/lib:/usr/lib64:/usr/lib:/usr/local/Boost/1.61.0/lib:/usr/local/Python/3.6.3/lib:/usr/local/root/6.08.06/lib:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64
Error in TVirtualFFT::FFT: handler not found
Warning in : Cannot use FFT, probably FFTW package is not available. Switch to numerical convolution
I checked, and all the relevant fftw packages are installed on the system… What could be the cause of this error ?
Probably, although you gave fifth in your system, ROOT was built without FFTW support.
You need to be sure you do build ROOT with
cmake . -Dfftw3=On
If came does not succeed to find fftw3, you might want to specify the exact location by setting the environment variable (before using cmake) , FFTW_DIR, FFTW_INCLUDE_DIR, FFTW_LIBRARY.
See https://root.cern.ch/building-root