# FFTW3 error in GNURADIO

**URL:** <https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952>\
**Category:** GNU Radio\
**Created:** [March 21, 2014, 10:36am UTC](https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952 "2014-03-21T10:36:48Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![musicdenotation](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/ea666f/32.png) [@musicdenotation](https://www.ruby-forum.com/u/musicdenotation)\
**Post date:** [March 21, 2014, 10:36am UTC](https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952/1 "2014-03-21T10:36:48Z")

</div>

Hi all,

I am using ubuntu 13.04 and GNURADIO 3.7.

In project [GitHub - BogdanDIA/gr-dvbt: DVB-T implementation in gnuradio](https://github.com/BogdanDIA/gr-dvbt) ,  
in reference\_signals\_impl.cc in /lib, I add inside one of the functions:

fftw\_complex _in2, out2;  
out2 = (fftw\_complex) fftw\_malloc(NFFT_2_sizeof(fftw\_complex));  
in2 = (fftw\_complex_) fftw\_malloc(NFFT_2_sizeof(fftw\_complex)); I get  
this error:  
~/gr-dvbt/apps$ sudo ./top\_block\_rx.py  
Traceback (most recent call last):  
File “./top\_block\_rx.py”, line 23, in   
import dvbt  
File “/usr/local/lib/python2.7/dist-packages/dvbt/ **init**.py”, line 45,  
in   
from dvbt\_swig import \*  
File “/usr/local/lib/python2.7/dist-packages/dvbt/dvbt\_swig.py”, line  
26, in   
\_dvbt\_swig = swig\_import\_helper()  
File “/usr/local/lib/python2.7/dist-packages/dvbt/dvbt\_swig.py”, line  
22, in swig\_import\_helper  
\_mod = imp.load\_module(‘\_dvbt\_swig’, fp, pathname, description)  
ImportError: /usr/local/lib/libgnuradio-dvbt.so: undefined symbol:  
fftw\_malloc

I read and did the articles:  
[http://lists.gnu.org/archive/html/discuss-gnuradio/2014-02/msg00479.html](http://lists.gnu.org/archive/html/discuss-gnuradio/2014-02/msg00479.html)  
and [http://gnuradio.4.n7.nabble.com/FFTW3-runtime-error-td46690.html](http://gnuradio.4.n7.nabble.com/FFTW3-runtime-error-td46690.html)  
.  
However, in lib I cannot add ${FFTW3(F)\_LIBRARIES} to your  
lib/CMakeLists.txt. It gives me an error. Therefore I replaced that  
with ${FFTW3F\_LIBRARIES}.

Where am I making mistake?

- 

NE

---

<div class="post-metadata">

**Author:** ![nesazeri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nesazeri](https://www.ruby-forum.com/u/nesazeri)\
**Post date:** [March 21, 2014, 11:29am UTC](https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952/2 "2014-03-21T11:29:27Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

The (F) was meant to say:  
Use FFTW3\_LIBRARIES if you want to use the double precision version,  
use FFTW3F\_LIBRARIES if you want the single (float, ‘F’) precision  
version of the library.

Since you’re using  
fftw\_malloc (without f suffix), you’re trying to use the double prec.  
version of the library, but you link against the single prec. version.

Greetings,  
Marcus

PS: The GNU Radio complex data type is identical to the float complex  
datatype used by FFTW3F. If you want to use that, use the float  
version of the library and replace fftw\_malloc by fftwf\_malloc and so  
on.

On 21.03.2014 10:35, Nasi wrote:

> fftw\_malloc(NFFT_2_sizeof(fftw\_complex)); I get this error:
> 
> - NE

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1  
Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](http://www.enigmail.net/)

iQEcBAEBAgAGBQJTLBIEAAoJEBQ6EdjyzlHtSK8H/Az7oTYgKHEkG61/iKNzEb4r  
hPQyX4Mwr0BfjVXoI976aRQK6L/tJxm56ofahEj788crhlVqtqnZSvg/EhIQGzln  
G8OQFHIbcwRIe/5mVtTmWcjWimJAcJXs3aOglbkavp+vw8ZW55rSypT9cLrw+X04  
fLctOOAg5NHJtUQnOeTLboAkcn3lvwBr6su4R1RYhdGbtSMjNaDTD5g1pNhKq0JH  
AhbjDlLluFdnAuesOR9RBto74ncQGQzGHtnWHmI6CJp2qjM9f4wsE9DLycGGCM4W  
nYZRSz0Dxqybw6SJ2rQQRqq7VnisaQvs4MZALnnJODZ/P+z8L6Yed3WsFUBjZWQ=  
=IjoK  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![nesazeri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nesazeri](https://www.ruby-forum.com/u/nesazeri)\
**Post date:** [March 21, 2014, 11:43am UTC](https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952/3 "2014-03-21T11:43:28Z")

</div>

Thanks for quick reply!

It does not work even if I use float precision as  
fftwf\_complex _in2, out2;  
out2 = (fftwf\_complex) fftwf\_malloc(NFFT_2_sizeof(fftwf\_complex));  
in2 = (fftwf\_complex_) fftwf\_malloc(NFFT_2_sizeof(fftwf\_complex));

I attach cmake files. It would be nice of you if you take a look.

- 

NE

Fri, 21 Mar 2014 11:18:45 +0100 от Marcus Müller [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![nesazeri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nesazeri](https://www.ruby-forum.com/u/nesazeri)\
**Post date:** [March 21, 2014, 12:04pm UTC](https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952/4 "2014-03-21T12:04:30Z")

</div>

It does not work anyway. I attach again files.

Fri, 21 Mar 2014 11:45:01 +0100 от Marcus Müller [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![nesazeri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nesazeri](https://www.ruby-forum.com/u/nesazeri)\
**Post date:** [March 21, 2014, 11:46am UTC](https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952/5 "2014-03-21T11:46:24Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Your main CMakeLists.txt is still looking for the double FFTW3.  
replace  
find\_package(FFTW3)  
by  
find\_package(FFTW3f)  
and use the FindFFTW3f.cmake from the gnuradio source tree.

You’ll have to replace all occurences of FFTW3\_ by FFTW3F\_ in your  
CMake files.

On 21.03.2014 11:42, Nasi wrote:

> > > > Hi all,  
> > > > get this error: ~/gr-dvbt/apps$ sudo ./top\_block\_rx.py  
> > > > symbol: fftw\_malloc
> > > > 
> > > > I read and did the articles:  
> > > > [Re: [Discuss-gnuradio] Link FFTW3 in OOT module](http://lists.gnu.org/archive/html/discuss-gnuradio/2014-02/msg00479.html)

and

> > > >

[http://gnuradio.4.n7.nabble.com/FFTW3-runtime-error-td46690.html](http://gnuradio.4.n7.nabble.com/FFTW3-runtime-error-td46690.html)

> 

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1  
Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](http://www.enigmail.net/)

iQEcBAEBAgAGBQJTLBgtAAoJEBQ6EdjyzlHtBRMIAJCWlaJJFVM6FaD+GrY1YOHR  
Q/pr1DLzCRWi6J+nRq5XL6abZYaO/PIA1eXyVYp1RKmmugFxPE79oJmh20rILhaX  
xGmRuxMHUbKUU0q0CvoNe2lSUPfWkGgOmm97rClxIV869SUZYQULpWZFBtDtCRf3  
Niqj1eCACPDJdd5mJoCiYtJGsXtbqcIfEcrk6GZd9g1HdVB4VoivFK/N9KiQebom  
/knj6ecXhJSBwAQfnlS9vefonC+oSX9e1iYITyQjLIt/szqmQHlyir1vWXgigwAn  
c581J1IhCZofud4GExZCWRWcEkFis9xPgdTr/KCIGvqkmk91MZJ0nWtXfNsXDNU=  
=Ggzm  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![nesazeri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nesazeri](https://www.ruby-forum.com/u/nesazeri)\
**Post date:** [March 21, 2014, 12:09pm UTC](https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952/6 "2014-03-21T12:09:11Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

You need to add the FFTW3F\_LIBRARIES to the target\_link\_libraries.

On 21.03.2014 12:02, Nasi wrote:

> target\_link\_libraries(gnuradio-dvbt ${Boost\_LIBRARIES}  
> ${GNURADIO\_RUNTIME\_LIBRARIES} ${VOLK\_LIBRARIES})  
> -----BEGIN PGP SIGNATURE-----  
> Version: GnuPG v1  
> Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](http://www.enigmail.net/)

iQEcBAEBAgAGBQJTLB2IAAoJEBQ6EdjyzlHtVLwIAIvlLimJaIf83gGmzC1l07sl  
vvjBSW31cX4sCJXALpGp3ICV5iS2YU8Pk5aEfVgtcXWysmrJeTv87rArNFwSFdv4  
J3RORZlnz04xmdThROkb6TR34sHCN9eJGIB5Emvy0M/AXotarKjSZ1e4peJc/1xx  
xZ+enWl0P1DNsXq9Svw3MQvLE8eSas5O539i8E2Kxn1JvvuOqb4B9W6LdeizaWk1  
ilxTiysTI7wQRB/e/ubCUfInxBXbRXjYnJHfxmPmjT2Dsr02SHt2WvLjvYe17dAZ  
5nv4wyaj6mt4YtckRcT/vyFmO6bZLfppBwZi2ZtTiDT57L9ulcWLiFqxcp9zI84=  
=bNzH  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![nesazeri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nesazeri](https://www.ruby-forum.com/u/nesazeri)\
**Post date:** [March 21, 2014, 12:15pm UTC](https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952/7 "2014-03-21T12:15:02Z")

</div>

I added target\_link\_libraries(gnuradio-dvbt ${Boost\_LIBRARIES}  
${GNURADIO\_RUNTIME\_LIBRARIES} ${VOLK\_LIBRARIES} ${FFTW3F\_LIBRARIES}).

But that does not help.

Fri, 21 Mar 2014 12:07:52 +0100 от Marcus Müller [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![nesazeri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nesazeri](https://www.ruby-forum.com/u/nesazeri)\
**Post date:** [March 21, 2014, 12:28pm UTC](https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952/8 "2014-03-21T12:28:29Z")

</div>

cool! it worked. I deleted build folder and recompiled everything.  
Thanks a lot!!!

Fri, 21 Mar 2014 12:17:26 +0100 от Marcus Müller [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![nesazeri](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/e19adc/32.png) [@nesazeri](https://www.ruby-forum.com/u/nesazeri)\
**Post date:** [March 21, 2014, 12:18pm UTC](https://www.ruby-forum.com/t/fftw3-error-in-gnuradio/239952/9 "2014-03-21T12:18:33Z")

</div>

-----BEGIN PGP SIGNED MESSAGE-----  
Hash: SHA1

Then I’m out of clues.  
You have basically the same setup up as gr-fft now. Your module  
_should_ be linked against FFTW3f. Are you sure you replace  
fftw\_malloc and fftw\_whatever by fftwf\_whatever in your C++ code?

On 21.03.2014 12:13, Nasi wrote:

> On 21.03.2014 12:02, Nasi wrote:
> 
> > > > target\_link\_libraries(gnuradio-dvbt ${Boost\_LIBRARIES}  
> > > > ${GNURADIO\_RUNTIME\_LIBRARIES} ${VOLK\_LIBRARIES})

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1  
Comment: Using GnuPG with Thunderbird - [http://www.enigmail.net/](http://www.enigmail.net/)

iQEcBAEBAgAGBQJTLB/GAAoJEBQ6EdjyzlHttJ4H/0jblM6o5R8bPlIumcZc7MAI  
70gWT4c7Ujee8ma4qNPKBGrZi6quwz7jguQhxjV92CPP75X8tffWXit0giUIAG8R  
7kjVD43WDFzse8q59iAB6IMtA1hedz0gmecemScIUyNVGVXSWcSuGwMEkk6WDug+  
WC1wYpEo0D4VYTqi3FielU9iuiLNu6Aaj4NjCDahKgUk6iyfZ8WknqQFcomnpNET  
za7BluBcDDebNGtsZxgm9TuJ6dCgbKVqHRa4qtRKoPkH0EJ4SaJjK/KYJOkDm3E3  
HwLnquXI6NKT6q92bWqgYAHNlAkfxJgHaXD9sXEt4AZ/FoAIpXCRFAKnllIUnKg=  
=x0EW  
-----END PGP SIGNATURE-----
