Runtime issue with gr_modtool block

Dear List,

I recently moved a custom block to a new virtual machine, built and
compiled, and tried to import. I get the following error:

import router
Traceback (most recent call last):
File “”, line 1, in
File
“/home/tjt7a/Src/target/lib/python2.7/dist-packages/router/init.py”,
line 45, in
from router_swig import *
File
“/home/tjt7a/Src/target/lib/python2.7/dist-packages/router/router_swig.py”,
line 26, in
_router_swig = swig_import_helper()
File
“/home/tjt7a/Src/target/lib/python2.7/dist-packages/router/router_swig.py”,
line 22, in swig_import_helper
_mod = imp.load_module(’_router_swig’, fp, pathname, description)
ImportError: /home/tjt7a/Src/target/lib/libgnuradio-router.so: undefined
symbol:
ZN2gr12msg_accepter4postEN5boost13intrusive_ptrIN3pmt8pmt_baseEEES5

Investigating this line, I get:

tjt7a@ubuntu:~/Src$ c++filt
ZN2gr12msg_accepter4postEN5boost13intrusive_ptrIN3pmt8pmt_baseEEES5
gr::msg_accepter::post(boost::intrusive_ptrpmt::pmt_base,
boost::intrusive_ptrpmt::pmt_base)

I’m running the new pybombs version:

tjt7a@ubuntu:~/Src$ gnuradio-config-info -v
3.7.2git-0-gd19aa281

Has anyone seen this?

Sincerely,
Tommy James Tracy II
Ph.D Student
High Performance Low Power Lab
University of Virginia
Phone: 913-775-2241

Just for future reference,

Problem:
If moving a module from one version of gnu radio to another, the shared
object (DLL) links may break.

Solution:
Use the gr_modtool script on the destination machine to create a new
module and add the blocks in your old module. Copy over the source, and
everything should work.

Tommy James Tracy II
Ph.D Student
High Performance Low Power Lab
University of Virginia
Phone: 913-775-2241