我正在尝试从 Docker 容器中运行 GNU Radio 流程图(无 GUI)。主机和 docker 映像上的操作系统都是 Ubuntu 18.04。我正在运行 GNU Radio v3.7.13.4 和 UHD v3.14.0.0。
在我可以运行的主机上grcc -e flowgraph.grc
,它按预期执行。当我尝试在 Docker 容器中运行它时,它会报告
Validation failed:
Block - blocks_tagged_stream_multiply_length_0 - Tagged Stream Multiply Length Tag(blocks_tagged_stream_multiply_length):
Source - out(0):
Port is not connected.
Error during file compilation.
在主机和 Docker 容器中uhd_find_devices
返回:
[INFO] [UHD] linux; GNU C++ version 7.5.0; Boost_106501; UHD_3.14.0.HEAD-0-g6875d061
--------------------------------------------------
-- UHD Device 0
--------------------------------------------------
Device Address:
serial: 30CF9B7
name: MyB210
product: B210
type: b200
所以看来我在主机和容器之间正确地共享 USB 设备(尽管我怀疑问题是与此有关的一些更精细的细节)。
我正在运行容器:
docker run -it -v /dev/bus/usb:/dev/bus/usb --privileged csradio:latest
有谁知道是什么问题?
编辑 1:添加了操作系统、GNU 和 UHD 版本详细信息。