qutebrowser报错 No backend library found(qt6问题的解决)

前段时间因为安装Truri 而更新、安装了一些QT库,导致系统原来的浏览器qutebrowser异常。在调试过程中,重装、修改了qt库,导致chrome浏览器异常。苦啊!除了firefox浏览器还在坚持工作,其它两个qutebrowser和chrome已经无法打开了。

最终通过删除qt6和qt6-base库,然后重新pkg install qutebrowser解决

问题:qutebrowser浏览器无法启动

qutebrowser报错 No backend library found

qutebrowser needs QtWebKit or QtWebEngine, but neither could be imported!

The errors encountered were:

  • QtWebKit: Unavailable with PyQt6
  • QtWebEngine: /usr/local/lib/qt6/libQt6WebEngineCore.so.6: Undefined symbol "_ZN6snappy11RawCompressEPKcmPcPmNS_18CompressionOptionsE"

Qt wrapper info:
PyQt6: success
PyQt5: not imported
-> selected: PyQt6 (via autoselect)

尝试解决问题

尝试安装qt6

尝试安装:pkg install qt6-base

不管用。

咨询文心一言,它建议更新snappy

尝试更新snappy

 pkg install snappy
 现在报错变成:

qutebrowser 
failed to authenticate magic 1
failed to load driver: iris
23:13:29 INFO: Run :adblock-update to get adblock lists.
23:13:29 CRITICAL: Cannot mix incompatible Qt library (6.6.1) with this library (6.6.3)
终止陷阱(核心已转储)

文心一言的答复:

这个新的错误消息指出几个不同的问题,我将逐一解释并提供可能的解决方案:

  1. failed to authenticate magic 1 和 failed to load driver: iris
    这两个错误可能与图形驱动程序或 GPU 加速有关。iris 通常是 Intel 图形驱动程序的名称。如果 qutebrowser 试图加载一个图形驱动程序但没有成功,可能是因为你的系统上缺少必要的依赖项或驱动程序没有正确安装。

     

    解决方案可能包括:

    • 确保你的图形驱动程序是最新的。
    • 如果你是在使用 Linux 发行版,请确保你的系统已经安装了所有必要的图形库和驱动程序。
    • 尝试在 qutebrowser 的设置或命令行参数中禁用 GPU 加速。
  2. CRITICAL: Cannot mix incompatible Qt library (6.6.1) with this library (6.6.3)
    这个错误表明 qutebrowser 试图混合使用不同版本的 Qt 库。这通常是因为系统上安装了多个版本的 Qt,或者 qutebrowser 使用的某个依赖项(如 PyQt)与 qutebrowser 本身期望的 Qt 版本不匹配。

     

    解决方案可能包括:

    • 确保你安装了与 qutebrowser 兼容的 PyQt 版本。如果 qutebrowser 需要 PyQt6 并且你安装了 PyQt5,或者 PyQt6 的版本不匹配,你需要调整 PyQt 的版本。
    • 如果你使用包管理器(如 pip)安装 PyQt,可以使用 pip list 检查 PyQt 的版本,并使用 pip install 命令进行升级或降级。
    • 如果可能的话,尝试删除系统上所有 Qt 和 PyQt 的版本,然后重新安装与 qutebrowser 兼容的版本。
  3. 终止陷阱(核心已转储)
    这表明 qutebrowser 崩溃了,并且生成了一个核心转储文件,该文件包含崩溃时的内存状态,通常用于调试。

为了解决这个问题,你可能需要更深入地了解你的系统配置和 qutebrowser 的依赖项。以下是一些步骤,你可以尝试来诊断和解决问题:

  • 检查 qutebrowser 的官方文档,看看是否有关于这些错误的特定说明或解决方案。
  • 在 qutebrowser 的社区论坛或 GitHub 仓库中搜索类似的错误报告。
  • 使用 pkg 命令(如果你在使用 FreeBSD 或类似的系统)来确保所有相关包都是最新的,并且没有相互冲突的版本。
  • 尝试卸载并重新安装 qutebrowser 和其所有依赖项。
  • 如果问题仍然存在,考虑在 qutebrowser 的 GitHub 仓库中提交一个 bug 报告,并附上尽可能多的信息和系统日志。

尝试重装qutebrwser

 执行命令:

pkg remove qutebrowser
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 1 packages (of 0 packages in the universe):

Installed packages to be REMOVED:
    qutebrowser: 3.1.0

Number of packages to be removed: 1

The operation will free 8 MiB.

Proceed with deinstalling packages? [y/N]: y
[1/1] Deinstalling qutebrowser-3.1.0...
[1/1] Deleting files for qutebrowser-3.1.0: 100%
==> Running trigger: desktop-file-utils.ucl
Building cache database of MIME types

pkg install qutebrowser
 

重装后提示:

If you get wrong colors when watching videos, this is probably because your
system does not support hardware acceleration (see bug 237277): you can
disable it by starting the browser from command line with the
--qt-flag disable-gpu option:

  qutebrowser --qt-flag disable-gpu

Or you can set 'qt.force_software_rendering' qutebrowser option to 'chromium':

  :set qt.force_software_rendering chromium
 

按照提示执行  qutebrowser --qt-flag disable-gpu还是崩溃。

运行qutebrowser报错:

Cannot mix incompatible Qt library (6.6.1) with this library (6.6.3)

怀疑是前面安装tauri的把webkit弄出问题来了。前面安装命令:

pkg install webkit2-gtk4

删除它

pkg remove webkit2-gtk4 

还是不行

更新qt版本到6.6.0

pkg search qt

当前最新的qt版本 qt6-6.7.0, qt5是qt5-5.15.13 

重新安装qt6-6.7.0 

pkg install qt6

但是安装完之后还是提示:Qt library (6.6.1) with this library (6.6.3) 

到ports里面去,

cd /usr/ports/devel//qt6

发现版本还是6.6.1 

make deinstall ; make reinstall 

安装完之后问题依旧。

尝试安装qtcreator

pkg install qtcreator

速度有点慢,来回调镜像和网络,

中间一度把pkg库搞崩了,提示:need to re-create database 

pkg 其它命令都不管用了,尝试使用命令修复

pkg -dd update -f

修复过程中,发现报错,原来中科大的镜像库返回的是ipv6地址...

赶快把ipv6配上去

安装好后,又把qt6重新安装了一遍,

执行qtcreator 报错:

ld-elf.so.1: /usr/local/lib/qt6/libQt6Core.so.6: version Qt_6.7 required by /usr/local/bin/qtcreator not found 

运行qutebrowser报错照旧。

明明目录里有那个文件啊,有libQt6Core.so.6这个文件,而且它的指向是libQt6Core.so.6.6.3 也没有问题 。

百思不得其解,重启系统。

重启系统

问题依旧

安装了qt6-base

pkg install qt6-base

再启动qutebrowser,有改观,以前的报错没有了,有了新的报错,显示QtWidgets有问题 

安装了py39-qt6-pyqt

pkg install py39-qt6-pyqt

解决了前面的报错问题,有了新的报错,其实就是回到了几乎最前面的问题:

qutebrowser nedds QtWebKit or QtWebEngine ,but neither could be imported!

QtWebKit:Unavaiable with PyQt6

QtWebEngine:/usr/local/lib/qt6/libQt6Quick.so.6:Undefined symbol "_ZN5QFont11stringToTagEPKc@Qt_6"

见证奇迹的时刻

删除qt6

pkg remove qt6 qt6-base

结果:

qutebrowser
qutebrowser: Command not found.

原来删除qt6的时候把qutebrowser也删除了。

再安装qutebrowser

pkg install qutebrowser

安装qutebrowser同时就自动安装好了qt6-base,但是不会自动安装qt6

试试,哇,qutebrowser竟然能用了啊!

不知道是不是qt6这个库干扰的原因,也就是只需要安装qt6-base,而不安装qt6,问题解决。

未解决的问题

chrome还是没解决问题,有报错

ld-elf.so.1: /usr/local/share/chromium/chrome: Undefined symbol "_ZN6snappy11RawCompressEPKcmPcPm"

后来装了另一个linux兼容版本的chrome:pkg install linux-chrome

同时由于删除qt6和qt6-base,导致一批软件也被删除了,比如原来习惯使用的看系统资源的一个小软件。

结论:

以后再也不在自己的主环境乱调QT了,太危险了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值