Monday, November 8, 2021

Re: Undefined symbol _ZN2gr12msg_accepter4postEN5boost13intrusive_ptrIN3pmt8pmt_baseEEES5_

Hi John,

as discussed on chat: this happens if, and only if, you're linking at build time to a
different library than your runtime shared library loader finds.

The fix is simple: make sure you've *not* got two versions of GNU Radio around, one of
which your linker finds during building of gr-osmosdr, and a different one your ld.so finds.

Best regards,
Marcus


On 04.11.21 20:35, John Coppens wrote:
> Hi all.
>
> I've been suffering trying to install gnuradio. I tried different versions, and different
> combinations with gr-osmosdr, as I don't see a list of which versions go together.
>
> Using, eg. gr-osmosdr.so.0.2.0 and gnuradio-3.8.4.0, which I have compiled successfully
> on my Slackware64-current system, I get an error at run-time:
>
> Executing: /usr/bin/python3 -u /usr/local/projects/rf/gnuradio/VHF_NBFM.py
>
> Traceback (most recent call last):
> File "/usr/local/projects/rf/gnuradio/VHF_NBFM.py", line 40, in <module>
> import osmosdr
> File "/usr/lib64/python3.9/site-packages/osmosdr/__init__.py", line 25, in <module>
> from .osmosdr_swig import *
> File "/usr/lib64/python3.9/site-packages/osmosdr/osmosdr_swig.py", line 13, in <module>
> from . import _osmosdr_swig
> ImportError: /usr/lib64/libgnuradio-osmosdr.so.0.2.0: undefined symbol: _ZN2gr12msg_accepter4postEN5boost13intrusive_ptrIN3pmt8pmt_baseEEES5_
>
> c++filt translates that symbol to gr::msg_accepter::post(boost::intrusive_ptr<pmt::pmt_base>, boost::intrusive_ptr<pmt::pmt_base>)
>
> I have Python 3.9.5, Slackware64-current, librtlsdr installed and working (the included
> codes runs fine). SWIG is version 4.0.2.
>
> The gr-osmosdr problem seems to be the only remaining issue.
>
> Can anyone indicate me where to search?
>
> John
>

No comments:

Post a Comment