GNU Radio TypeError:primitive_connect():执行简单图形时不兼容的函数参数

问题描述

尝试执行下图时,出现以下错误。任何想法可能导致这种情况?我使用的是 Ubuntu 20.10。

Simple GNU Radio graph

<<< 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,现在一切正常。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...