Ubuntu 18.04 源码编译安装UHD和GNU Radio3.9

 1 安装UHD

1.1 首先进行更新

sudo apt-get update

1.2 安装依赖

我是18.04的系统,以下是对应Ubuntu 18.04的安装依赖。其他系统版本可以去官网链接中找到。 

sudo apt-get -y install git swig cmake doxygen build-essential libboost-all-dev libtool libusb-1.0-0 libusb-1.0-0-dev libudev-dev libncurses5-dev libfftw3-bin libfftw3-dev libfftw3-doc libcppunit-1.14-0 libcppunit-dev libcppunit-doc ncurses-bin cpufrequtils python-numpy python-numpy-doc python-numpy-dbg python-scipy python-docutils qt4-bin-dbg qt4-default qt4-doc libqt4-dev libqt4-dev-bin python-qt4 python-qt4-dbg python-qt4-dev python-qt4-doc python-qt4-doc libqwt6abi1 libfftw3-bin libfftw3-dev libfftw3-doc ncurses-bin libncurses5 libncurses5-dev libncurses5-dbg libfontconfig1-dev libxrender-dev libpulse-dev swig g++ automake autoconf libtool python-dev libfftw3-dev libcppunit-dev libboost-all-dev libusb-dev libusb-1.0-0-dev fort77 libsdl1.2-dev python-wxgtk3.0 git libqt4-dev python-numpy ccache python-opengl libgsl-dev python-cheetah python-mako python-lxml doxygen qt4-default qt4-dev-tools libusb-1.0-0-dev libqwtplot3d-qt5-dev pyqt4-dev-tools python-qwt5-qt4 cmake git wget libxi-dev gtk2-engines-pixbuf r-base-dev python-tk liborc-0.4-0 liborc-0.4-dev libasound2-dev python-gtk2 libzmq3-dev libzmq5 python-requests python-sphinx libcomedi-dev python-zmq libqwt-dev libqwt6abi1 python-six libgps-dev libgps23 gpsd gpsd-clients python-gps python-setuptools

1.3 打开~目录,新建一个workarea文件夹,用于存放UHD安装文件。

cd $HOME
mkdir workarea
cd workarea

新建一个UHD文件夹,用于存放和安装UHD。

mkdir uhd

1.4 下载源码

我这里不使用git clone方式安装(个人经过实践发现,这种自己下载的方式更便捷),而是自己去官网下在压缩包,这样下载速度快,而且可以根据需要下载对应的UHD版本。

压缩包下载官网链接:

https://files.ettus.com/binaries/uhd_stable/https://files.ettus.com/binaries/uhd_stable/icon-default.png?t=N7T8https://files.ettus.com/binaries/uhd_stable/

将下载好的UHD压缩包复制到工作目录下。这里的操作在下载目录下打开新终端来完成。

cp uhd_4.1.0.4-release.tar.gz ~/workarea/uhd/

回到workarea的目录,打开UHD文件夹,ls可以查看压缩包是否拷贝过来了。然后解压拷贝过来的压缩包。

tar -zxvf uhd_4.1.0.4-release.tar.gz

在uhd文件夹中,将压缩包进行解压,可以得到host images tools三个文件夹,ls如下所示。

1.5 编译

打开host文件夹,新建build文件夹,打开build文件夹,准备编译。

cd host
mkdir build
cd build

执行 CMake

cmake ..

cmake完成之后,确保如上图所示,没有错误出现,有错误需要解决.

cmake成功之后,下面开始编译,编译等待的时间比较长(需要慢慢等待,直到100%)

make

接下来进行编译的验证

make test

确保make test通过后,进行安装。

1.6 安装UHD

sudo make install

安装完成后,配置环境变量。

sudo ldconfig

使用文本编辑器打开以下文件,这里我用的是gedit

gedit $HOME/.bashrc

在文件的最后面添加以下语句

export LD_LIBRARY_PATH=/usr/local/lib

1.7 安装测试

关闭终端,重新开新的终端,输入下面的命令,测试UHD是否安装成功。

uhd_find_devices 

因为我没有连接USRP设备,所以显示No UHD Devices Found,但可以打印UHD版本信息,和安装的版本一致,为UHD_4.1.0.4

至此,UHD安装完成。

参考:

https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linuxhttps://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linuxicon-default.png?t=N7T8https://kb.ettus.com/Building_and_Installing_the_USRP_Open-Source_Toolchain_(UHD_and_GNU_Radio)_on_Linux

https://www.cnblogs.com/jsdy/p/11420189.htmlhttps://www.cnblogs.com/jsdy/p/11420189.htmlicon-default.png?t=N7T8https://www.cnblogs.com/jsdy/p/11420189.html

https://blog.csdn.net/weixin_41111187/article/details/124986143https://blog.csdn.net/weixin_41111187/article/details/124986143icon-default.png?t=N7T8https://blog.csdn.net/weixin_41111187/article/details/124986143

2 安装GNU Radio3.9

2.1 准备工作

参照官方的要求

UbuntuInstall - GNU Radiohttps://wiki.gnuradio.org/index.php?title=UbuntuInstall#Focal_Fossa_.2820.04.29_through_Impish_Indri_.2821.10.29icon-default.png?t=N7T8https://wiki.gnuradio.org/index.php?title=UbuntuInstall#Focal_Fossa_.2820.04.29_through_Impish_Indri_.2821.10.29我们的系统是Ubuntu 18.04 ,

若安装GNU Radio 3.8.x ,需要安装以下依赖

sudo apt install git cmake g++ libboost-all-dev libgmp-dev swig python3-numpy \
python3-mako python3-sphinx python3-lxml doxygen libfftw3-dev \
libsdl1.2-dev libgsl-dev libqwt-qt5-dev libqt5opengl5-dev python3-pyqt5 \
liblog4cpp5-dev libzmq3-dev python3-yaml python3-click python3-click-plugins \
python3-zmq python3-scipy

若安装GNU Radio 3.9,需要的依赖

sudo apt install python3-matplotlib libsndfile1-dev

sudo apt install pybind11-dev python3-matplotlib

若想在18.04安装3.9及以上版本,需要注意官网的提示:

Note: GNU Radio 3.9 and up will build from source on Ubuntu 18 only if pybind11 is installed from source as well. Also, pybind11 packages are on the gnuradio-master PPA, so another option is to install pybind from the GR PPA then build gnuradio from source. GNU Radio 3.9 additionally requires:

sudo apt install python3-matplotlib libsndfile1-dev

修改默认python为python3

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

准备工作可以参考以下文章

超详细 ubuntu18.04 安装 UHD 和 GNURadio_安装uhd_选择和努力的博客-CSDN博客1.版本号系统环境:ubuntu18.04UHD:v3.14.1.0GNU radio: v3.92.参考链接在参考本教程之前,建议浏览下列参考链接,对安装过程能初步判断对与错,也能明白其中哪些步骤比较关键(1)ettus官方教程:Building and Installing the USRP Open-Source Toolchain (UHD and GNU Radio) on Linux(2)gnuradio官方教程:InstallingGR(3)参考博客:ubuntu18.04安https://blog.csdn.net/weixin_41111187/article/details/124986143icon-default.png?t=N7T8https://blog.csdn.net/weixin_41111187/article/details/124986143根据上面的参考文章,安装volk。

cd workarea/
git clone --recursive https://github.com/gnuradio/volk.git
cd volk
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DPYTHON_EXECUTABLE=/usr/bin/python3 ../
make
make test
sudo make install
sudo ldconfig

2.2 编译

准备工作完成之后,可以开始进行安装,下载源码的方式同样也有两种,一种是直接git clone,另一种是自行下载和解压。

这里给出下载链接,不想用git clone方式的同学,可以在此下载所需要的版本,然后解压安装。

Index of /releases/gnuradio/icon-default.png?t=N7T8https://www.gnuradio.org/releases/gnuradio/本次的GNU Radio安装使用git clone方式。

 使用git clone的方式要确保网络通畅,这里安装的是3.9版本,因此在clone之后需要checkout一下3.9版本。按顺序输入以下指令。

cd workarea/
git clone --recursive https://github.com/gnuradio/gnuradio
cd gnuradio
git checkout maint-3.9
mkdir build
cd build

输入以下指令执行cmake

cmake ../ 

cmake成功之后,进行编译。

make -j16

-j16表示使用16核(具体要取决于自己的CPU核数量,可以按需更改)进行编译,这样会快很多。

 编译完成之后,进行编译测试。

make test

显示100%测试成功,然后可以继续下一步。注意:这里的3.9.8版本测试项有248项,如果测试项只有30项,说明前面的步骤有误,需要重新执行下载和编译步骤。

2.3 安装

执行安装

sudo make install

配置环境变量

echo 'export PYTHONPATH=/usr/local/lib/python3/dist-packages:usr/local/lib/python2.7/site-packages:$PYTHONPATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
echo 'export PYTHONPATH=/usr/local/lib/python3/dist-packages:usr/local/lib/python2.7/site-packages:$PYTHONPATH' >> ~/.profile
echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.profile
sudo ldconfig

检查版本

gnuradio-config-info --version

 开启GNU Radio软件

sudo gnuradio-companion

 可以自动打开默认的软件界面,如下所示:

在软件中查看版本信息

以下是详细的官网安装步骤,可仔细阅读与参考。

LinuxInstall - GNU Radiohttps://wiki.gnuradio.org/index.php?title=LinuxInstallicon-default.png?t=N7T8https://wiki.gnuradio.org/index.php?title=LinuxInstall

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值