【问题标题】:Issue with qtvirtualkeyboard while upgrading from Qt 5.9 to 5.12从 Qt 5.9 升级到 5.12 时出现 qtvirtualkeyboard 问题
【发布时间】:2021-08-25 04:05:11
【问题描述】:

我正在将嵌入式目标从 Qt 5.9.3 升级到 5.12.10。大多数软件包都可以正常工作,但是 qtvirtualkeyboard 软件包会导致问题。构建过程(使用 Yocto/bitbake)创建一个升级包,其中包含为所有包生成的所有 RPM,在目标上我们使用智能包管理器来安装这些。

这几乎适用于所有软件包,只有 qtvirtualkeyboard 软件包在新版本中具有不同的名称:RPM 从 qtvirtualkeyboard(在 Qt 5.9.3 中)更改为 libqt5virtualkeyboard(在 Qt 5.12.10 中)。看起来这让包管理器感到困惑,并且它退出时出现一个错误,表明某些文件不能被覆盖,因为它们是已安装包的一部分。这是其中一条消息,其他消息遵循相同的模式,都是关于 qtvirtualkeyboard-qmlplugins

错误:文件 /usr/lib/qt5/qml/QtQuick/VirtualKeyboard/plugins.qmltypes 从安装 libqt5virtualkeyboard-qmlplugins-5.12.10.3+git0+1582869a39-r0.cortexa9hf_vfp_neon 与包中的文件冲突 qtvirtualkeyboard-qmlplugins-5.9.3+git3+81f9e4b142-r3.0.cortexa9hf_vfp_neon

还有许多其他包生成为 libqt5name 包而不是 qtname 包,但这些在 5.9.3 中已经具有此名称,所以它们不会引起问题。

在 ..../pkgdata/runtime/qtvirtualkeyboard-qmlplugins 中有一行:

PKG_qtvirtualkeyboard-qmlplugins: libqt5virtualkeyboard-qmlplugins

这是(在 Qt 5.9.3 中):

PKG_qtvirtualkeyboard-qmlplugins: qtvirtualkeyboard-qmlplugins

在我看来,包裹正在接收一个新名称。

我尝试将带有“qtvirtualkeyboard (

是否可以恢复此名称更改(对于我的本地构建),或者我可以在某处添加规则以确保包管理器在安装新包之前删除原始包?

我正在使用meta-qt5(哈希 8da88b09,这是 5.12.10 的最后一个版本)和 5.12.10 的官方 Qt GIT 存储库。

【问题讨论】:

    标签: qt qt5 yocto qtvirtualkeyboard


    【解决方案1】:

    深入研究 buildroot/poky 代码后,我发现重命名是在 RPM 仅包含库时完成的。原来的 RPM 确实只包含一些支持文件(所以它没有被重命名),但新的 RPM 只包含库。

    我通过将以下行添加到我的 qtvirtualkeyboard.bbappend 解决了这个问题:

    AUTO_LIBNAME_PKGS = ""
    

    现在名称不再更改,升级按预期进行。

    【讨论】:

      猜你喜欢
      • 2011-06-18
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多