首先來要說的是ettus官網給出的安裝指導手冊,相比我第一次嘗試安裝時候,指導手冊又多了很多新的內容,是針對不同平臺的,想必以後會更加完善。以下就是官網指導手冊地址。
http://files.ettus.com/manual/page_build_guide.html#build_get_source
另外想告訴大家的是ettus文件下載中心 可以找到已經更新的所有版本的uhd和gnuradio,具體存放在binaries/文件夾下。
好了,廢話不多說,進入正題。
在安裝gnuradio之前需要先安裝UHD。
第一步,安裝UHD所需要的依賴環境:
sudo apt-get install libboost-all-dev libusb-1.0-0-dev python-mako doxygen python-docutils cmake build-essential
第二步,獲取源代碼
git clone git://github.com/EttusResearch/uhd.git
更新子模塊
git submodule init
git submodule update
在運行git submodule init 後系統報錯:
fatal: Not a git repository (or any of the parent directories): .git
查了下原因,
1.fatal: Not a git repository (or any of the parent directories): .git
出現這個問題後,發現其實是在本系統下沒有找到一個.git這樣的目錄,所以在終端下使用git –help命令,顯示了其主要的一些命令參數,發現一個參數是init:
2.init Create an empty git repository or reinitialize an existing one
執行git init之後,然後再重新編譯,這個問題就被解決了。這裏要注意的一點是,和svn不一樣,svn不需要自己使用命令來創建自己的資源庫,而git需要自己使用命令手動創建,具體.git的位置和你在哪個目錄下執行命令有關。
我是直接在根目錄下安裝UHD,所以直接在超級終端輸入命令git init,執行後彈出的提示爲:
Initialized empty Git repository in /home/usrp/.git/
也就是在目錄/home/usrp/.git/下生成了空文件夾Git。
第三步,構建指令
1.用Cmake生成makefiles
cd <uhd-repo-path>/host
mkdir build
cd build
cmake ../
這裏需要指出的是,cmake在ubuntu系統中原本就有,如果不好用的話可以升級cmake版本後makefiles。指的是uhd源碼存放的文件夾,這個可以自己設置,但是爲了避免出錯,建議直接存放在根目錄下,這樣以來,直接cd /host就能夠執行makefiles的各項指令了。
另外,配置變量可以通過命令行傳輸到CMake。通用配置變量如下:
對於自定義安裝:
-DCMAKE_INSTALL_PREFIX=<install-path>
Lib64的安裝:
cmake -DLIB_SUFFIX=64
例:cmake -DCMAKE_INSTALL_PREFIX=/opt/uhd ../
2.編譯與安裝
make
make test
sudo make install
編譯安裝以後,需要進行一下環境的配置。
3.環境配置
這一步也非常重要,你要確定libuhd.so在不在LD_LIBRART_PATH中,如果不在的話需要手動添加到/etc/ld.so.conf中,然後運行下面的指令:
sudo ldconfig
如果這一步配置失敗,在調用uhd中的uhd_find_devices命令查找usrp設備時,終端裏也會報錯的……
以上這些就是我在歷經了無數次失敗後,總結出來的用源碼sources安裝UHD的經驗,希望對大家有幫助吧。
到此爲止,uhd就裝好了。
4.安裝gnuradio
gnuradio的安裝相比uhd,那真的是人性化太多太多了,直接一個命令就能搞定啦。
sudo apt-get install gnuradio
安裝完成以後,在終端輸入
gnuradio-companion
如果能夠跳出GRC的界面,並且在GRC的庫中能夠找到UHD,恭喜你,安裝成功啦!