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.
HELPFUL/CONSTRUCTIVE criticism is always welcome. Pybombs is not perfect, some recipes do not work. When you see the word user in my instructions, that refers to the user name you're using, ie, run /home/user/pybombs/src/uhd/host/build/utils/uhd_images_downloader.py and your user is steve, the line becomes run /home/steve/pybombs/src/uhd/host/build/utils/uhd_images_downloader.py For me, I had issues with the following packages: gr-rds (solution included) wireshark connectors (solution included) gr-ieeee802154 (solution included) gr-ieee80211 (solution included) gqrx (solution included) gr-fosphor (solution included) Ettus B200/B2100 (solution included) gr-as (no solution yet), this breaks my gnuradio install , I'll try to find a fix in the near future gr-extras (no solution yet) this has a pre-requisite of gr-as, which breaks my gnuradio install, I'll try to find a fix in the near future pocsag-mpt (no solution yet) this has a pre-requisite of gr-as, which breaks my gnuradio install, I'll try to find a fix in the near future gr-smartnet (no solution yet), I don't think this is maintained any more gr-bluetooth (no solution yet), I don't think this is maintained any more openlte (no solution yet) niusprio (no solution yet) I always start with a fresh Ubuntu load, this one is based on Ubuntu 14.04 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 python-zmq pypy-zmq reboot Ubuntu terminal into your home directory type git clone git://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 type sudo ./pybombs config 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 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 scroll to the bottom and paste the copied lines, then Ctrl X, Yes, Enter You should generate the env file and check your .bashrc to see if you need to update the file after installing new recipes ------------------------------ Updating libhackrf type git clone 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 to run gnuradio You should be good to go! If you need to update the firmware, follow Mike's directions at: https://github.com/mossmann/hackrf/wiki/Updating-Firmware ------------------- Ettus B200 run /home/user/pybombs/src/uhd/host/build/utils/uhd_images_downloader.py copy the rules from /usr/local/lib/uhd/utils to /etc/udev/rules.d type sudo udevadm control --reload-rules reboot ----------------------------------------------- Gqrx Edit the gqrx.lwr file and remove only the BOOST_SUFFIX=-mt from the qmake line If you've already tried to install, remove by typing sudo ./pybombs clean gqrx Re-install by clicking gqrx button ------------------------------------------------ gr-rds type sudo apt-get install libxml2 cmake libboost-all-dev libcppunit-dev liblog4cpp5-dev swig cd to your home directory type git clone https://github.com/bastibl/gr-rds type cd gr-rds type mkdir build type cd build type cmake .. type make type sudo make install type sudo ldconfig -------------------------------------- Wireshark connectors cd to your home directory type git clone https://github.com/bastibl/gr-foo.git type cd gr-foo type mkdir build type cd build type cmake .. type make type sudo make install type sudo ldconfig ----------------------------- gr-ieee802-15-4 cd to your home directory type git clone git://github.com/bastibl/gr-ieee802-15-4.git type cd gr-ieee802-15-4 type mkdir build type cd build type cmake .. type make type sudo make install type sudo ldconfig The hierarchical block has to be installed separately: Open examples/ieee802_15_4_PHY.grc in gnuradio-companion and generate the flow graph. This installs the hierarchical block in your home, where gnuradio-companion can find it (typically ~/.grc_gnuradio). ----------------- gr-ieee802-11 type sudo apt-get install liblog4cpp5-dev libitpp-dev cd to your home directory type git clone git://github.com/bastibl/gr-ieee802-11.git type cd gr-ieee802-11 type mkdir build type cd build type cmake .. type make type sudo make install type sudo ldconfig The physical layer is encapsulated in a hierarchical block to allow for a clearer transceiver structure in GNU Radio Companion. This hierarchical block is not included in the installation process. You have to open /examples/wifi_phy_hier.grc with GNU Radio Companion and build it. This will install the block in ~/.grc_gnuradio/. ----------- gr-fosphor type sudo apt-get install opencl-headers type sudo ./app_store click the fosphor button Then edit: File /usr/local/lib/python2.7/dist-packages/gnuradio/fosphor/__init__.py below this line: from fosphor_swig import * type import sys save the file Because of dependency issues, do these seperately, in this order type sudo apt-get install nvidia-libopencl1-331-updates type sudo apt-get install nvidia-opencl-dev reboot Type sudu apt-get install pyopengl (freeglut3 will be installed too) If you try to run fosphor and get an error about glsl 1.5 not supported in Ubuntu, go to the "additional drivers" at load the Nvidia drivers. Posted on my site: http://www.celestialphotographer.com/2014/09/17/pybombs-gnuradio/
_______________________________________________ HackRF-dev mailing list [email protected] https://pairlist9.pair.net/mailman/listinfo/hackrf-dev
