在Ubuntu上安裝GNU radio

  首先,我不得不說在Ubuntu上面安裝GNU radio,對於初學者來講還真不是一件簡單的事情。本人從最開始的一點點都不懂到最後熟悉、瞭解,成功安裝GNU radio整整花了大概3天的時間。如今把本身在這個過程當中學到的東西分享給你們,但願對你們有幫助。html

  安裝GNU radio通常有兩種方法:1. 經過腳本文件自動安裝;2. 本身下載相應的版本文件,自行編譯安裝。第一種方法屬於自動安裝,不能讓咱們具體瞭解安裝的過程,不利於之後的學習。並且這種方法每每也不容易成功,須要等待好久的時間,受到不少因素的影響。我本身也試過這種方法,很難成功。所以,我在這裏不推薦。我將會在下面具體介紹第二種方法。python

  補充一句,關於Ubuntu系統的安裝你們能夠參考個人上一篇隨筆 「在Windows系統上安裝Ubuntu」 ,裏面的內容比較詳細。git

  還有就是根據你的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,按照一樣的方法結果成功安裝。ubuntu

  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 可是它將不會被安裝bash

    依賴: libboost-filesystem-dev 可是它將不會被安裝
    依賴: libboost-graph-dev 可是它將不會被安裝
    …………………………………………………………
    …………………………………………………………app

    此時,須要根據具體的提示在終端輸入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/binpost

    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出現窗口,安裝成功。
相關文章
相關標籤/搜索