I have an error when loading a third party .so file:
undefined symbol: fftwf_plan_dft_r2c_1d
I have libfftw3.so installed (Ubuntu fftw3 package), but it does not define fftwf_plan_dft_r2c_1d
symbol. Instead of this it has:
nm -D /usr/lib/i386-linux-gnu/libfftw3.so | grep fftw_plan_dft_r2c_1d 000bffa0 T dfftw_plan_dft_r2c_1d_ 000c12b0 T dfftw_plan_dft_r2c_1d__ 000c2aa0 T fftw_plan_dft_r2c_1d
(prefix fftw_
instead of fftwf_
), according to doc it should be fftw_
http://www.fftw.org/doc/Real_002ddata-DFTs.html, but where I can find the library which defines fftwf_plan_dft_r2c_1d
?
Advertisement
Answer
You need to link with the single precision (float
) version of the FFTW library libfftw3f.so
, not libfftw3.so
, which is for double precision.