You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GNU Radio缺失Osmocom模块,编译安装失败求助

问题描述
  • 跟随HackRF开发者的YouTube教程使用GNU Radio时,发现Osmocom及WX模块已不存在
  • 尝试从源码编译gr-osmosdr时,遇到CMake错误:

CMake Error at /usr/lib/cmake/pybind11/pybind11Tools.cmake:165 (add_library):
Target "osmosdr_python" links to target "sndfile::sndfile" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?
Call Stack (most recent call first):
/usr/lib/x86_64-linux-gnu/cmake/gnuradio/GrPybind.cmake:261 (pybind11_add_module)
python/bindings/CMakeLists.txt:28 (GR_PYBIND_MAKE_OOT)

CMake Error at lib/CMakeLists.txt:51 (add_library):
Target "gnuradio-osmosdr" links to target "sndfile::sndfile" but the target
was not found. Perhaps a find_package() call is missing for an IMPORTED
target, or an ALIAS target is missing?

  • 寻求Osmocom的替代方案,提到Soapy HackRF源功能较基础,不理解GNU Radio为何移除常用功能

解决思路

一、先修复gr-osmosdr编译错误

这个CMake错误是缺少libsndfile的开发依赖包,直接安装对应系统的包即可:

  • Debian/Ubuntu系:sudo apt install libsndfile1-dev
  • Fedora/RHEL系:sudo dnf install libsndfile-devel
    安装完成后,重新执行cmake、make、make install流程,即可解决该依赖问题。

二、Osmocom模块的替代方案与版本说明

  1. 官方替代路径
    • 若使用GNU Radio 3.10+版本,Osmocom模块的功能已拆分整合:
      • HackRF接入可使用SoapySDR模块配合Soapy HackRF驱动,基础功能足以完成多数收发任务,复杂功能可通过组合GNU Radio其他信号处理模块实现
      • 原Osmocom模块中的通用SDR功能,部分迁移到了gr-soapy模块中
  2. 匹配教程环境的方案
    若需要完全对齐教程内容,可安装GNU Radio 3.8版本,该版本仍保留Osmocom和WX模块,多数Linux发行版软件源或pybombs工具都支持安装指定版本。
  3. 模块移除的逻辑说明
    GNU Radio的模块迭代是为了架构更清晰:将硬件驱动拆分到专门的适配模块(如SoapySDR生态),核心模块专注于信号处理,利于长期维护和扩展,并非随意移除功能,只是进行了功能迁移与重构。

内容的提问来源于stack exchange,提问作者Eddiea6987

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 00:27:20