[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

issues porting C++ OOT to 3.9 - fails at runtime import

From: Tom McDermott
Subject: issues porting C++ OOT to 3.9 - fails at runtime import
Date: Sat, 8 May 2021 15:26:52 -0700

I am continuing to have issues porting my 3.8 code over to 3.9.   (Ubuntu 20.04)
By request I've posted the code on github:

https://github.com/Tom-McDermott/gr-hpsdr       branch: gr_3.9_broken

I know it is asking a lot to look over someone's code.

Alternatively, is there a simple C++ OOT on 3.9 that has the source code
tree available?  Something like  how_to_square that can be built,  builds, installs,
and runs correctly?  This would allow testing to see if the environment, tooling,
etc. is working correctly on that known-good OOT.

My source code cmakes, makes, installs OK.. GRC can instantiate the module OK graphically.
But it fails at runtime due to gr::block not being found.  Josh looked over one or two
snippets of code which seem correct.  I've poured over the build files, 'readelf' and 'nm' the .SO file, etc,
but do not know how the python inheritance gets inserted.

A couple of observations:

1. bind fails on certain valid path names.  I copied my entire OOT repository to another directory
and Ubuntu created a copy with the ASCII (copy) in the directory name.   Having the ASCII
characters  ' (copy)' embedded within the directory name causes bind to throw an error pointing
at that first parenthesis. Changing the directory name to not have the parenthesis characters fixes that.

2. When I open python3 from the command line and import hpsdr, I get the same error
 as when trying to run the flowgraph from GRC:

$ python3
Python 3.8.5 (default, Jan 27 2021, 15:41:15)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import gnuradio
>>> import hpsdr
An exception of type ImportError occurred. Arguments:
('generic_type: type "hermesNB" referenced unknown base type "gr::block"',)
> /usr/lib/python3/dist-packages/hpsdr/__init__.py(19)<module>()
-> from .hpsdr_python import *

Any help would be much appreciated.

-- Tom, N5EG

reply via email to

[Prev in Thread] Current Thread [Next in Thread]