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