The mickledore build has the following layers:
BBLAYERS ?= " \
/home/link/yocto/poky/meta \
/home/link/yocto/poky/meta-poky \
/home/link/yocto/poky/meta-yocto-bsp \
/home/link/yocto/poky/meta-intel \
/home/link/yocto/poky/meta-congatec-x86 \
/home/link/yocto/poky/meta-openembedded/meta-oe \
/home/link/yocto/poky/meta-openembedded/meta-networking \
/home/link/yocto/poky/meta-openembedded/meta-python \
/home/link/yocto/poky/meta-openembedded/meta-gnome \
/home/link/yocto/poky/meta-qt5 \"
and fails with this log:
NOTE: Executing Tasks
ERROR: python3-pyqt5-5.15.9-r0 do_configure: ExecutionError('/home/link/yocto/build/tmp/work/corei7-64-poky-linux/python3-pyqt5/5.15.9-r0/temp/run.do_configure.2670227', 127, None, None)
ERROR: Logfile of failure stored in: /home/link/yocto/build/tmp/work/corei7-64-poky-linux/python3-pyqt5/5.15.9-r0/temp/log.do_configure.2670227
Log data follows:
| DEBUG: Executing python function extend_recipe_sysroot
| NOTE: Direct dependencies are ['/home/link/yocto/poky/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.7.bb:do_populate_sysroot', '/home/link/yocto/poky/meta-qt5/recipes-python/pyqt5/python3-pyqt-builder-native_1.15.0.bb:do_populate_sysroot', '/home/link/yocto/poky/meta-qt5/recipes-qt/qt5/qtbase-native_git.bb:do_populate_sysroot', '/home/link/yocto/poky/meta-qt5/recipes-qt/qt5/qtbase_git.bb:do_populate_sysroot', '/home/link/yocto/poky/meta-qt5/recipes-qt/qt5/qtdeclarative_git.bb:do_populate_sysroot', '/home/link/yocto/poky/meta-qt5/recipes-qt/qt5/qtquickcontrols2_git.bb:do_populate_sysroot', '/home/link/yocto/poky/meta/recipes-core/glibc/glibc_2.37.bb:do_populate_sysroot', '/home/link/yocto/poky/meta/recipes-devtools/gcc/gcc-cross_12.3.bb:do_populate_sysroot', '/home/link/yocto/poky/meta/recipes-devtools/gcc/gcc-runtime_12.3.bb:do_populate_sysroot', '/home/link/yocto/poky/meta/recipes-devtools/python/python3_3.11.2.bb:do_populate_sysroot', '/home/link/yocto/poky/meta/recipes-devtools/quilt/quilt-native_0.67.bb:do_populate_sysroot', 'virtual:native:/home/link/yocto/poky/meta-openembedded/meta-oe/recipes-devtools/sip/sip_6.7.7.bb:do_populate_sysroot', 'virtual:native:/home/link/yocto/poky/meta/recipes-devtools/patch/patch_2.7.6.bb:do_populate_sysroot', 'virtual:native:/home/link/yocto/poky/meta/recipes-devtools/pseudo/pseudo_git.bb:do_populate_sysroot', 'virtual:native:/home/link/yocto/poky/meta/recipes-devtools/python/python3-ply_3.11.bb:do_populate_sysroot', 'virtual:native:/home/link/yocto/poky/meta/recipes-devtools/python/python3-toml_0.10.2.bb:do_populate_sysroot', 'virtual:native:/home/link/yocto/poky/meta/recipes-devtools/python/python3_3.11.2.bb:do_populate_sysroot']
| NOTE: Installed into sysroot: []
| NOTE: Skipping as already exists in sysroot: ['sip', 'python3-pyqt-builder-native', 'qtbase-native', 'qtbase', 'qtdeclarative', 'qtquickcontrols2', 'glibc', 'gcc-cross-x86_64', 'gcc-runtime', 'python3', 'quilt-native', 'sip-native', 'patch-native', 'pseudo-native', 'python3-ply-native', 'python3-toml-native', 'python3-native', 'dbus-native', 'zlib-native', 'python3-wheel-native', 'python3-setuptools-native', 'python3-build-native', 'python3-installer-native', 'zlib', 'xcb-util-wm', 'libjpeg-turbo', 'eudev', 'vulkan-headers', 'libxcb', 'glib-2.0', 'openssl', 'xcb-util-keysyms', 'xcb-util-image', 'libpng', 'libpcre2', 'dbus', 'xcb-util-renderutil', 'mesa', 'freetype', 'libxext', 'libxkbcommon', 'libtool-native', 'attr-native', 'linux-libc-headers', 'libgcc', 'openssl-native', 'libnsl2-native', 'libffi-native', 'libtirpc-native', 'util-linux-libuuid-native', 'bzip2-native', 'gdbm-native', 'xz-native', 'ncurses-native', 'readline-native', 'sqlite3-native', 'ncurses', 'libtirpc', 'libnsl2', 'bzip2', 'util-linux-libuuid', 'gdbm', 'opkg-utils', 'xz', 'readline', 'sqlite3', 'libffi', 'libxcrypt', 'libmpc-native', 'binutils-cross-x86_64', 'mpfr-native', 'gnu-config-native', 'texinfo-dummy-native', 'zstd-native', 'gmp-native', 'flex-native', 'expat-native', 'gettext-minimal-native', 'glib-2.0-native', 'python3-flit-core-native', 'python3-pyproject-hooks-native', 'python3-packaging-native', 'initscripts', 'kmod', 'update-rc.d', 'util-linux', 'libxdmcp', 'libpthread-stubs', 'xorgproto', 'libxau', 'xcb-proto', 'bash-completion', 'xcb-util', 'shadow', 'shadow-sysroot', 'base-files', 'libsm', 'expat', 'shadow-native', 'libx11', 'base-passwd', 'libxdamage', 'libxxf86vm', 'xrandr', 'wayland', 'libdrm', 'libxfixes', 'wayland-protocols', 'libxshmfence', 'vulkan-loader', 'util-macros', 'libxml2', 'xkeyboard-config', 'perl-native', 'm4-native', 'cmake-native', 'gettext-native', 'util-linux-native', 'libpcre2-native', 'unzip-native', 'libcap-ng', 'attr', 'xtrans', 'libice', 'libxrender', 'libxrandr', 'libpciaccess', 'make-native', 'libcap-ng-native']
| DEBUG: Python function extend_recipe_sysroot finished
| DEBUG: Executing shell function qmake5_base_preconfigure
| Previously configured separate build directory detected, cleaning /home/link/yocto/build/tmp/work/corei7-64-poky-linux/python3-pyqt5/5.15.9-r0/build
| DEBUG: Shell function qmake5_base_preconfigure finished
| DEBUG: Executing shell function do_configure
| WARNING: exit code 127 from a shell command.
| /home/link/yocto/build/tmp/work/corei7-64-poky-linux/python3-pyqt5/5.15.9-r0/temp/run.do_configure.2670227: 163: extra_args+= --disabled-feature=PyQt_Accessibility: not found
ERROR: Task (/home/link/yocto/poky/meta-qt5/recipes-python/pyqt5/python3-pyqt5_5.15.9.bb:do_configure) failed with exit code '1'
NOTE: Tasks Summary: Attempted 5768 tasks of which 5767 didn't need to be rerun and 1 failed.
The error message only occurs when adding python3-pyqt5 to the image
IMAGE_INSTALL:append = " python3-pyqt5"
or adding python3-pyqt5 to another recipe as a dependency.
I tried building the image through bitbake, with bitbake core-image-sato
and devtool with devtool build-image core-image-sato
to no avail. I'm still new to the yocto build system, any help with issue would be greatly appreciated.
I suspect you are building on Ubuntu, Debian or similar, where /bin/sh
doesn't point to bash. This seems to be a bug in the recipe, which has some bashisms.
There are a couple of options, with different level of ugliness (though they are the same at the end of the day).
1st, very ugly option: open python3-pyqt5_5.15.9.bb
in meta-qt5 layer, and change lines 50 and 54
# line 50 looks like this:
extra_args+=" --disabled-feature=${i}"
# instead change it to this:
extra_args="${extra_args} --disabled-feature=${i}"
# line 54 is this:
extra_args+=" --enable=${i}"
# change it to this:
extra_args="${extra_args} --enable=${i}"
2nd, a bit less ugly option: do the same changes in a copy of the original recipe, call it python3-mypyqt5_5.15.9.bb
or something like that.
3rd option which won't win any beauty pageants either: if you are using kas to build, you could create a patch for the repo, and apply it during build.
I guess there are some other ways too to have the same changes applied... but personally I would go with the 2nd option until it is fixed upstream (though my opinion has no particularly special meaning).