全部
在安装了适用于Linux的Windows 10子系统(WSL)和Ubuntu 20.04之后,我创建了一个基于QT的流程图。
我遵循的安装WSL和GNU的示例是: https://wiki.analog.com/resources/tools-software/linux-software/gnuradio
我的Python版本是3.8.2,而我的GRC版本是3.8.1.0
在安装了所有设备的同一终端上,我终于启动了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
回到终端后,我尝试find
libQt5Core
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。
相同错误。我没有做任何帮助。
有什么建议吗?
答案 0 :(得分:2)
看起来像WSL's issue #3023。确保已在系统上安装libqt5core5a
软件包,然后按照问题中的说明尝试应用strip
解决方法。
sudo apt-get install libqt5core5a
sudo strip --remove-section=.note.ABI-tag /lib/x86_64-linux-gnu/libQt5Core.so.5
回到终端后,我试图找到libQt5Core,找到/ 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