[Hackrf-dev] PyBombs Install

Rich Sanders richnsanders at gmail.com
Thu Sep 11 13:43:27 EDT 2014


Apologies if I sent this out twice.

If anyone feels like giving PyBOMBS a go.  Reportedly, the gnurdio-install
script is going to lose support in favor of PyBOMBS.

Installing Pybombs

The general disclaimer…..This technique/approach has worked for me various
times, it is the method I prefer, it may not work for you.  You might
prefer other steps.  I assume no liability.

Pybombs is not perfect, some recipes do not work.

I always start with a fresh Ubuntu load, this one is based on Ubuntu 14.

After install, perform the typical:

apt-get update
apt-get dist-upgrade

Pybombs will by default try to install all dependencies, but I have found
the install goes much smoother if I install some packages in advance:

type* sudo apt-get -y install git-core cmake g++ python-dev swig pkg-config
libfftw3-dev libcppunit-dev libgsl0-dev libusb-dev libsdl1.2-dev
python-wxgtk2.8 python-numpy python-cheetah python-lxml doxygen libxi-dev
python-sip libqt4-opengl-dev libqwt-dev libfontconfig1-dev libxrender-dev
python-qwt5-qt4 python-sip python-sip-dev cmake xorg-dev libglu1-mesa-dev*

reboot

terminal into your home directory

type*    git clone git://github.com/pybombs/pybombs
<http://github.com/pybombs/pybombs>*
type *cd pybombs*
type   *./pybombs config*

In the configuration setup you can press enter for every option, I changed
the install prefix location because this helps prevent errors when I
manually install non pybombs packages later on, if you are only going to
use pybombs “recipes” leave the default location.  If you change to
"/usr/local" you'll have to run "sudo ./pybombs config" after the config
files run

Output of  ./pybombs config

Initializing config file...
Username for GIT access
gituser [user]:
Install Prefix prefix [/home/user/target]:/usr/local/
Order in which to attempt installations when available, options are: src,
rpm, deb satisfy_order [deb,src]:
Comma seperated list of package names to assume are already installed
forcepkgs []:
Time the monitor thread waits (in seconds) before retrying downloads
timeout [30]:
CMAKE_BUILD_TYPE args to pass to cmake projects, options are: Debug,
Release, RelWithDebInfo, MinSizeRel, cmakebuildtype [RelWithDebInfo]:
Build doxygen while compiling packages? options are: ON, OFF builddocs
[OFF]:
C Compiler Executable [gcc, clang, icc, etc] cc [gcc]:
C++ Compiler Executable [g++, clang++, icpc, etc] cxx [g++]:
Concurrent make threads [1,2,4,8...] makewidth [4]:
done
Settled on prefix: /usr/local

[Errno 13] Permission denied: '/usr/local/lib64'
Error! Configured install prefix requires root privileges. Please re-run as
sudo!

This error is normal if you ran sudo ./pybombs config, rerun the config
typing  *sudo ./pybombs config*

Output of ./pybombs config

Settled on prefix: /usr/local
Initializing environmental variables...
/usr/local//python/:/usr/local//lib/python2.6/site-packages/:/usr/local//lib64/python2.6/site-packages/:/usr/local//lib/python2.6/dist-packages/:/usr/local//lib64/python2.6/dist-packages/:/usr/local//lib/python2.7/site-packages/:/usr/local//lib64/python2.7/site-packages/:/usr/local//lib/python2.7/dist-packages/:/usr/local//lib64/python2.7/dist-packages/:/usr/local//python/:/usr/local//lib/python2.6/site-packages/:/usr/local//lib64/python2.6/site-packages/:/usr/local//lib/python2.6/dist-packages/:/usr/local//lib64/python2.6/dist-packages/:/usr/local//lib/python2.7/site-packages/:/usr/local//lib64/python2.7/site-packages/:/usr/local//lib/python2.7/dist-packages/:/usr/local//lib64/python2.7/dist-packages/
no existing inventory found, creating an empty one...
---------- loading recipes -------------------
Loading recipes ...
Loading recipes ... done
---------- loading recipes finished ----------

gituser = user
prefix = /usr/local/
satisfy_order = deb,src
forcepkgs =
timeout = 30
cmakebuildtype = RelWithDebInfo
builddocs = OFF
cc = gcc
cxx = g++
makewidth = 4

*from this point forward, you only need "sudo" if you installed into a
custom directory instead of the default /home/user/target*

type  *sudo ./pybombs install gnuradio*

THIS WILL TAKE A WHILE

When it is done type *sudo ./app_store.py*

Click on the packages you want to install, you can only install one at a
time.  The app_store may go dark.  You can monitor the progress in the
terminal window that you launched app_store in.  If everything installs
correctly, the app_store will brighten and your terminal window will
display "installation ok via: src"  if it errored out, the app_store will
close and your terminal window will have some information.

I suggest starting with gr-osmosdr (<--- this will install many of your
app_store blocks such as hackrf and osmosdr) and gr-pyqt

By default, the Ettus block will load, however, some minor configuration is
required to get the B200 and B210 running correctly, if there is interest,
I will update this to include.

Click the "X" to exit the app_store.

type  *sudo ./pybombs env*

Using the Ubuntu file manager, navigate to the location listed after
running ./pybombs env.  Open setup_env.sh and copy everything below the
following line:

# WARNING: This file is auto-generated by pybombs, any manual changes to it
may be overwritten!

It should look similar to:

export
PATH="/usr/local//bin/:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib64/qt4/bin/"
export
PYTHONPATH="/usr/local//python/:/usr/local//lib/python2.6/site-packages/:/usr/local//lib64/python2.6/site-packages/:/usr/local//lib/python2.6/dist-packages/:/usr/local//lib64/python2.6/dist-packages/:/usr/local//lib/python2.7/site-packages/:/usr/local//lib64/python2.7/site-packages/:/usr/local//lib/python2.7/dist-packages/:/usr/local//lib64/python2.7/dist-packages/:/usr/local//python/:/usr/local//lib/python2.6/site-packages/:/usr/local//lib64/python2.6/site-packages/:/usr/local//lib/python2.6/dist-packages/:/usr/local//lib64/python2.6/dist-packages/:/usr/local//lib/python2.7/site-packages/:/usr/local//lib64/python2.7/site-packages/:/usr/local//lib/python2.7/dist-packages/:/usr/local//lib64/python2.7/dist-packages/"
export LD_LIBRARY_PATH="/usr/local//lib/:/usr/local//lib64/:"
export
PKG_CONFIG_PATH="/usr/local//lib/pkgconfig/:/usr/local//lib64/pkgconfig/:"

In the termianl window, CD to your home directory

type  *sudo nano .bashrc *(the SUDO is needed here or the file will not
save)

scroll to the bottom and paste the copied lines, then Ctrl X, Yes, Enter

After adding new recipes, you need to re-run the ./pybombs env command and
update your .bashrc

type  *git clone https://github.com/mossmann/hackrf.git
<https://github.com/mossmann/hackrf.git>*

type *cd hackrf/host/libhackrf*/

type *mkdir build*

type *cd build*

type *cmake ..*

type *make*

type *sudo make install*

type *sudo ldconfig*

copy /home/hackrf/host/libhackrf/53-hackrf.rules to /etc/udev/rules.d

type *sudo udevadm control --reload-rules*

reboot

type *hackrf_info*

You should see something SIMILAR to:

Found HackRF board.
Board ID Number: 2 (HackRF One)
Firmware Version: git-44df9d1
Part ID Number: 0xa000cb3c 0x004d4f3f
Serial Number: 0x00000000 0x00000000 0x457863c8 0x2f1b511f

type *gnuradio-companion*

Gnu-radio should open

If you need to update the firmware, follow Mike's directions at:

https://github.com/mossmann/hackrf/wiki/Updating-Firmware

You should be good to go!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nine.pairlist.net/pipermail/hackrf-dev/attachments/20140911/913600f0/attachment.html>


More information about the HackRF-dev mailing list