# Undefined symbol: wav\_write\_sample

**URL:** <https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588>\
**Category:** GNU Radio\
**Created:** [August 17, 2014, 4:24pm UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588 "2014-08-17T16:24:16Z")\
**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:** [August 17, 2014, 4:24pm UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/1 "2014-08-17T16:24:16Z")

</div>

Hello,

I am developing a block. Now it is a copy of Wav File Sink block.  
It compiles fine but in the GRC gives me the error:

ImportError: /usr/local/lib/libgnuradio-MLABlocks.so: undefined symbol:  
\_ZN2gr6blocks16wav\_write\_sampleEP8\_IO\_FILEsi

This is the block:  
[https://github.com/qarlosalberto/wav-sink](https://github.com/qarlosalberto/wav-sink)

\*I have done: sudo ldconfig  
\*\* I have serched in the mailing list, but I haven’t solved the problem.

Thank you.

---

<div class="post-metadata">

**Author:** ![Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/34f0e0/32.png) [@Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/u/Carlos_Alberto_Ruiz)\
**Post date:** [August 17, 2014, 4:55pm UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/2 "2014-08-17T16:55:14Z")

</div>

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

Hi Carlos,

you seem to be setting up linking correctly (if you’re not even  
requiring more GNU Radio modules than actually necessary in your main  
CMakeLists.txt); however try doing  
ldd /usr/local/lib/libgnuradio-MLABlocks.so  
and check whether the library really is linked against  
libgnuradio-blocks.

Greetings,  
Marcus

On 17.08.2014 16:23, Carlos Alberto Ruiz Naranjo wrote:

> \*I have done: sudo ldconfig \*\* I have serched in the mailing list,  
> but I haven’t solved the problem.
> 
> Thank you.
> 
> \_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_\_ Discuss-gnuradio  
> mailing list [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [Discuss-gnuradio Info Page](https://lists.gnu.org/mailman/listinfo/discuss-gnuradio)

-----BEGIN PGP SIGNATURE-----  
Version: GnuPG v1

iQEcBAEBAgAGBQJT8MIYAAoJEAFxB7BbsDrLZxkIAIZH8g/2c25J0Z21gfhsrDTJ  
JP03eU4udk0PieBoYE3c3ghUwHN4zoOHyAoIG7cll6wiAmwUzJfyd+4kguG0cblK  
Rhfp+iW4MM8+xCXwp6mwng6T2iAlniPJvhOy7AJvIImIHqqdA2B/tCCg9P+qrkCP  
GaBiqnW31TCatMfrOwxtpT+/2kgKPQKT2BvvmPvcsC72FpTVe3a3VPeL+lZgSG6j  
h2u4WRF82VeuL9hSl993BikNt9DkvQSFhrITorhhoCB9jl9vgDGBw9qKK5JMaWN1  
oGMwNT6+9lyWtdVQXp/kqgAP5c2+W9bgEkFRdjn/dVOWcOkFF5aJuwCZeaYabXg=  
=lIHc  
-----END PGP SIGNATURE-----

---

<div class="post-metadata">

**Author:** ![Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/34f0e0/32.png) [@Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/u/Carlos_Alberto_Ruiz)\
**Post date:** [August 17, 2014, 5:08pm UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/3 "2014-08-17T17:08:22Z")

</div>

Hello Marcus,

It is the out:

carlos@carlos-PC:~/Escritorio/gr-MLABlocks/build$ ldd  
/usr/local/lib/libgnuradio-MLABlocks.so  
linux-vdso.so.1 =\> (0x00007fff3b5fe000)  
libboost\_system.so.1.53.0 =\>  
/usr/lib/x86\_64-linux-gnu/libboost\_system.so.1.53.0 (0x00007f6bdf7a2000)  
libgnuradio-runtime-3.7.2.1.so.0.0.0 =\>  
/usr/local/lib/libgnuradio-runtime-3.7.2.1.so.0.0.0 (0x00007f6bdf4f1000)  
libgnuradio-pmt-3.7.2.1.so.0.0.0 =\>  
/usr/local/lib/libgnuradio-pmt-3.7.2.1.so.0.0.0 (0x00007f6bdf2a9000)  
libstdc++.so.6 =\> /usr/lib/x86\_64-linux-gnu/libstdc++.so.6  
(0x00007f6bdefa5000)  
libm.so.6 =\> /lib/x86\_64-linux-gnu/libm.so.6 (0x00007f6bdeca1000)  
libgcc\_s.so.1 =\> /lib/x86\_64-linux-gnu/libgcc\_s.so.1  
(0x00007f6bdea8a000)  
libc.so.6 =\> /lib/x86\_64-linux-gnu/libc.so.6 (0x00007f6bde6c2000)  
libvolk.so.0.0.0 =\> /usr/local/lib/libvolk.so.0.0.0  
(0x00007f6bde37c000)  
libboost\_filesystem.so.1.53.0 =\>  
/usr/lib/x86\_64-linux-gnu/libboost\_filesystem.so.1.53.0  
(0x00007f6bde165000)  
libboost\_thread.so.1.53.0 =\>  
/usr/lib/x86\_64-linux-gnu/libboost\_thread.so.1.53.0 (0x00007f6bddf4f000)  
libpthread.so.0 =\> /lib/x86\_64-linux-gnu/libpthread.so.0  
(0x00007f6bddd32000)  
librt.so.1 =\> /lib/x86\_64-linux-gnu/librt.so.1 (0x00007f6bddb29000)  
/lib64/ld-linux-x86-64.so.2 (0x00007f6bdfbf1000)  
liborc-0.4.so.0 =\> /usr/lib/x86\_64-linux-gnu/liborc-0.4.so.0  
(0x00007f6bdd8aa000)

Should be linked libgnuradio-blocks, right?

2014-08-17 16:54 GMT+02:00 Marcus Müller [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/34f0e0/32.png) [@Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/u/Carlos_Alberto_Ruiz)\
**Post date:** [August 17, 2014, 5:46pm UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/4 "2014-08-17T17:46:32Z")

</div>

yes, should be linked against libgnuradio-blocks.so.  
So something goes wrong when setting the link libraries.  
In your main CMakeLists.txt, can you try to delete the BLOCK, GRU and GR  
entries (I don’t think that these exist as GNU Radio submodules; how did  
they get there?) and try again?

Greetings,  
Marcus

On 17.08.2014 17:05, Carlos Alberto Ruiz Naranjo wrote:

> /usr/local/lib/libgnuradio-runtime-3.7.2.1.so.0.0.0 (0x00007f6bdf4f1000)  
> libgnuradio-pmt-3.7.2.1.so.0.0.0 =\>  
> /usr/local/lib/libgnuradio-pmt-3.7.2.1.so.0.0.0 (0x00007f6bdf2a9000)  
> libstdc++.so.6 =\> /usr/lib/x86\_64-linux-gnu/libstdc++.so.6  
> (0x00007f6bdefa5000)  
> libm.so.6 =\> /lib/x86\_64-linux-gnu/libm.so.6 (0x00007f6bdeca1000)  
> libgcc\_s.so.1 =\> /lib/x86\_64-linux-gnu/libgcc\_s.so.1  
> (0x00007f6bdea8a000)  
> libc.so.6 =\> /lib/x86\_64-linux-gnu/libc.so.6 (0x00007f6bde6c2000)  
> libvolk.so.0.0.0 =\> /usr/local/lib/libvolk.so.0.0.0  
> (0x00007f6bde37c000)  
> libboost\_filesystem.so.1.53.0 =\>  
> /usr/lib/x86\_64-linux-gnu/libboost\_filesystem.so.1.53.0  
> (0x00007f6bde165000)

---

<div class="post-metadata">

**Author:** ![Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/34f0e0/32.png) [@Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/u/Carlos_Alberto_Ruiz)\
**Post date:** [August 18, 2014, 2:13pm UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/5 "2014-08-18T14:13:15Z")

</div>

Carlos,

the functions in wavfile.cc are not publicly exported. We might want to  
change that, since wavfile.h is actually publicly visible.

You can try and add the BLOCKS\_API macro in wavfile.h. That will  
probably fix your troubles. If so, please submit a patch & pull request.

M

---

<div class="post-metadata">

**Author:** ![Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/34f0e0/32.png) [@Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/u/Carlos_Alberto_Ruiz)\
**Post date:** [August 17, 2014, 8:17pm UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/6 "2014-08-17T20:17:51Z")

</div>

I have:

- Ubuntu 13.10
- Kernel: 3.11.0-19-generic
- GNURadio 3.7.2.1

2014-08-17 17:45 GMT+02:00 Marcus Müller [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/34f0e0/32.png) [@Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/u/Carlos_Alberto_Ruiz)\
**Post date:** [August 19, 2014, 8:18pm UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/7 "2014-08-19T20:18:56Z")

</div>

It runs. I have done a pull request.

Thank you all 😉

2014-08-18 14:12 GMT+02:00 Martin B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/34f0e0/32.png) [@Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/u/Carlos_Alberto_Ruiz)\
**Post date:** [August 21, 2014, 10:45am UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/8 "2014-08-21T10:45:24Z")

</div>

Hello,

I am creating a new block (modified wavfile\_sink). Now it is only a  
copy-paste of wavfile\_sink.  
I have this error in GRC:

Traceback (most recent call last):  
File “/home/carlos/Escritorio/ESA/apt\_rec\_v01.py”, line 111, in  
  
tb = apt\_rec\_v01()  
File “/home/carlos/Escritorio/ESA/apt\_rec\_v01.py”, line 68, in  
**init**  
self.noaa\_dec\_0 = sat\_observer.wavfile\_sink(“/tmp/bien.wav”, 1,  
11025,  
16)  
AttributeError: ‘module’ object has no attribute ‘wavfile\_sink’

This is the code: [https://github.com/qarlosalberto/MLABlock](https://github.com/qarlosalberto/MLABlock)

\*\* With sudo ldconfig doesnt run.

Thank you.

2014-08-19 20:16 GMT+02:00 Carlos Alberto Ruiz Naranjo \<  
removed\_email\_address@domain.invalid\>:

---

<div class="post-metadata">

**Author:** ![Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/34f0e0/32.png) [@Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/u/Carlos_Alberto_Ruiz)\
**Post date:** [August 21, 2014, 12:05pm UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/9 "2014-08-21T12:05:52Z")

</div>

I have cleaned the build directory, later:  
cmake …  
make  
sudo make install

I have the same error :S

2014-08-21 11:35 GMT+02:00 Martin B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/34f0e0/32.png) [@Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/u/Carlos_Alberto_Ruiz)\
**Post date:** [August 21, 2014, 11:36am UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/10 "2014-08-21T11:36:34Z")

</div>

On 08/21/2014 10:44 AM, Carlos Alberto Ruiz Naranjo wrote:

> ```
> self.noaa_dec_0 = sat_observer.wavfile_sink("/tmp/bien.wav", 1,
> 
> ```
> 
> 11025, 16)  
> AttributeError: ‘module’ object has no attribute ‘wavfile\_sink’

Could be a SWIG issue – try clearing the build dir and starting again.

M

---

<div class="post-metadata">

**Author:** ![Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/c/34f0e0/32.png) [@Carlos\_Alberto\_Ruiz](https://www.ruby-forum.com/u/Carlos_Alberto_Ruiz)\
**Post date:** [September 5, 2014, 1:47am UTC](https://www.ruby-forum.com/t/undefined-symbol-wav-write-sample/231588/11 "2014-09-05T01:47:16Z")

</div>

Hello,  
I have exported the functions in the include file:

```
BLOCKS_API bool wavheader_complete(FILE *fp, unsigned int 

```

byte\_count);

But when I use gr::blocks::wavheader\_complete(d\_fp, byte\_count);  
In GRC I have the error:

AttributeError: ‘module’ object has no attribute ‘noaa\_analog\_decoder\_f’

Do you know what is the problem? :S

2014-08-21 12:04 GMT+02:00 Carlos Alberto Ruiz Naranjo \<  
removed\_email\_address@domain.invalid\>:
