1.前言
为了修改RML2016.10a数据集的一些参数,需要自己配置gnuradio的开发环境,尤其是gr-mapper和gr-mediatools的两个插件很麻烦。之前很多人写过了具体怎么配置了,这里记一个anaconda环境下环境配置的方法(但是gr-mapper和gr-mediatools试了好几次在conda下面也装不上),网上其他大佬的方法也写在后面
2.主要流程
2.1 安装虚拟机
这步略过吧,VMware创建虚拟机一路默认设置创建,根据自己机器改一下硬件设置就好,没有镜像的可以去下面的网址下需要的版本(这篇文章用的是18.04,之前试过20.04但是记不得具体有哪些坑了)NJU Mirrorhttps://mirror.nju.edu.cn/ubuntu-releases/Index of /ubuntu-releases/
https://mirrors.bupt.edu.cn/ubuntu-releases/
2.2 安装conda
Index of /https://repo.anaconda.com/archive/从上面卡片下载Anaconda3,随便放一个目录就可以,下面批处理命令会在home下自动生成目录anaconda3
安装的时候版本不一样的话替换下文件名
sudo bash Anaconda3-5.3.1-Linux-x86_64.sh
注意conda要重启后才生效,不想重启的话执行下面的命令,不执行的话重启一下conda一样生效
sudo gedit /etc/profile
#在打开的文本最后一行加上
export PATH=~/anaconda3/bin:$PATH
#保存退出后在命令行里让刚才的改动生效
source ~/.bashrc
2.2.1 创建conda环境
conda create -n "conda环境的名字" python="需要的版本号"
conda activate "conda环境的名字" #切换到刚才的环境
2.3 安装GNURadio
方法1. conda直接安装gnuradio
因为安装了conda,如果不需要gr-mapper这些插件的话,直接用conda安装gnuradio就行。(但是这样安装之后gr-mapper这个是装不上了,因为gnuradio安装时候有一个依赖qt5需要cmake版本大于3.1.0,cmake gr-mapper的时候又要求cmake版本号小于2.8.12)
(conda装包的话可以去这里搜一下)https://anaconda.org/conda-forge/gnuradiohttps://anaconda.org/conda-forge/gnuradio
conda install -c conda-forge gnuradio
(需要GNURadio流程框图的话可以安装snap store直接GUI安装GNURadio,snap store安装方法放在最底下了)
方法2. 见大标题3,跟其他博主一样
3. 安装gnuradio gr-mapper gr-mediatools,跟其他博主的方法一样
这步不能用conda了,先去github上把需要的包下下来
gr-mapper:
https://github.com/osh/gr-mediatoolshttps://github.com/osh/gr-mediatools
在gr-mediatools-master解压包的lib目录下找到mediatools_audiosource_impl.cc文件,感谢博主解决ModuleNotFoundError: No module named ‘gnuradio‘_QAQIknow的博客-CSDN博客
和博主
gnuradio调试代码中出现的错误_universe_1207的博客-CSDN博客
找到
d_frame = avcodec_alloc_frame();
替换为
d_frame = avcodec_alloc_frame();
然后就开始复制粘贴:
#以下按井号区分成段复制就行
#安装需要的一些插件
sudo apt-get install python
sudo apt-get install python-pip
sudo apt-get install cmake #这个地方有点迷,有几次试的时候要求指定版本低于2.8.12,但是照这几条这样写也能安装成功
sudo apt-get install libavcodec-dev libavformat-dev
sudo apt install swig
#安装gnuradio
sudo apt-get update
sudo apt-get install gnuradio
#安装gr-mapper
cd gr-mapper-master
mkdir build
cd build
cmake ../
make -k #keep,遇到错误继续进行
sudo make install
sudo ldconfig #最重要的一步,不执行的话调用会找不到包
#安装gr-mediatools
cd gr-mediatools-master
mkdir build
cd build
cmake ../
make -k #keep,遇到错误继续进行
sudo make install
sudo ldconfig #最重要的一步,不执行的话调用会找不到包
到这就结束了,用import gnuradio和import mapper测试一下就好了,报错找不到包的话看看sudo Inconfig有没有执行,没有的话删掉build文件夹重新来一遍就好了。
PS:安装的时候可能会报错有占用:
E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable)
E: Unable to acquire the dpkg frontend lock (/var/lib/dpkg/lock-frontend), is an other process using it?
直接删掉这俩占用的文件就行。感谢E: Could not get lock /var/lib/dpkg/lock-frontend - open (11: Resource temporarly unavailable)_dxm809的博客-CSDN博客
sudo rm /var/lib/dpkg/lock-frontend
sudo rm /var/lib/dpkg/lock
4. 一些有用的小tips
4.1 snap store
snap store:可以通过GUI傻瓜式安装很多软件的插件,pycharm,vscode,gnuradio流程图都可以直接在这上面找再安装。
#安装snap store
sudo apt update
sudo apt install -y snapd
sudo snap install snap-store
4.2 需要安装指定版本的cmake的话
wget https://cmake.org/files/v2.8/cmake-2.8.12.tar.gz
tar zxvf cmake-2.8.12.tar.gz
cd cmake-2.8.12
./configure
make
sudo make install
cmake --version
5 结尾
新人第一次写文章,肯定存在很多错误欢迎指正。感谢之前几位大佬的教程参考:
解决ModuleNotFoundError: No module named ‘gnuradio‘_QAQIknow的博客-CSDN博客