在Ubuntu上安装GNU radio 在Windows系统上安装Ubuntu

  首先,我不得不说在Ubuntu上面安装GNU radio,对于初学者来说还真不是一件简单的事情。本人从最开始的一点点都不懂到最后熟悉、了解,成功安装GNU radio整整花了大概3天的时间。现在把自己在这个过程中学到的东西分享给大家,希望对大家有帮助。

  安装GNU radio一般有两种方法:1. 通过脚本文件自动安装;2. 自己下载相应的版本文件,自行编译安装。第一种方法属于自动安装,不能让我们具体了解安装的过程,不利于以后的学习。而且这种方法往往也不容易成功,需要等待很久的时间,受到很多因素的影响。我自己也试过这种方法,很难成功。因此,我在这里不推荐。我将会在下面具体介绍第二种方法。

  补充一句,关于Ubuntu系统的安装大家可以参考我的上一篇随笔 “在Windows系统上安装Ubuntu” ,里面的内容比较详细。

  还有就是根据你的Ubuntu系统版本选择合适的GNU radio版本安装也是非常的重要的,GNU radio的不同版本的下载链接 为: http://gnuradio.org/redmine/projects/gnuradio/files 。我安装的系统为Ubuntu12.04 LTS,最开始按照网上许多的教程推荐下载的GNU radio版本都是GNU radio-3.4.2.tar.gz。结果一直安装不成功,具体在哪一步报错,我将会在下面的安装步骤中说明。后来我更换了GNU radio的版本为3.5.1,按照同样的方法结果成功安装。

  1. 首先需要配置你的系统的安装环境。方法很简单,只需要打开终端,输入一段和你的系统相对应的一段代码就可以了。具体代码可以参考:http://gnuradio.org/redmine/projects/gnuradio/wiki/UbuntuInstall 。例如,我安装的是Ubuntu 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                                                                                                                                                                                                                                   (上面的过程如果是第一次进行的话,会花费很长的时间,请耐心等待。有些时候由于网速原因,一些组件无法一次性安装成功,需要根据提示,进一步安装!)
  2. 安装GNU radio建议首先安装UHD驱动,否则,在接下来的安装过中会报错。参考网址为: http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki/UHD_Linux 。我的步骤是:先在终端输入
    sudo apt-get install python libboost-all-dev libusb-1.0-0-dev                                                                                      然后在终端输入:
    sudo bash -c 'echo "deb http://files.ettus.com/binaries/uhd_stable/repo/uhd/ubuntu/`lsb_release -cs` `lsb_release -cs` main" > /etc/apt/sources.list.d/ettus.list'
    sudo apt-get update
    sudo apt-get install -t `lsb_release -cs` uhd                                                                                                      (一般在第一段代码输入后,终端会自动运行,但是常常会报错。例如会出现:

    libboost-all-dev : 依赖: libboost-dev 但是它将不会被安装

    依赖: libboost-date-time-dev 但是它将不会被安装

    依赖: libboost-filesystem-dev 但是它将不会被安装

    依赖: libboost-graph-dev 但是它将不会被安装

    …………………………………………………………

    …………………………………………………………

    此时,需要根据具体的提示在终端输入sudo apt-get install libboost-dev,
    sudo apt-get install libboost-date-time-dev,......把提示没有安装的全部安装,即可。这一步有的时候要安装十几个组件,需要大家耐心操作。)
  3. 把下载好的GNU radio源代码手动解压到主文件夹,打开终端(快捷键为Ctrl+Alt+T),进入主文件夹的你刚刚解压的GNU radio目录中,例如我就是进入gnuradio-3.5.1目录里面。依次执行: ./configure , make , make check , sudo make install 命令。正常情况下,在./configure命令完成后会出现gcell、gr-gcell、gr-shd、gr-comedi等错误。错误当然是越少越好了,如果第二部没有顺利完成的话,还会出现gr-uhd的错误。一般的,gr-shd的错误可以忽略,gcell、gr-gcell有的时候会出现,有的时候不会出现,也可以忽略,一般不影响接下来的安装。对于gr-comedi的错误,可以通过在终端输入:sudo apt-get install libcomedi0 libcomedi-dev来解决。网上有很多资料上说是输入sudo apt-get install libcomedi0,我验证下来,这种方式不能成功。
  4. make这一步也可能会有报错。我当时就一直报错,在网上找了很多很多的方法,都不能解决,最后把自己下载的GNU radio版本从3.4.2换成了3.5.1,重新尝试后,成功安装。这也就是我在最开始说选择正确的版本是如此重要的原因。
  5. 上面的命令输完后,如果一切顺利,可以在终端输入gnuradio-companion测试是否成功安装。一般会直接跳出GNU radio的操作窗口,证明你已经成功安装。有的时候也会跳出对话框:“Cannot import gnuradio. Are your PYTHONPATH and LD_LIBRARY_PATH set correctly?”,你可以执行如下命令:

    export PATH=$PATH:/usr/local/bin

    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

    export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig

    export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.6/site-packages 然后执行gnuradio-companion出现窗口,安装成功。