I am implementing a convolutional encoder-decoder OOT Module in GNU Radio 3.8 in C .
When running the python tests I've written for the encoder and decoder, I get the following error:
ImportError: undefined symbol: _ZN2gr5a3sat13conv_dec_impl9generatorE
The generator
variable is declared in the conv_dec_impl
header file as:
inline static const bool generator[2][7] = {{1, 0, 0, 1, 1, 1, 1}, {1, 1, 0, 1, 1, 0, 1}}
Also, in the tests' python file, when importing a3sat_swig, I get this error: No module named 'a3sat_swig'
Could it be related to the CMakeLists file?
Any help is welcome.
CodePudding user response:
The generator variable is declared in the conv_dec_impl header file as:
inline static const bool generator[2][7] = {{1, 0, 0, 1, 1, 1, 1}, {1, 1, 0, 1, 1, 0, 1}}
Move the generator
definition to the .cpp
file. Also make sure you don't have a previous version of your OOT block that lacks this symbol already installed.
Also, in the tests' python file, when importing a3sat_swig, I get this error: No module named 'a3sat_swig'
Open python/__init__.py
and either change ImportError
to ModuleNotFoundError
or remove the try
and except
. See issue 4761
Could it be related to the CMakeLists file?
No, most probably is not related to CMakeLists file.