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