gpt4 book ai didi

linux - 安装 Qt 5.8 后所有 qt 应用程序停止工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:07:21 24 4
gpt4 key购买 nike

大家好!

我遇到了一些问题。我的操作系统是 Ubuntu 16.04 LTS x64。 Apt 仅提供 Qt 5.5.1 作为最新版本,但我需要将 Qt 安装在 5.6 以上(我已经安装了 Qt 5.8),因为我需要编译其中一个内部工具(需要 Qt >=5.6)。

但是在安装 Qt 5.8 之后(不幸的是,我使用了他们网站上建议的安装程序,而不是从 git 存储库编译它)我犯了一个战略性错误。系统没有选择它,但我没有为 qtchooser 设置额外的配置文件,而是决定将所有库复制到/usr/bin/x86_64-linux-gnu,包括更改所有 libQt5*.so.5 符号链接(symbolic link)。我不知道我为什么要这样做……可能是我喝醉了,或者只是太累了……但现在我意识到,那是愚蠢的。

之后我卸载了 Qt5.8,留下原来的 Qt5.5.1 和 Qt 4.8.7(都是通过 apt 安装的)。

问题是之后所有(至少,似乎是所有)来自 apt 存储库的 qt 应用程序停止工作并出现以下错误:

:~$ retext
Using configuration file: ~/.config/ReText project/ReText.conf
This application failed to start because it could not find or load the Qt platform plugin "xcb".

Reinstalling the application may fix this problem.
Aborted (core dumped)

我测试了 retext、qbittorrent、vlc... 而且,显然,我尝试重新安装这些应用程序中的每一个。它对我没有帮助。

我看过几个专门针对此类错误的问题和教程,但其中大多数建议检查/path/to/qt/plugins/platforms/中的库 libqxcb.so 并检查它是否遗漏任何依赖项。恢复依赖性对每个人都有帮助。但不是我。这是依赖项列表:

:/usr/lib/x86_64-linux-gnu/qt5/plugins/platforms$ ldd libqxcb.so 
linux-vdso.so.1 => (0x00007ffeb5fc4000)
libQt5XcbQpa.so.5 => /usr/lib/x86_64-linux-gnu/libQt5XcbQpa.so.5 (0x00007f9c2aa62000)
libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007f9c2a51a000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007f9c2a043000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f9c29cc1000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9c298f8000)
libX11-xcb.so.1 => /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1 (0x00007f9c296f5000)
libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007f9c294e5000)
libxcb-render-util.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render-util.so.0 (0x00007f9c292e1000)
libSM.so.6 => /usr/lib/x86_64-linux-gnu/libSM.so.6 (0x00007f9c290d8000)
libICE.so.6 => /usr/lib/x86_64-linux-gnu/libICE.so.6 (0x00007f9c28ebe000)
libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f9c28cb4000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f9c28a91000)
libxcb-image.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-image.so.0 (0x00007f9c2888c000)
libxcb-icccm.so.4 => /usr/lib/x86_64-linux-gnu/libxcb-icccm.so.4 (0x00007f9c28687000)
libxcb-sync.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-sync.so.1 (0x00007f9c2847f000)
libxcb-xfixes.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-xfixes.so.0 (0x00007f9c28277000)
libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f9c28073000)
libxcb-randr.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-randr.so.0 (0x00007f9c27e64000)
libxcb-shape.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shape.so.0 (0x00007f9c27c60000)
libxcb-keysyms.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-keysyms.so.1 (0x00007f9c27a5d000)
libxcb-xkb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-xkb.so.1 (0x00007f9c27841000)
libxkbcommon-x11.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon-x11.so.0 (0x00007f9c27639000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f9c273f6000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f9c2714b000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f9c26e3a000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f9c26b00000)
libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f9c268c0000)
libQt5DBus.so.5 => /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5 (0x00007f9c26842000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9c26625000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f9c2631b000)
libpng12.so.0 => /lib/x86_64-linux-gnu/libpng12.so.0 (0x00007f9c260f6000)
libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f9c25e97000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f9c25c7d000)
libGL.so.1 => /usr/lib/nvidia-375/libGL.so.1 (0x00007f9c259d9000)
libicui18n.so.55 => /usr/lib/x86_64-linux-gnu/libicui18n.so.55 (0x00007f9c25576000)
libicuuc.so.55 => /usr/lib/x86_64-linux-gnu/libicuuc.so.55 (0x00007f9c251e2000)
libpcre16.so.3 => /usr/lib/x86_64-linux-gnu/libpcre16.so.3 (0x00007f9c24f7c000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9c24d77000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f9c24b6f000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f9c24959000)
/lib64/ld-linux-x86-64.so.2 (0x000055a753a16000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f9c24746000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f9c24541000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f9c2433c000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f9c24136000)
libxcb-util.so.1 => /usr/lib/x86_64-linux-gnu/libxcb-util.so.1 (0x00007f9c23f30000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f9c23d06000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f9c23a96000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f9c23849000)
libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f9c23624000)
libGLX.so.0 => /usr/lib/nvidia-375/libGLX.so.0 (0x00007f9c233f3000)
libGLdispatch.so.0 => /usr/lib/nvidia-375/libGLdispatch.so.0 (0x00007f9c23125000)
libicudata.so.55 => /usr/lib/x86_64-linux-gnu/libicudata.so.55 (0x00007f9c2166e000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f9c215e8000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f9c213c6000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f9c211a3000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f9c20ec2000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f9c20cae000)

然后还有重新安装软件包 libQt5Gui5 的建议,我也这样做了,但也没有帮助。

最后,我发现 libqxcb.so(位于/path/to/qt/plugins/platforms/)使用自己的路径,库 libQt5DBus.so.5 和 libQt5XcbQpa.so.5 应该位于同一个目录。尽管所有依赖项似乎都已满足,但我还是决定尝试一下。又没有运气。

如果有人知道还有什么问题以及如何解决这种情况,请分享 [idea]。我将非常感谢任何帮助。

非常感谢您。

最好的问候。

最佳答案

“如何解决这种情况”回滚到您开始弄乱之前拍摄的 LVM 快照?

我想如果你不得不问,你没有利用 LVM,所以现在你会知道它的存在不是为了麻烦,而是为了防止重大破坏。

  1. 确保您的文件系统位于 LVM 卷上,并且有剩余空间用于快照。大多数发行版都希望已经为您设置了 LVM,因此如果您没有剩余空间,则必须缩小文件系统以释放一些空间。否则,您将不得不将磁盘转换为 LVM。使用 systemrescuecd 或任何其他好的实时发行版来执行此操作。

  2. 拍一张快照。

  3. 强行删除系统 Qt 包(全部)。

  4. 强行重装系统Qt包。

  5. 验证系统 Qt 应用程序现在可以运行。

  6. 拍一张快照。

  7. 在您的主文件夹中重新安装 Qt。

  8. 确保一切正常,您可以使用新的 Qt。

  9. 如果您愿意,可以删除快照。

关于linux - 安装 Qt 5.8 后所有 qt 应用程序停止工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43934796/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com