[[TOC(Documentation/dSDR*, depth=3)]] == Installing GNU Radio ver. >= 3.2 on the (Ubuntu) image == === Install prerequisite packages === If you are upgrading from an older install, you may have python-wxgtk2.6 installed. Because python-wxgtk2.6 takes precedence over python-wxgtk2.8, it must be removed: {{{ sudo apt-get remove python-wxgtk2.6 }}} For Jaunty (9.04) version of Ubuntu: {{{ sudo apt-get -y install swig g++ automake1.9 libtool python2.5-dev \ fftw3-dev libcppunit-dev libboost1.35-dev sdcc-nf libusb-dev \ libsdl1.2-dev python-wxgtk2.8 subversion 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 }}} ==== Install Boost ==== Download the latest version of boost from boost.sourceforge.net (boost_1_37_0.tar.bz2 was the latest when this was written). Unpack it somewhere and cd into the resulting directory, pick a prefix to install it into (for example use /opt/boost_1_37_0), conifgure, compile and install the package: {{{ $ cd boost_1_37_0 $ BOOST_PREFIX=/opt/boost_1_37_0 $ ./configure --prefix=$BOOST_PREFIX –with-libraries=thread,date_time,program_options ... $ make ... $ sudo make install ... }}} ==== Installing GNU Radio ==== Download latest version of GNU Radio package: * from SVN {{{ svn co http://gnuradio.org/svn/gnuradio/trunk gnuradio }}} * or from git {{{ git clone http://gnuradio.org/git/gnuradio.git }}} Bootstrap, configure, and compile it {{{ cd gnuradio export LD_LIBRARY_PATH=$BOOST_PREFIX/lib # As per the instructions for installing Boost ./bootstrap ./configure --with-boost=$BOOST_PREFIX # As per the instructions for installing Boost make ... }}} Optionally: Run the GNU Radio software self-check (does not require a USRP or USRP2) {{{ make check }}} Now install GNU Radio for general use (default is in to /usr/local ): {{{ sudo make install }}} ===== Broken libtool on Debian and Ubuntu ===== Because Debian and Ubuntu apply a poorly implemented "enhancement" to the upstream version of libtool, they break the ability to test code and libraries prior to installing them. We think that testing before installation is a good idea. To work around their damage, be sure to include $PREFIX/lib (and $PREFIX/lib64 on 64-bit machines) in /etc/ld.so.conf. If you don't include $PREFIX/lib in /etc/ld.so.conf, you will see errors during the linking phase of the build. There are several places it shows up. The first one is often during the build of mblocks. It's not an mblock problem. It's a Debian/Ubuntu problem. Work around: * Make a copy from the current ld.so.conf file and save it in a temp folder: {{{ cp /etc/ld.so.conf /tmp/ld.so.conf }}} * Add /usr/local/lib path to it : {{{ echo /usr/local/lib >> /tmp/ld.so.conf }}} * If you installed Boost (version 1_37_0 for example) manually, then add its library path to the file: {{{ echo /opt/boost_1_37_0/lib >> /tmp/ld.so.conf }}} * Delete the original ld.so.conf file and put the modified file instead: {{{ sudo mv /tmp/ld.so.conf /etc/ld.so.conf }}} * Do ldconfig: {{{ sudo ldconfig }}}