Problems with FFTW

Hi everybody,
I use a Windows precompiled version of ROOT 5.26 with VC++ 2008 Express Edition.
I’m trying to use the FFTW functions through the ROOT wrapper but I’ve got some troubles. I’m not even able to get the tutorial file FFT.C working.
Buth compiled and uncompiled code give me the same error message:

the function entry point (“prozedureinsprungpunkt” for those who understand
german) “fftw_plan_dft_r2c” could not be found in the “libfftw3-3.dll”

Additionally, in the ROOT window I get the following:

root [0]
Processing C:\home\Flavio\KDP\ROOT\Version4\TestFFT3D\TestTutor.C…
C:\root\bin\libFFTW.dll: Die angegebene Prozedur wurde nicht gefunden.
Load Error: Failed to load Dynamic link library C:\root\bin\libFFTW.dll
Error in TVirtualFFT::FFT: handler not found
(class TH1*)0x0
*** Interpreter error recovered ***
root [1]

Is it a problem of CINT? I tried also to rename the file (in root/bin)
libFFTW.dll in libfftw3-3.dll, but it didn’t help…

Thank you for your time
Flavio

Hi Flavio,

Could you make sure you have the location of libfftw3-3.dll (libFFTW.dll depends on it) in your PATH?
And if you don’t have installed FFTW3 on your machine, you can dowload it from here
And please, never rename ROOT dlls!

Cheers, Bertrand.[/url]

Ok!
There was a problem with the FFTW installation…
Thank you, bellenot
Regards
Flavio

Hi

i have a similar problem. I am running root 5.30/00 on Windows 7.
The problem occurs when calling TH1D->FFT() which doesnt work anymore since I installed cygwin on my system.
the error message i get is the following:

C:\root\bin\libFFTW.dll: (null)Load Error: Failed to load Dynamic link library C:\root\bin\libFFTW.dll
Error in <TCint::AutoLoad>: failure loading library libFFTW.dll for class TFFTRealComplex
Error in <TPluginHandler::SetupCallEnv>: class TFFTRealComplex not found in plugin FFTW
Error in <TVirtualFFT::FFT>: plugin failed to create TVirtualFFT object(class TH1*)0x0
Warning in <TWinNTSystem::Run>: handle uncaugth exception, terminating

I already tried to “repair” the the root installation via the windows systemsteuerung (sry dont know the english name) but it didnt help.

Hello!

I have problem with FFT installation.
Root version is 5.34/36.
My system: Scientific Linux release 7.2 (Nitrogen).
My gcc: gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4).

I installed root with this commands:

./configure
make
cd bin
source thisroot.sh

I installed fftw from fftw.org/:

./configure
make
sudo make install

I launched example root.cern.ch/root/html/tutorials/fft/FFT.C.html in root:

root -l
.L fft.cpp
FFT()
Error in <TUnixSystem::DynamicPathName>: FFTW[.so | .dll | .dylib | .sl | .dl | .a] does not exist in /home/darkside/Vlad_Programs/root/lib:/home/darkside/Vlad_Programs/root/lib:.:/home/darkside/Vlad_Programs/root/lib::/home/darkside/Vlad_Programs/root/cint/cint/stl
Error in <TVirtualFFT::FFT>: handler not found
Error: illegal pointer to class object hm 0x0 985  fft.cpp:95:
*** Interpreter error recovered ***

On this page root.cern.ch/building-root I found:
option name default value description
fftw3 ON Fast Fourier Transform support, requires libfftw3

So, should I uninstall root and install again?
Should I change some options?
Could you help me?

Thank you in advance.
Best regards, Vladislav.

May be this will help:

find /home/darkside/Vlad_Programs/root -name  *FFT*
/home/darkside/Vlad_Programs/root/cint/demo/graphs/FFT.c
/home/darkside/Vlad_Programs/root/cmake/modules/FindFFTW.cmake
/home/darkside/Vlad_Programs/root/core/base/inc/TVirtualFFT.h
/home/darkside/Vlad_Programs/root/core/base/src/TVirtualFFT.cxx
/home/darkside/Vlad_Programs/root/core/base/src/TVirtualFFT.d
/home/darkside/Vlad_Programs/root/core/base/src/TVirtualFFT.o
/home/darkside/Vlad_Programs/root/etc/plugins/TVirtualFFT
/home/darkside/Vlad_Programs/root/etc/plugins/TVirtualFFT/P010_TFFTComplex.C
/home/darkside/Vlad_Programs/root/etc/plugins/TVirtualFFT/P020_TFFTComplexReal.C
/home/darkside/Vlad_Programs/root/etc/plugins/TVirtualFFT/P030_TFFTRealComplex.C
/home/darkside/Vlad_Programs/root/etc/plugins/TVirtualFFT/P040_TFFTReal.C
/home/darkside/Vlad_Programs/root/math/fftw/inc/TFFTComplex.h
/home/darkside/Vlad_Programs/root/math/fftw/inc/TFFTComplexReal.h
/home/darkside/Vlad_Programs/root/math/fftw/inc/TFFTReal.h
/home/darkside/Vlad_Programs/root/math/fftw/inc/TFFTRealComplex.h
/home/darkside/Vlad_Programs/root/math/fftw/src/TFFTComplex.cxx
/home/darkside/Vlad_Programs/root/math/fftw/src/TFFTComplexReal.cxx
/home/darkside/Vlad_Programs/root/math/fftw/src/TFFTReal.cxx
/home/darkside/Vlad_Programs/root/math/fftw/src/TFFTRealComplex.cxx
/home/darkside/Vlad_Programs/root/roofit/roofitcore/inc/RooFFTConvPdf.h
/home/darkside/Vlad_Programs/root/roofit/roofitcore/src/RooFFTConvPdf.cxx
/home/darkside/Vlad_Programs/root/tutorials/fft/FFT.C
/home/darkside/Vlad_Programs/root/include/TVirtualFFT.h

Actually, instead of building fftw yourself, you should have installed the system provided default “fftw-devel” package.

Try:
root-config --has-fftw3
and if you get “no”, you need to build your ROOT from scratch again.

Dear, Pepe Le Pew, thank you very much!
I installed fftw via yum install and rebuild root.
Now it works.