首页 > 解决方案 > GNU Radio WSL Ubuntu 20.04 ImportError: libQt5Core

问题描述

全部,

在安装适用于 Linux (WSL) 和 Ubuntu 20.04 的 Windows 10 子系统后,我创建了一个依赖于 QT 的流程图。

我安装 WSL 和 GNU 的示例是: https ://wiki.analog.com/resources/tools-software/linux-software/gnuradio

我的 Python 版本是 3.8.2,我的 GRC 版本是 3.8.1.0

从我安装everthing的同一个终端,我终于启动了GRC gnuradio-companion

我构建了一个流程图,并在运行它时遇到了一个错误。构建流程图后我收到的错误是:

Traceback (most recent call last):
  File "/home/jameshayek/GNURadio-Projects/FMReceiver.py", line 38, in <module>
    from gnuradio.qtgui import Range, RangeWidget
  File "/usr/lib/python3/dist-packages/gnuradio/qtgui/__init__.py", line 36, in <module>
    from .qtgui_swig import *
  File "/usr/lib/python3/dist-packages/gnuradio/qtgui/qtgui_swig.py", line 13, in <module>
    from . import _qtgui_swig
ImportError: libQt5Core.so.5: cannot open shared object file: No such file or directory

我想指出,在安装过程中,我确实包括 sudo apt-get install qt5-default

回到终端后,我尝试了findlibQt5Core find /usr -name libQt5Core但没有返回。我不确定为什么...

我包括gnuradio-dev以及build-essential

我还通过首先使用以下方法找到它来设置我的 PYTHONPATH:

find /usr -name gnuradio | grep "packages"

哪个返回/usr/lib/python3/dist-packages/gnuradio

然后我设置 PYTHONPATH:

export PYTHONPATH=$PYTHONPATH:/usr/lib/python3/dist-packages/gnuradio

在同一个终端中,我能够echo $PYTHONPATH看到:

:/usr/lib/python3/dist-packages/gnuradio

在新终端中,相同的命令不会返回任何内容,因此我修改了~./bashrc文件以包含上述路径。现在所有新的终端都喷涌而出/usr/lib/python3/dist-packages/gnuradio

认为这是 PATH 的问题,我认为问题已经解决。因此,在关闭 GRC 和所有 Ubuntu 终端后,我重新启动了一个新终端来调用 GRC。

同样的错误。我所做的没有任何帮助。

有什么建议吗?

标签: pythonubuntuwindows-subsystem-for-linuxgnuradiognuradio-companion

解决方案


看起来像WSL 的问题 #3023。确保您已libqt5core5a在系统上安装软件包,然后尝试应用strip问题中描述的解决方法。

sudo apt-get install libqt5core5a
sudo strip --remove-section=.note.ABI-tag /lib/x86_64-linux-gnu/libQt5Core.so.5

回到终端后,我试图找到 libQt5Core find /usr -name libQt5Core 但没有返回。

为了找到文件,您需要使用正则表达式或指定完整的文件名。

$ find /usr -name "libQt5Core.so*"
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5

$ find /usr -name libQt5Core.so.5
/usr/lib/x86_64-linux-gnu/libQt5Core.so.5

推荐阅读