How to install GNU Radio, FFTW, RTL SDR, GrOsmoSDR, and more using PyBombs with dependencies, by rpm/deb or build from source

gnuradio

Recently I purchased a Mini SDR (DVB-T) from NooElec to play around with some RF and do some testing, but for some reason kept running into problems while trying to build GNU Radio on Debian (Ubuntu/Linux Mint) from the git repos.  I attempted to use the version from the standard repository, but unfortunately that version is old and out dated (I think 1.6 was in repo, but 1.7.2 is latest), so the only option was to build from source.  I swear I probably spent 4 hours trying to figure out why certain dependencies wouldn’t install, then I would get one to install, and another one would come up…add to that for the testing I wanted to do I needed to install FFTW, RTL SDR, and GrOsmoSDR, which is when I finally decided to find a better way to build from source (or find latest version deb/rpm).

Thankfully enough there were others who decided “there has to be a better, easier way”, and that way, is called PyBombs.

What’s so great about PyBombs you ask?  Everything.  When you first setup PyBombs it will ask you how you want to install your applications, and the order to use.  Meaning if you’re using debian flavor, you could specify to first try and find a .deb file, if not then build from source, or vice versa.  RHEL flavors are the same, you would specify rpm instead of deb.  PyBombs will also handle installing all of the required dependencies, meaning installation is so easy, anybody can do it!

Install Pybombs

So first let’s install Pybombs from source (github repo):

You will now need to configure Pybombs before installing anything:

  • gituser: username for access to any restricted github or other repos.
  • prefix: where everything will be installed to, required write permissions set this to /usr/local
  • install order: set the order for preferred install, options available deb, rpm, src
  • forcepkgs: any packages you dont want pybombs to install or update
  • timeout: how long (in seconds) to wait before retrying download

If you know how to set library paths you can use anything you want for prefix, but to keep everything simple and easy, using /usr/local  from above will now require us to use sudo when running Pybombs.
Don’t forget to set prefix as  /usr/local 

Install GNU Radio

Installing the latest version of GNU Radio is now VERY easy, just run this command:

Install FFTW

Install RTL SDR

Install GrOsmoSDR

Installing the latest version of GNU Radio is now VERY easy, just run this command:

UPDATE LIB LINKS! Don’t Forget!

It could possibly just be me, but I can’t count how many times i’ve build something from source and couldn’t get it to work, all because I didn’t make sure to run the command below to update the new lib links. Make sure you run this command before giving up or troubleshooting what you think “may” be a problem.

 

Other Information

These are just a few of the applications that can be installed using Pybombs, there are tons of other packages you can install, just run this command to list out all available and installed packages/applications:

 As of 2/26/2014, the available baseline/dependency packages include:
apr, aprutil, armadillo, atk, autoconf, automake, bison, blas, boost, cairo, cheetah, cmake, cppunit, curl, db48, expat, faac, faad, ffi, fftw, flex, fontconfig, freetype, gcc, gdk-pixbuf, gflags, gfortran, git, glib, glog, gmp, gobject-introspection, gperftools, graphviz, gsl, gtest, gtk2, ice, lapack, libav, libbzip, libitpp, libjpeg, liblog4cpp, libpcap, libpng, libtiff, libtool, libusb, libxml, libxslt, log4cxx, lxml, make, mcpp, mpc, mpfr, numpy, pango, perl, pixman, pulseaudio, pycairo, pygtk, pyqt4, pyqwt5, python, python-zmq, qt4, qwt5, scipy, setuptools, sip, ssl, subversion, swig, tornado, wget, wxpython, x11, zeromq

The available/install-able packages include:
airprobe, airspy, fecapi, glfw3, gnss-sdr, gnuradio, gqrx, gr-air-modes, gr-ais, gr-as, gr-baz, gr-benchmark, gr-bluetooth, gr-compat, gr-drm, gr-eventstream, gr-extras, gr-fcdproplus, gr-fosphor, gr-ham, gr-ieee-80211, gr-ieee-802154, gr-iqbal, gr-ldpc, gr-lte, gr-mediatools, gr-multimon, gr-op25, gr-osmosdr, gr-packetradio, gr-pocsag, gr-rds, gr-smartnet, gr-specest, gr-zmqblocks, hackrf, kal, libosmo-dsp, openlte, osmo-sdr, pmc, pocsag-mrt, pysstv, rtl-sdr, simple_radio_astronomy, theron, uhd, wireshark

Whoa, that’s a lot, right?!  Now, imagine how difficult and how much time you would spend trying to build most of those applications above from source, making sure to take care of all dependencies…I mean, now that i’ve found Pybombs, I don’t know what I would do without it!

Profit!

You can find more information about Pybombs on GNU Radio’s website:
http://gnuradio.org/redmine/projects/pybombs/wiki

Check out these Hak5 videos!

http://hak5.org/episodes/hak5-1601

http://hak5.org/episodes/hak5-1602

Myles

Orlando, FL

Did this post help you?

Give back and rate it for me!

Related Posts

  • ~/Downloads/pybombs $ sudo ./pybombs install libosmo-dsp

    Settled on prefix: /usr/local

    Initializing environmental variables…

    value updated

    False

    None

    Loading recipes …

    gitargs: –recursive

    /usr/local

    Installing packages:

    * libosmo-dsp

    failed to install libosmo-dsp

  • Craig

    Awesome, thanks!