|
From: | Tom Rondeau |
Subject: | Re: [Discuss-gnuradio] flow graph issues migrating out of tree modules from 3.6 to 3.7 |
Date: | Thu, 30 Jul 2015 12:03:31 -0400 |
On Tue, Jul 28, 2015 at 10:14 PM, address@hidden <address@hidden>***********************************************************************
wrote:
> I just completed migrating an out of tree project from 3.6 to 3.7,
> consisting of several c++ files and associated .h files. The GNU radio
> wiki page for describing how to do this was very helpful. I finally got
> all the code to build aganst a GNU Radio 3.7x library.
>
> Problem is now the flow graphs will not run. It can't find a uhd_swig
> module, which apparently was present in 3.6.
>
>
> Here are the messages I get
> File "../common/path_ncbfsk.py", line 32, in <module>
> import gtlib
> File "/usr/local/lib64/python2.7/site-packages/gtlib/__init__.py", line
> 145, in <module>
> _prepare_gtlib_swig()
> File "/usr/local/lib64/python2.7/site-packages/gtlib/__init__.py", line
> 48, in _prepare_gtlib_swig
> import gtlib_swig
> File "/usr/local/lib64/python2.7/site-packages/gtlib_swig/__init__.py",
> line 129, in <module>
> _prepare_uhd_swig()
> File "/usr/local/lib64/python2.7/site-packages/gtlib_swig/__init__.py",
> line 32, in _prepare_uhd_swig
> import uhd_swig
> ImportError: No module named uhd_swig
>
> Thanks in advance for any suggestions,
> Scott
>
My guess is that you need to rebuild UHD, and then rebuild GNU Radio's
gr-uhd against that. Here are the steps I would take:
0) get the latest UHD release, build, and install it
1) in your gnuradio root build directory, remove CMakeCache.txt
2) rm gr-uhd/* (in the build directory!) -- this shouldn't be necessary,
but it'll make sure that everything is rebuilt here.
3) rerun cmake and make sure it's picking up uhd as a component
4) rerun make and make install
5) test again to see if that fixes the problem
Tom
*****************************************************************
Thanks Tom. I checked under
/usr/lib64/python2.7/site-packages/gnuradio/
and it looks as if uhd is installed.
I found a directory named "uhd" that appears to be configured as a python module (contains __init__.py file) as well as the following:
__init__.py __init__.pyo uhd_siggen_base.pyc uhd_swig.py uhd_swig.pyo
__init__.pyc uhd_siggen_base.py uhd_siggen_base.pyo uhd_swig.pyc _uhd_swig.so
Could it be that the gtlib_swig module should be importing it as "uhd" versus "uhd_swig", and that is why it is not
found?
Scott
Update:
Turns out, uhd is installed, and I just needed to add
/usr/lib64/python2.7/site-packages/gnuradio/uhd
to the PYTHONPATH variable.
The next result is more subtle, and I wonder if this is part of the changes I should have made when migrating the OOT module. The error I get now is
File "/usr/lib64/python2.7/site-packages/gtlib/__init__.py", line 145, in <module>
_prepare_gtlib_swig()
File "/usr/lib64/python2.7/site-packages/gtlib/__init__.py", line 134, in _prepare_gtlib_swig
setattr(gtlib_swig, attr, constructor_factory(getattr(gtlib_swig, attr)))
AttributeError: 'module' object has no attribute 'uhd_usrp_source'
Does this possibly relate to something I forgot to do in the conversion in the c++ and .h files?
I'm getting close here. Thanks for any help.
Scott
[Prev in Thread] | Current Thread | [Next in Thread] |