Trouble getting GNUradio/UHD working (with PyBombs)

Hi all,

I picekd up GNU Radio again and tried to get a simple plain C++ project
working, but no success… Details below, hopefully somebody can set
my nose in the right direction.

What I want to do

I want to do some C++ coding outside Companion, so I have C++ with code
like:


int main()

gr::top_block_sptr tb = gr::make_top_block(“USRP_framework”);

gr::uhd::usrp_source::sptr usrp_source =
gr::uhd::usrp_source::make(device_addr, uhd::stream_args_t(“fc32”));

tb->connect(usrp_source, 0, custom_processor, 0);

So I want to use the GNU radio framework, and also have direct control
over the USRP. I use a very simple and dirty makefile, to keep as much
complexity out of this, the goal is just to get it working:


CC = g++
LIB = -lglut -lGLU -lGL -lgnuradio-blocks -lgnuradio-fft
-lgnuradio-pmt -lgnuradio-runtime -lgnuradio-uhd -lboost_system
-lboost_thread -luhd
INCDIR = -I matplotpp
ALIB = matplotpp/matplotpp.a

USRP_framework: USRP_framework.cc

 $(CC) $(INCDIR) -o USRP_framework USRP_framework.cc $(ALIB) $(LIB)

My intiial steps:

  1. I made a fresh Ubuntu install
  2. installed git
  3. got PyBombs
  4. installed GNUradio using PyBombs. As far as I can see, it also
    installed UHD directly since it moved in PyBombs to ‘installed hardware
    apps’ and cannot be chosen to install anymore.

No problems thusfar.

What went wrong during ‘make’

  1. The GNU-radio includes were not found, so I installed gnuradio-dev
    using ‘apt-get’.
  2. Then UHD includes were not found, so I filled /usr/include/uhd with
    the include files by hand (downloaded them).
  3. Then the makefile tells me that ‘luhd’ was not found

Anybody an idea what my next step should be to get this very simple
framework working? If PyBombs already installed UHD, why is there no
libuhd.so file on the HD? There is a libuhd.so.003 and a
libuhd.so.003.005 …

One of the reasons I started all over again (I had a GRC installation
previously) is that a previous attempt gave me errors regarding ABI
versions mismatches between GNUradio and UHD. So they should be build
‘simultaneously’ using exact the same resources I guess…

Best regards,

Jeroen Boschma

Pybombs usually installs stuff in ~/target and adds a script there
called ~/target/setup_env.sh which sets up paths. You should try running
that before building gnuradio things after installing pybombs. If the
includes still aren’t found try looking in ~/pybombs or ~/target for
them. You should not have needed the apt-get lines after successfully
installing pybombs and should probably uninstall those items.

Sent from my iPhone

OK, I stupidly assumed things would be installed in the ‘usual’
places… After changing the makefile and modifying /etc/ld.so.conf
things work good. Thanks!

David Donley schreef op 2015-06-27 22:12: