I am having difficulty porting an OOT module to gr 3.9. * VM with only gnuradio 3.9.0.0 installed. *The functional 3.8 OOT module is cloned into this VM.
Installed is 3.9.0.0 Python 3.8.5 pygccxml 2.1.0 pybind11 2.6.2 * Created the gr-hpsdr_3.9 directory, populated it using gr_modtool newmod, added the two modules hermesNB and hermesWB with constructor parameters. In the 3.8 directory: hermesNB.h and hermesWB.h both exist in the /include directory, and hermesWB_impl.cc and hermesNB_impl.cc both exist in the /lib directory Edited the ./python/Cmakelists.txt file to add the bindings subdirectory. From the directory gr-hpsdr_3.8/gr-hpsdr, I execute gr_modtool bind It prompts for the block name. I used the base module name without any suffixes: hermesNB (also tried hermesNB.h, hermesNB_impl.cc, hermesWB, hermewWB.h, hermesWB_impl.cc) I always get the following error message: tom@tom-Standard-PC-Q35-ICH9-2009:~/gr-hpsdr_3.8/gr-hpsdr$ gr_modtool bind GNU Radio module name identified: hpsdr Which blocks do you want to parse? (Regex): hermesNB /usr/lib/python3/dist-packages/apport/report.py:13: DeprecationWarning: the imp module is deprecated in favour of importlib; see the module's documentation for alternative uses import fnmatch, glob, traceback, errno, sys, atexit, locale, imp, stat Traceback (most recent call last): File "/usr/bin/gr_modtool", line 18, in <module> cli() File "/usr/lib/python3/dist-packages/click/core.py", line 764, in __call__ return self.main(*args, **kwargs) File "/usr/lib/python3/dist-packages/click/core.py", line 717, in main rv = self.invoke(ctx) File "/usr/lib/python3/dist-packages/click/core.py", line 1137, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "/usr/lib/python3/dist-packages/click/core.py", line 956, in invoke return ctx.invoke(self.callback, **ctx.params) File "/usr/lib/python3/dist-packages/click/core.py", line 555, in invoke return callback(*args, **kwargs) File "/usr/lib/python3/dist-packages/gnuradio/modtool/cli/base.py", line 133, in wrapper return func(*args, **kwargs) File "/usr/lib/python3/dist-packages/gnuradio/modtool/cli/bind.py", line 46, in cli run(self) File "/usr/lib/python3/dist-packages/gnuradio/modtool/cli/base.py", line 152, in run module.run() File "/usr/lib/python3/dist-packages/gnuradio/modtool/core/bind.py", line 61, in run file_to_process = os.path.join(self.dir, self.info['includedir'], self.info['blockname'] + '.h') TypeError: unsupported operand type(s) for +: 'NoneType' and 'str' Thus am stuck at this time. Is there a new or revised gr_modtool ? -- Tom, N5EG