问题描述
尝试执行下图时,出现以下错误。任何想法可能导致这种情况?我使用的是 Ubuntu 20.10。
<<< Welcome to GNU Radio Companion 3.9.0.0-git >>>
Block paths:
/usr/share/gnuradio/grc/blocks
Loading: "/home/gnuradiouser/Dev/SDR/Lesson 1.grc"
>>> Done
Generating: '/home/gnuradiouser/Dev/SDR/Lesson_1.py'
Executing: /usr/bin/python3 -u /home/gnuradiouser/Dev/SDR/Lesson_1.py
Warning: Failed to XInitThreads()
gr-osmosdr 0.2.0.0 (0.2.0) gnuradio 3.8.1.0
built-in source types: file fcd rtl rtl_tcp uhd hackrf bladerf rfspace airspy airspyhf soapy redpitaya freesrp
[INFO] [UHD] linux; GNU C++ version 10.2.0; Boost_107100; UHD_3.15.0.0-3build2
Using HackRF One with firmware 2018.01.1
Traceback (most recent call last):
File "/home/gnuradiouser/Dev/SDR/Lesson_1.py",line 193,in <module>
main()
File "/home/gnuradiouser/Dev/SDR/Lesson_1.py",line 169,in main
tb = top_block_cls()
File "/home/gnuradiouser/Dev/SDR/Lesson_1.py",line 142,in __init__
self.connect((self.osmosdr_source_0,0),(self.qtgui_freq_sink_x_0,0))
File "/usr/lib/python3/dist-packages/gnuradio/gr/hier_block2.py",line 37,in wrapped
func(self,src,src_port,dst,dst_port)
File "/usr/lib/python3/dist-packages/gnuradio/gr/hier_block2.py",line 100,in connect
self.primitive_connect(*args)
TypeError: primitive_connect(): incompatible function arguments. The following argument types are supported:
1. (self: gnuradio.gr.gr_python.hier_block2_pb,block: gnuradio.gr.gr_python.basic_block) -> None
2. (self: gnuradio.gr.gr_python.hier_block2_pb,src: gnuradio.gr.gr_python.basic_block,src_port: int,dst: gnuradio.gr.gr_python.basic_block,dst_port: int) -> None
Invoked with: <gnuradio.gr.gr_python.top_block_pb object at 0x7fac59391970>,<Swig Object of type 'gr::basic_block_sptr *' at 0x7fac575a4990>,<gnuradio.gr.gr_python.basic_block object at 0x7fac5953a1f0>,0
swig/python detected a memory leak of type 'gr::basic_block_sptr *',no destructor found.
>>> Done (return code 1)
我是 GNU Radio 的新手,所以不确定从哪里开始解决这个问题。我试过插入信号发生器而不是 osmocom
源,并执行图形,所以我猜测 osmocom
对象中存在错误参数或库的错误版本?
我还尝试安装早期版本的 GNU Radio(3.7 和 3.8),但无法在 Ubuntu 20.10 上安装。
解决方法
通过卸载 GNU Radio 并删除我遇到的安装说明之一中的“主”ppa 存储库 sudo add-apt-repository ppa:gnuradio/gnuradio-master
,设法解决了这个问题。
之后,我只是使用标准 20.10 存储库安装了 GNU Radio,现在一切正常。