You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Yocto Mickledore构建中python3-pyqt5的do_configure步骤失败

解决Yocto Mickledore中python3-pyqt5 do_configure失败问题

问题原因

报错extra_args+= --disabled-feature=PyQt_Accessibility: not found源于构建脚本使用了Dash不支持的Shell语法。Yocto默认使用Dash作为系统Shell,而variable+= value这种数组追加写法属于Bash扩展语法,Dash无法识别。

解决方案

方案1:修复脚本语法兼容性

创建自定义层(如meta-myfixes),通过.bbappend文件修改python3-pyqt5的构建脚本:

  1. 在自定义层中创建路径:recipes-qt/pyqt5/
  2. 创建对应版本的bbappend文件python3-pyqt5_5.15.9.bbappend,内容如下:
do_configure_prepend() {
    # 将Dash不兼容的语法替换为标准写法
    sed -i 's/extra_args+= --disabled-feature=PyQt_Accessibility/extra_args="$extra_args --disabled-feature=PyQt_Accessibility"/' ${S}/configure.py
}
  1. 将自定义层添加到bblayers.conf的BBLAYERS列表中

方案2:强制使用Bash执行构建

通过bbappend指定构建阶段使用Bash,以支持原有的扩展语法:

SHELL = "${BASH}"

将上述内容添加到python3-pyqt5_5.15.9.bbappend中即可。

方案3:确认meta-qt5层版本匹配

确保meta-qt5层与Yocto Mickledore版本兼容,若从OpenEmbedded拉取,需切换到mickledore分支,避免版本不匹配导致的脚本bug。

验证步骤

  1. 清理构建缓存:bitbake -c cleansstate python3-pyqt5
  2. 重新执行构建:bitbake core-image-sato

内容的提问来源于stack exchange,提问作者days-night

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 22:15:25