Xenial Xerus (16.04)
Building GNU Radio 3.8.x is difficult on Ubuntu 16.04 due to various dependency issues (especially due to CMake and Python versions). Please consider using GNU Radio 3.7.x instead.
For GNU Radio 3.7.x:
sudo apt-get -y install git-core cmake g++ python-dev swig \
pkg-config libfftw3-dev libboost-all-dev libcppunit-dev libgsl0-dev \
libusb-dev libsdl1.2-dev python-wxgtk3.0 python-numpy \
python-cheetah python-lxml doxygen libxi-dev python-sip \
libqt4-opengl-dev libqwt-dev libfontconfig1-dev libxrender-dev \
python-sip python-sip-dev python-qt4 python-sphinx libusb-1.0-0-dev \
libcomedi-dev libzmq-dev
Trusty Tahr (14.04)
sudo apt-get -y install git-core cmake g++ python-dev swig \
pkg-config libfftw3-dev libboost1.55-all-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-sip python-sip-dev
Then set the following environmental variable to use PyQT:
export PYTHONPATH=/opt/qt/lib/python2.7/dist-package
Saucy Salamander (13.10)
Saucy Salamander has a particular problem with PyQT and PyQWT. First, apt-get the following packages to get start. We will then manually build and install PyQT and PyQWT to get around the issue.
sudo apt-get -y install git-core cmake g++ python-dev swig \
pkg-config libfftw3-dev libboost1.53-all-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 \
libgruel3.6.1
If you have PyQWT installed already, remove it:
$ sudo apt-get remove python-qwt5-qt4
Make sure SIP is installed:
$ sudo apt-get install python-sip python-sip-dev
We'll set up a separate directory to install into to make it keep it nicely separated from anything else (in case Ubuntu fixes this problem).
$ sudo mkdir /opt/qt
First, set up your environment
Edit ./bashrc by adding or amending the following variables:
export PATH=/opt/qt/bin:$PATH
export LD_LIBRARY_PATH=/opt/qt/lib:/usr/local/lib:$LD_LIBRARY_PATH
export PYTHONPATH=/opt/qt/lib/python2.7/dist-packages:$PYTHONPATH
export PKG_CONFIG_PATH=/opt/qt/lib/pkgconfig:$PKG_CONFIG_PATH
Either restart the terminal or reset your environment:
$ source ~/.bashrc
Download and install PyQt version 4.10.3
http://www.riverbankcomputing.com/software/pyqt/download
$ tar xzf PyQt-x11-gpl-4.10.3.tar.gz
$ cd PyQt-x11-gpl-4.10.3
$ python configure.py -b /opt/qt/bin -d /opt/qt/lib/python2.7/dist-packages -v /opt/qt/share/sip
$ make
$ sudo make install
Download and install PyQWT version 5.2.0
http://pyqwt.sourceforge.net/download.html
$ tar xzf PyQwt-5.2.0.tar.gz
$ cd PyQwt-5.2.0/configure
$ ./configure.py -Q ../qwt-5.2 --module-install-path=/opt/qt/lib/python2.7/dist-packages/PyQt4/Qwt5
$ make
$ sudo make install
If you've already built GNU Radio, first delete CMakeCache.txt in the top build directory. You should then only have to 'make clean' in gr-qtgui.
Run cmake and make like you would normally. With the environmental variables pointing to the new PyQT and PyQWT versions we've installed all gr-qtui displays and widgets should work properly now.
Raring Ringtail (13.04)
Note: At release, Ubuntu defaults the 'libboost-all-dev' package to libboost-*.49, which is incompatible with GNURadio. Thus, until the Ubuntu default Boost install catches up, you must manually specify 'libboost1.53-all-dev'.
sudo apt-get -y install git-core autoconf automake libtool g++ python-dev swig \
pkg-config libfftw3-dev libboost1.53-all-dev libcppunit-dev libgsl0-dev \
libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy \
python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev \
libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev qt4-default
Precise Pangolin (12.04)
sudo apt-get -y install git-core autoconf automake libtool g++ python-dev swig \
pkg-config libboost1.48-all-dev libfftw3-dev libcppunit-dev libgsl0-dev \
libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy \
python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev \
libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev
Natty Narwhal (11.04)
sudo apt-get -y install git-core autoconf automake libtool g++ python-dev swig \
pkg-config libboost-all-dev libfftw3-dev libcppunit-dev libgsl0-dev \
libusb-dev sdcc libsdl1.2-dev python-wxgtk2.8 python-numpy \
python-cheetah python-lxml doxygen python-qt4 python-qwt5-qt4 libxi-dev \
libqt4-opengl-dev libqwt5-qt4-dev libfontconfig1-dev libxrender-dev
Maverick (10.10)
sudo apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev \
swig g++ automake autoconf libtool python-dev libfftw3-dev \
libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \
libsdl1.2-dev python-wxgtk2.8 git guile-1.8-dev \
libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
python-cheetah python-lxml doxygen qt4-dev-tools \
libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4
Lucid (10.04)
sudo apt-get -y install libfontconfig1-dev libxrender-dev libpulse-dev \
swig g++ automake autoconf libtool python-dev libfftw3-dev \
libcppunit-dev libboost-all-dev libusb-dev fort77 sdcc sdcc-libraries \
libsdl1.2-dev python-wxgtk2.8 git-core guile-1.8-dev \
libqt4-dev python-numpy ccache python-opengl libgsl0-dev \
python-cheetah python-lxml doxygen qt4-dev-tools \
libqwt5-qt4-dev libqwtplot3d-qt4-dev pyqt4-dev-tools python-qwt5-qt4