wiki:Documentation/dSDR/GNURadio/Installation32Ubuntu

Version 1 (modified by seskar, 15 years ago) ( diff )

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
    
Note: See TracWiki for help on using the wiki.