Python GnuRadio无法在带有HackRF One的OS X 10.9.4上运行
我刚从Kickstarter那里拿到了我的ne HackRF。在Windows上与SDR配合使用效果很好,因此产品还可以。 为了真正使用它,我尝试让GNURadio在我的Mac上工作,遵循以下官方教程: 但是,在编译失败后运行gnuradio:Python GnuRadio无法在带有HackRF One的OS X 10.9.4上运行,python,macos,gtk,gnuradio,Python,Macos,Gtk,Gnuradio,我刚从Kickstarter那里拿到了我的ne HackRF。在Windows上与SDR配合使用效果很好,因此产品还可以。 为了真正使用它,我尝试让GNURadio在我的Mac上工作,遵循以下官方教程: 但是,在编译失败后运行gnuradio: Bella:~ feejai$ gnuradio-companion /usr/local/bin/gnuradio-companion:70: GtkWarning: Das Symbol »gnuradio-grc« konnte nicht ge
Bella:~ feejai$ gnuradio-companion
/usr/local/bin/gnuradio-companion:70: GtkWarning: Das Symbol »gnuradio-grc« konnte
nicht gefunden werden, ebenso wenig wie das Thema »hicolor«. Möglicherweise müssen Sie
es installieren.
Sie können sich eine Kopie herunterladen unter:
http://icon-theme.freedesktop.org/releases
try: gtk.window_set_default_icon(gtk.IconTheme().load_icon('gnuradio-grc', 256, 0))
Warning: Block with key "analog_agc2_xx" already exists.
Ignoring: /usr/local/Cellar/gnuradio/3.6.5.1/share/gnuradio/grc/blocks/analog_agc2_xx.xml
Warning: Block with key "analog_agc_xx" already exists.
Ignoring: /usr/local/Cellar/gnuradio/3.6.5.1/share/gnuradio/grc/blocks/analog_agc_xx.xml
Warning: Block with key "analog_cpfsk_bc" already exists.
Ignoring: /usr/local/Cellar/gnuradio/3.6.5.1/share/gnuradio/grc/blocks/analog_cpfsk_bc.xml
Warning: Block with key "analog_ctcss_squelch_ff" already exists.
Ignoring: /usr/local/Cellar/gnuradio/3.6.5.1/share/gnuradio/grc/blocks/analog_ctcss_squelch_ff.xml
Warning: Block with key "analog_dpll_bb" already exists.
....
Fatal Python error: PyThreadState_Get: no current thread
Abort trap: 6
我甚至不知道为什么第一条错误信息是德语,我的操作系统和所有环境变量都设置为英语
这可能是python和xquartz的一个问题,他们在谷歌搜索gtk+时看到了类似的错误消息,但还没有解决方案
如果GNU Radio是根据不同于运行时使用的Python版本编译的,则会发生此错误
在我自己的例子中,我从源代码处编译GNU Radio,并从MacPorts安装Python;解决方案是在配置GNU无线电时在cmake
命令中包含选项-DPYTHON\u LIBRARY=/opt/local/lib/libpython2.7.dylib
(请注意,/opt/local/lib
部分特定于MacPorts Python)。我找到了这个建议
我不能肯定这个特定的改变会起作用,因为你可能会有一些其他的不匹配,但我希望这有助于弄清楚到底发生了什么
(如果你愿意尝试使用MacPorts而不是自制软件,我可以说HackRF在gnuradio和gr osmosdr软件包的“开箱即用”下工作得很好。)
如果GNU Radio是根据不同于运行时使用的Python版本编译的,则会发生此错误
在我自己的例子中,我从源代码处编译GNU Radio,并从MacPorts安装Python;解决方案是在配置GNU无线电时在cmake
命令中包含选项-DPYTHON\u LIBRARY=/opt/local/lib/libpython2.7.dylib
(请注意,/opt/local/lib
部分特定于MacPorts Python)。我找到了这个建议
我不能肯定这个特定的改变会起作用,因为你可能会有一些其他的不匹配,但我希望这有助于弄清楚到底发生了什么
(如果你愿意尝试使用MacPorts而不是自制软件,我可以说HackRF“开箱即用”的gnuradio和gr osmosdr包工作得很好。)由于我是新手,我无法“投票”Kevin的回答,但这就是问题的要点:Python可执行文件和库链接不匹配
注:
- 如果你还没有订阅GNU无线电用户讨论列表,你会发现它是解决这些问题的一个很好的资源
- MacPorts提供了一个“hackrf”端口,我与他们的GIT主机保持同步。您可以经常使用它,而不是手动从源代码安装(“sudo-port-install-hackrf”)。MacPorts还提供GNU Radio和UHD(“sudo port install gnuradio”、“sudo port install UHD”)以及devel版本的发行版,我还更新了它们各自的GIT主分支(“sudo port install gnuradio-devel”、“sudo port install UHD-devel”)
- 如果你还没有订阅GNU无线电用户讨论列表,你会发现它是解决这些问题的一个很好的资源
- MacPorts提供了一个“hackrf”端口,我与他们的GIT主机保持同步。您可以经常使用它,而不是手动从源代码安装(“sudo-port-install-hackrf”)。MacPorts还提供GNU Radio和UHD(“sudo port install gnuradio”、“sudo port install UHD”)以及devel版本的发行版,我还更新了它们各自的GIT主分支(“sudo port install gnuradio-devel”、“sudo port install UHD-devel”)
cmake-DPYTHON\u LIBRARY=/usr/local/ceral/python/2.7.11/Frameworks/python.framework/Versions/2.7/lib/libpython2.7.dylib../
(我用自制软件安装了python)。非常感谢。这对我有用。我使用的命令是:cmake-DPYTHON\u LIBRARY=/usr/local/ceral/python/2.7.11/Frameworks/python.framework/Versions/2.7/lib/libpython2.7.dylib../
(我用自制软件安装了python)。
Fatal Python error: PyThreadState_Get: no current thread