I've asked this question before. But there are lots of ambiguity and uncertainty. Thus, this is the clarification.
I've built and installed my module. But when I import my module in Python for tests, error occurs:
>>> import myOOTmodule
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/myOOTmodule/__init__.py", line 51, in <module>
from myOOTmodule_swig import *
File "/usr/local/lib/python2.7/dist-packages/myOOTmodule/myOOTmodule_swig.py", line 28, in <module>
_myOOTmodule_swig = swig_import_helper()
File "/usr/local/lib/python2.7/dist-packages/myOOTmodule/myOOTmodule_swig.py", line 24, in swig_import_helper
_mod = imp.load_module('_myOOTmodule_swig', fp, pathname, description)
ImportError: /usr/local/lib/libgnuradio-myOOTmodule.so: undefined symbol: _ZN2gr4dvbt12reed_solomonC1Eiiiiiiii
The problem is that the above error occurs since I am using gr:dvbt::reed_solomon, which is neither in GNU Radio source tree nor in my module.
I don't know the exact reason for this. But in my guess...
It seems that myOOTmodule thinks gr::dvbt::reed_solomon is a part of myOOTmodule itself. But there is no declaration and implementation and it causes the error.
Or myOOTmodule has no idea where to import gr:dvbt:reed_solomon.
Another hypothesis is that, an OOT module cannot use other OOT modules (in swig-python?). I'm not sure about it. Or, there is a way to do this, but I just don't know about it.