Ubuntu 16.04 源碼編譯安裝 uhd & gnuradio

環境介紹

Name Version
Ubuntu 16.04
uhd 3.15.0.0(UHD-3.15.LTS)
gnuradio maint3.7

UHD安裝

1 安裝依賴

sudo apt-get install libboost-all-dev libusb-1.0-0-dev build-essential doxygen \
python3-mako python3-docutils  python3-numpy python3-dev

ubuntu package manager 的 cmake 版本太低(好像已經不維護了),所以我們需要從源碼編譯安裝 cmake。

cd ~/Downloads #隨便哪個目錄
git clone https://github.com/Kitware/CMake.git
cd CMake 
mkdir build && cd build
../bootstrap && make && make test && sudo make install

2 編譯

上面的依賴都安裝完了之後,我們可以開始編譯UHD了。

cd ~/Downloads
git clone https://github.com/EttusResearch/uhd.git
cd uhd
git branch -a # or `git tag -l`
# Example: For UHD-3.15.LTS
git checkout UHD-3.15.LTS
cd host && mkdir build
cd build
cmake ../

由於每個人系統的具體情況都不相同,上述依賴不一定完整。具體情況根據你cmake的結果來定。
cmake components

上圖LibUHD - Pyhton API 沒能開啓的原因是我最開始參考官網安裝引導時, 少裝了python3-dev(我理解是python3的開發環境依賴) 和python3-numpy依賴。裝完你缺的依賴後再次cmake。

rm * -rf
cmake ../
# 確保你沒有usrp設備連接在電腦上
make && make test 
sudo make install
sudo ldconfig

添加動態鏈接庫搜索路徑, 在$HOME/.bashrc最後添加

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

3 測試安裝結果

sudo uhd_find_device
# download UHD-FPGA Images
sudo uhd_images_downloader

鏡像下載過慢,掛代理解決, 或者自己手動去找,只要確定在目錄/usr/local/share/uhd/images/下有對應文件就行。

4 配置 USB

讓普通用戶可以獲取usb設備,主要用於靠usb連接到主機的usrp設備。

cd $HOME/Downloads/uhd/host/utils
sudo cp uhd-usrp.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger

gnuradio安裝

1 安裝依賴

# 有些依賴上面uhd已經裝過了
sudo apt-get install swig2.0 libfftw3-dev libcppunit-dev libgsl-dev alsa-base\
libasound2 libasound2-dev
#開啓 gnuradio companion
sudo apt-get install python-numpy python-cheetah python-lxml
# 開啓 WX GUI
sudo apt-get install python-wxgtk3.0 python-numpy
# 開啓 QT GUI
sudo apt-get install python-qt4 python-qwt5-qt4 libqt4-opengl-dev libqwt5-qt4-dev\
libfontconfig1-dev libxrender-dev libxi-dev
# 開啓 video sdl
sudo apt-get install libsdl1.2-dev
# 開啓 Polyphase Filter Bank examples
sudo apt-get install python-scipy python-matplotlib python-tk

sudo apt-get install sdcc
sudo apt-get install guile-2.0-*
sudo apt-get install ccache
sudo apt-get install python-sip python-sip-dev
sudo apt-get install python-sphinx
sudo apt-get install libcomedi-dev libzmq-dev

2 編譯

cd ~/Downloads
git clone https://github.com/gnuradio/gnuradio.git
cd gnuradio
git checkout maint-3.7
git submodule update --init --recursive
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../

gnuradio components
所有組件全部enable,遇到沒有enable的檢查依賴。

make -j $(nproc --all)
make test
sudo make install
sudo ldconfig

3 測試安裝結果

gnuradio-config --version
gnuradio-config --prefix
gnuradio-config --enabled-components

然後就是運行gnuradio了

gnuradio-companion
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章