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.