# Error: undefined symbol: volk\_malloc

**URL:** <https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222>\
**Category:** GNU Radio\
**Created:** [September 26, 2014, 8:02am UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222 "2014-09-26T08:02:03Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [September 26, 2014, 8:02am UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/1 "2014-09-26T08:02:03Z")

</div>

Dear all,  
I had gnuradio-3.7.3 running normally. However, now everytime I run a  
flowgraph in GRC, it stops and throws an error:  
Traceback (most recent call last): File  
“/home/khachoang/GNU\_Radio/test\_grc/2Node\_NoController/top\_block.py”,  
line 14, in from gnuradio.filter import firdes File  
“/usr/local/lib/python2.7/dist-packages/gnuradio/filter/ **init**.py”,  
line 32, in from filter\_swig import \* File  
“/usr/local/lib/python2.7/dist-packages/gnuradio/filter/filter\_swig.py”,  
line 28, in \_filter\_swig = swig\_import\_helper() File  
“/usr/local/lib/python2.7/dist-packages/gnuradio/filter/filter\_swig.py”,  
line 24, in swig\_import\_helper \_mod = imp.load\_module(’\_filter\_swig’,  
fp, pathname, description)ImportError:  
/usr/local/lib/libgnuradio-filter-3.7.3.so.0.0.0: undefined symbol:  
volk\_malloc  
I haven’t seen it before and have no idea why. Before it become like  
that, I ran this command: apt-cache search libqt4.  
How should I fix it?  
Thanks,Hoang Ngo  
Hoang Ngo-KhacResearch Assistant - Lab. of Signal and System, FET, UET,  
Vietnam National University-Hanoi (VNU-H)Alternative email:  
removed\_email\_address@domain.invalid, removed\_email\_address@domain.invalid:  
+84.163.682.7874

---

<div class="post-metadata">

**Author:** ![Hoang\_Ngo-Khac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/2acd7d/32.png) [@Hoang\_Ngo-Khac](https://www.ruby-forum.com/u/Hoang_Ngo-Khac)\
**Post date:** [September 26, 2014, 2:50pm UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/2 "2014-09-26T14:50:19Z")

</div>

> ImportError: /usr/local/lib/libgnuradio-filter-3.7.3.so.0.0.0: undefined symbol:  
> volk\_malloc

It’s possible that parts of the build are out of sync. I recommend  
rebuilding / reinstalling GNU Radio.

Sean

---

<div class="post-metadata">

**Author:** ![Hoang\_Ngo-Khac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/2acd7d/32.png) [@Hoang\_Ngo-Khac](https://www.ruby-forum.com/u/Hoang_Ngo-Khac)\
**Post date:** [September 26, 2014, 8:17pm UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/3 "2014-09-26T20:17:27Z")

</div>

On Thu, Sep 25, 2014 at 11:00 PM, Hoang Ngo-Khac  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> line 32, in   
> symbol: volk\_malloc
> 
> I haven’t seen it before and have no idea why. Before it become like that, I  
> ran this command: apt-cache search libqt4.
> 
> How should I fix it?

The first step is to find out why the symbol is missing. Try:

ldd /usr/local/lib/libgnuradio-filter-3.7.3.so.0.0.0

and look for a missing shared library. That will tell you what went  
wrong. Looks like maybe they changed the version or something.

The quickest way is likely to reinstall it all with pybombs.

–  
Regards,  
Richard Sharpe  
(何以解憂？唯有杜康。–曹操)

---

<div class="post-metadata">

**Author:** ![Hoang\_Ngo-Khac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/2acd7d/32.png) [@Hoang\_Ngo-Khac](https://www.ruby-forum.com/u/Hoang_Ngo-Khac)\
**Post date:** [September 30, 2014, 6:50am UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/4 "2014-09-30T06:50:44Z")

</div>

I did uninstall gnuradio and reinstall it but that error still occurs.

Hoang Ngo-KhacResearch Assistant - Lab. of Signal and System, FET, UET,  
Vietnam National University-Hanoi (VNU-H)Alternative email:  
removed\_email\_address@domain.invalid, removed\_email\_address@domain.invalid:  
+84.163.682.7874

---

<div class="post-metadata">

**Author:** ![Hoang\_Ngo-Khac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/2acd7d/32.png) [@Hoang\_Ngo-Khac](https://www.ruby-forum.com/u/Hoang_Ngo-Khac)\
**Post date:** [September 30, 2014, 7:36am UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/5 "2014-09-30T07:36:46Z")

</div>

On Mon, Sep 29, 2014 at 9:49 PM, Hoang Ngo-Khac  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I did uninstall gnuradio and reinstall it but that error still occurs.

So, from below it looks like this shared-library:

/usr/local/lib/libgnuradio-filter-3.7.3.so.0.0.0

cannot find a symbol it needs. If you use the following command:

ldd /usr/local/lib/libgnuradio-filter-3.7.3.so.0.0.0

It will tell you all the other shared libraries this shared library  
depends on. One of them is no longer in the correct place.

Send us the output of the above command.

Maybe you have a prebuilt package on your system like I did when I  
first installed with pybombs.

> > To: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
> > 
> > > File  
> > > \_filter\_swig = swig\_import\_helper()  
> > > ran this command: apt-cache search libqt4.  
> > > The quickest way is likely to reinstall it all with pybombs.
> > 
> > –  
> > Regards,  
> > Richard Sharpe  
> > (何以解憂？唯有杜康。–曹操)

–  
Regards,  
Richard Sharpe  
(何以解憂？唯有杜康。–曹操)

---

<div class="post-metadata">

**Author:** ![Hoang\_Ngo-Khac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/2acd7d/32.png) [@Hoang\_Ngo-Khac](https://www.ruby-forum.com/u/Hoang_Ngo-Khac)\
**Post date:** [September 30, 2014, 11:47am UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/6 "2014-09-30T11:47:25Z")

</div>

Thank you. This is the output of that command:  
linux-gate.so.1 =\> (0xb76e9000) libgnuradio-runtime-3.7.3.so.0.0.0  
=\> /usr/local/lib/libgnuradio-runtime-3.7.3.so.0.0.0 (0xb7578000)  
libgnuradio-fft-3.7.3.so.0.0.0 =\>  
/usr/local/lib/libgnuradio-fft-3.7.3.so.0.0.0 (0xb7560000)  
libvolk.so.0.0.0 =\> /usr/lib/i386-linux-gnu/libvolk.so.0.0.0  
(0xb749c000) libboost\_system.so.1.54.0 =\>  
/usr/lib/i386-linux-gnu/libboost\_system.so.1.54.0 (0xb7498000)  
libpthread.so.0 =\> /lib/i386-linux-gnu/libpthread.so.0 (0xb747c000)  
libgnuradio-pmt-3.7.3.so.0.0.0 =\>  
/usr/local/lib/libgnuradio-pmt-3.7.3.so.0.0.0 (0xb743d000)  
libstdc++.so.6 =\> /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb7354000)  
libm.so.6 =\> /lib/i386-linux-gnu/libm.so.6 (0xb730d000) libgcc\_s.so.1  
=\> /lib/i386-linux-gnu/libgcc\_s.so.1 (0xb72f0000) libc.so.6 =\>  
/lib/i386-linux-gnu/libc.so.6 (0xb7140000)  
libboost\_filesystem.so.1.54.0 =\>  
/usr/lib/i386-linux-gnu/libboost\_filesystem.so.1.54.0 (0xb7129000)  
libboost\_thread.so.1.54.0 =\>  
/usr/lib/i386-linux-gnu/libboost\_thread.so.1.54.0 (0xb7114000)  
librt.so.1 =\> /lib/i386-linux-gnu/librt.so.1 (0xb710a000)  
libfftw3f.so.3 =\> /usr/lib/i386-linux-gnu/libfftw3f.so.3 (0xb6f1b000)  
libfftw3f\_threads.so.3 =\> /usr/lib/i386-linux-gnu/libfftw3f\_threads.so.3  
(0xb6f13000) liborc-0.4.so.0 =\> /usr/lib/i386-linux-gnu/liborc-0.4.so.0  
(0xb6e83000) /lib/ld-linux.so.2 (0xb76ea000)  
How could I recognize which libraries is in the wrong place?

Hoang Ngo-KhacResearch Assistant - Lab. of Signal and System, FET, UET,  
Vietnam National University-Hanoi (VNU-H)Alternative email:  
removed\_email\_address@domain.invalid, removed\_email\_address@domain.invalid:  
+84.163.682.7874

---

<div class="post-metadata">

**Author:** ![Hoang\_Ngo-Khac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/2acd7d/32.png) [@Hoang\_Ngo-Khac](https://www.ruby-forum.com/u/Hoang_Ngo-Khac)\
**Post date:** [September 30, 2014, 12:14pm UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/7 "2014-09-30T12:14:00Z")

</div>

Thank you all,  
I went into /usr/lib/i386-linux-gnu/ and remove libvolk.so.0.0.0 with  
root. Then I reinstalled gnuradio and it works now.  
Hoang

Hoang Ngo-KhacResearch Assistant - Lab. of Signal and System, FET, UET,  
Vietnam National University-Hanoi (VNU-H)Alternative email:  
removed\_email\_address@domain.invalid, removed\_email\_address@domain.invalid:  
+84.163.682.7874

---

<div class="post-metadata">

**Author:** ![Hoang\_Ngo-Khac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/2acd7d/32.png) [@Hoang\_Ngo-Khac](https://www.ruby-forum.com/u/Hoang_Ngo-Khac)\
**Post date:** [September 30, 2014, 11:58am UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/8 "2014-09-30T11:58:26Z")

</div>

libvolk.so.0.0.0 =\> /usr/lib/i386-linux-gnu/libvolk.so.0.0.0  
(0xb749c000)

That sounds like you installed gnuradio packages from your distro.  
Then possibly removed them, but not entirely, volk is still there.

If you removed the GR packages already, try ‘apt-get autoremove’

Cheers,

```
Sylvain
```

---

<div class="post-metadata">

**Author:** ![Hoang\_Ngo-Khac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/2acd7d/32.png) [@Hoang\_Ngo-Khac](https://www.ruby-forum.com/u/Hoang_Ngo-Khac)\
**Post date:** [September 30, 2014, 12:28pm UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/9 "2014-09-30T12:28:18Z")

</div>

On Tue, Sep 30, 2014 at 12:12 PM, Hoang Ngo-Khac  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Thank you all,
> 
> I went into /usr/lib/i386-linux-gnu/ and remove libvolk.so.0.0.0 with root.  
> Then I reinstalled gnuradio and it works now.

It’s exactly that kind of careless behavior that will yield more  
problem in the future …

You shouldn’t do that kind of operation manually, that’s what your  
package manager is for. Because now when there is a package update,  
your package manager might very well just re-create that file.

Cheers,

Sylvain

---

<div class="post-metadata">

**Author:** ![Hoang\_Ngo-Khac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/2acd7d/32.png) [@Hoang\_Ngo-Khac](https://www.ruby-forum.com/u/Hoang_Ngo-Khac)\
**Post date:** [September 30, 2014, 4:11pm UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/10 "2014-09-30T16:11:15Z")

</div>

On Tue, Sep 30, 2014 at 3:27 AM, Sylvain M. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> You shouldn’t do that kind of operation manually, that’s what your  
> package manager is for. Because now when there is a package update,  
> your package manager might very well just re-create that file.

This same problem happened to me. I had some of my distro’s packages  
installed and had symbol problems, which is how I knew to check the  
shared libs.

Somewhere, pybombs does not seem to get the link location correct.

I can only echo the comment that you should not manually remove that  
file. Use your distro’s packaging utility to remove the whole package.  
There might be other problems waiting to pounce on you.

–  
Regards,  
Richard Sharpe  
(何以解憂？唯有杜康。–曹操)

---

<div class="post-metadata">

**Author:** ![Hoang\_Ngo-Khac](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/h/2acd7d/32.png) [@Hoang\_Ngo-Khac](https://www.ruby-forum.com/u/Hoang_Ngo-Khac)\
**Post date:** [September 30, 2014, 4:47pm UTC](https://www.ruby-forum.com/t/error-undefined-symbol-volk-malloc/232222/11 "2014-09-30T16:47:36Z")

</div>

Ok. I got it. Actually, I did run sudo apt-get autoremove but  
libvolk.so.0.0.0 was still there, so I tried removing it manually.

Hoang Ngo-KhacResearch Assistant - Lab. of Signal and System, FET, UET,  
Vietnam National University-Hanoi (VNU-H)Alternative email:  
removed\_email\_address@domain.invalid, removed\_email\_address@domain.invalid:  
+84.163.682.7874
