job*_*cxa 26 virtualbox qt5 18.04
我有 Ubuntu 18.04。
启动虚拟框时出现错误
$ virtualbox
VirtualBox: supR3HardenedMainGetTrustedMain: dlopen("/usr/lib/virtualbox/VirtualBox.so",) failed: libQt5Core.so.5: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
$ ldd /usr/lib/virtualbox/VirtualBox.so | grep Qt
libQt5X11Extras.so.5 => /usr/lib/x86_64-linux-gnu/libQt5X11Extras.so.5 (0x00007f7dcec8e000)
libQt5Core.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Widgets.so.5 => not found
libQt5PrintSupport.so.5 => /usr/lib/x86_64-linux-gnu/libQt5PrintSupport.so.5 (0x00007f7dcea1f000)
libQt5OpenGL.so.5 => /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so.5 (0x00007f7dce7c8000)
libQt5Gui.so.5 => not found
libQt5Core.so.5 => not found
libQt5Widgets.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Core.so.5 => not found
libQt5Widgets.so.5 => not found
libQt5Gui.so.5 => not found
libQt5Core.so.5 => not found
Run Code Online (Sandbox Code Playgroud)
$ apt-file search libQt5Gui.so.5
libqt5gui5: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
libqt5gui5: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.9
libqt5gui5: /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5.9.5
Run Code Online (Sandbox Code Playgroud)
系统有 libqt5* 包,但我无法列出其中的一些使用
$ ls /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5
ls: cannot access '/usr/lib/x86_64-linux-gnu/libQt5Gui.so.5': No such file or directory
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
小智 45
对我来说,这个libqt5gui5包已经安装好了。我尝试像在另一个答案中一样重新安装,但仍然出现错误:
...
ImportError: libQt5Core.so.5: cannot open shared object file: No such file or directory
Run Code Online (Sandbox Code Playgroud)
我在https://github.com/dnschneid/crouton/wiki/Fix-error-while-loading-shared-libraries:-libQt5Core.so.5发现了类似的问题
内核需要至少为 3.15,这是一个非常真实但(对我而言)深奥的原因:“Qt 5.10 使用 renameat2 系统调用,它仅在内核 3.15 之后可用”。如果您想阅读很长的主题,请看这里:
https://bbs.archlinux.org/viewtopic.php?id=232682
...
Run Code Online (Sandbox Code Playgroud)sudo strip --remove-section=.note.ABI-tag /usr/lib64/libQt5Core.so.5上面的命令“剥离”了一段代码,它在内核中寻找不存在的东西,并允许加载模块。
我实际上正在运行 Debian 测试 (bullseye) 3.12-1-amd64。我的图书馆的路径是/usr/lib/x86_64-linux-gnu/libQt5DBus.so.5我的情况下的命令是
strip --remove-section=.note.ABI-tag /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
Run Code Online (Sandbox Code Playgroud)
在那之后,我能够让应用程序(Electrum)工作
对于所有“未找到”的库,请像使用 apt 文件搜索 libQt5Gui.so.5 一样识别它们的包。然后使用 sudo apt-get install 安装软件包,例如:
sudo apt-get install libqt5gui5
Run Code Online (Sandbox Code Playgroud)
包的安装应将库放在正确的位置,以便找到它们。
如果文件不存在,要么它们安装在错误的位置(手动强制某处),它们是错误的架构(i386 而不是 amd64,所以会在 /usr/lib/i386-linux-gnu 中),或者安装未正常运行(使用以下命令检查包的状态:
dpkg -l | grep libqt5
Run Code Online (Sandbox Code Playgroud)
正确安装的软件包将具有状态“ii”。
如果文件位于系统上的其他位置,您可以使用 locate 命令来查找文件,但如果您安装了它们,则这种可能性不大。
| 归档时间: |
|
| 查看次数: |
73399 次 |
| 最近记录: |