Home > Software engineering >  GNURadio OOT Module - Undefined symbol error
GNURadio OOT Module - Undefined symbol error

Time:09-24

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.

  • Related