Yesterday, I built a new Ubuntu 14.04, installed the new GNURadio 3.7.4
and installed gr-op25. This all works, except that the gr-baz Op25
Decoder block, and other blocks, have unresolved baz imports. I ran
./pybombs install gr-baz and it ended with errors as shown in the
Terminal log below. The error appears to be that it cannot find
gnuradio.i.
I have built this system before, with GNURadio 3.7.2 and have the same
error. I have done lots of searches and have reported this problem on
op25-dev, but have had no answers. Can someone please help?
---- Terminal Log ----------------------------------
Current step: (gr-baz :: make)
make(’\n make -j4\n’, ‘\n make -j$makewidth\n’)(’\n make
-j4\n’, ‘\n make -j4\n’)
bash exec (/home/doug/pybombs/src/gr-baz/build):: make -j4
[ 0%] Built target baz_swig_swig_doc
[ 5%] Built target pygen_python_beed0
[ 7%] Built target _baz_swig_swig_tag
[ 82%] Built target gnuradio-baz
[ 84%]
[ 87%] Swig source
Swig source/home/doug/pybombs/src/gr-baz/swig/baz_swig.i:3: Error:
Unable to find ‘gnuradio.i’
/home/doug/pybombs/src/gr-baz/swig/baz_swig.i:3: Error: Unable to find
‘gnuradio.i’
make[2]: *** [swig/baz_swigPYTHON_wrap.cxx]
Error 1
make[1]: *** [swig/CMakeFiles/_baz_swig.dir/all] Error 2
make[1]: ***
Waiting for unfinished jobs…
make[2]: *** [swig/baz_swigPYTHON_wrap.cxx] Error 1
make[1]: *** [swig/CMakeFiles/pygen_swig_ae455.dir/all] Error 2
make: *** [all] Error 2
ERROR:root:PyBOMBS Make step failed for package (gr-baz) please see bash
output above for a reason (hint: look for the word Error)
doug@doug-GA-880GA-UD3H:~/pybombs$
Current step: (gr-baz :: make)
to find ‘gnuradio.i’
ERROR:root:PyBOMBS Make step failed for package (gr-baz) please see bash
output above for a reason (hint: look for the word Error)
doug@doug-GA-880GA-UD3H:~/pybombs$
It’s likely that the problem is just a missing swig include directory.
Like
gcc, you can tell swig other directories to look into for header and
interface files. We set these up in GNU Radio using the
SET(GR_SWIG_INCLUDE_DIRS) variable and passing it information about the
location of the .i files for the required components.
My guess is that your gnuradio is installed into a “non-standard”
directory, that is, one that swig doesn’t look for by default, and that
gr-baz isn’t finding it and/or isn’t passing the directory to swig.
You’ll
find the gnuradio.i file in $prefix/include/gnuradio/swig, where $prefix
is
whatever directory you installed GNU Radio into, like /usr or
/usr/local.
This isn’t exactly a fix for your problem; I’d have to look at gr-baz to
figure out why it’s not using it, but hopefully it’s enough info for you
to
work off of.
At the beginning of the GNURadio install, I took all of the defaults, so
it was put into
Home/doug/target/. I am still feeling my way around Linux. Can you tell
me where I need to be
looking to insert the path to gnuradio.i?
Thanks for the snappy reply,
Doug
Hi Doug,
Please keep emails on the mailing list.
It looks like gr-baz updated it swig/CMakeLists.txt file and hard coded
the
path /usr/local/include/gnuradio/swig into it (line 35). But it should
be
set to ${GNURADIO_RUNTIME_INCLUDE_DIRS}/gnuradio/swig, instead, in order
to
find it in other locations. See if making that change to your file in
src/gr-baz/swig works.
Doug
to find it in other locations. See if making that change to your file in
src/gr-baz/swig works.
Tom
I take that back, sort of. Looks like Balint’s doing the right thing on
his
github branch; pybombs’ recipe was pointing to the wrong repo. I’ll push
a
fix for this soon.
Tom
This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.