Ubuntu 14.04.5下GNURadio安装求助:脚本安装遇多类错误
我上个月刚在Ubuntu 14.04.5上完成GNURadio的源码安装,踩过你提到的所有坑——依赖找不到、VOLK函数报错、Python包识别不了,下面是亲测有效的步骤:
1. 先修复系统源(关键!)
Ubuntu 14.04已经停止官方支持,默认源会失效,先替换为归档源:
- 编辑源文件:
sudo nano /etc/apt/sources.list - 把所有内容替换为:
deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
- 保存后更新源:
sudo apt-get update && sudo apt-get upgrade -y
2. 手动安装所有依赖(解决libzmq、latex等问题)
build-gnuradio脚本可能漏装老系统的部分依赖,先手动补全:
sudo apt-get install -y git cmake g++ libboost-all-dev libgmp-dev swig python3-cheetah python3-lxml doxygen libfftw3-dev libsdl1.2-dev libgsl-dev libqwt-dev libqt4-dev python3-pyqt4 liblog4cpp5-dev libzmq3-dev python3-zmq python3-scipy python3-numpy python3-matplotlib libusb-1.0-0-dev libusb-dev libudev-dev # 若需要生成GNURadio文档则安装latex套件,不需要可跳过 sudo apt-get install -y texlive-full
注意:你提到的libzmq1.dev是包名错误,Ubuntu 14.04中对应的正确包名是libzmq3-dev,上面的命令已包含。
3. 单独编译安装VOLK(解决函数缺失问题)
VOLK是GNURadio的核心依赖,脚本自带的VOLK版本可能和14.04的系统架构不兼容,单独编译安装可解决volk_32f_8u_polarbutterfly_32f()这类函数报错:
git clone https://github.com/gnuradio/volk.git cd volk mkdir build && cd build cmake -DCMAKE_INSTALL_PREFIX=/usr/local .. make -j$(nproc) sudo make install sudo ldconfig
4. 修改build-gnuradio脚本参数并运行
下载脚本后不要直接运行,先调整参数跳过不必要的模块(比如文档编译,避免latex相关报错):
git clone https://github.com/gnuradio/build-gnuradio.git cd build-gnuradio # 编辑脚本,添加禁用文档编译的参数 nano build-gnuradio # 找到类似`cmake ../gnuradio`的行,修改为:cmake ../gnuradio -DENABLE_DOXYGEN=OFF ...
然后运行脚本:
./build-gnuradio
如果运行时遇到Python路径相关问题,先临时设置路径:
export PYTHONPATH=/usr/local/lib/python3.4/dist-packages:$PYTHONPATH
5. 验证安装并解决"无法定位python-gnuradio包"问题
安装完成后,启动GNURadio Companion验证:
gnuradio-companion
如果弹出界面说明安装成功。若提示找不到python-gnuradio,是因为源码安装的包不在系统默认Python路径中,需要永久添加:
- 编辑bash配置文件:
nano ~/.bashrc - 在末尾添加:
export PYTHONPATH=/usr/local/lib/python3.4/dist-packages:$PYTHONPATH export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
- 让配置生效:
source ~/.bashrc
内容的提问来源于stack exchange,提问作者Cindy

