On Mon, Nov 09, 2015 at 04:50:22PM +0200, Alexander Kanavin wrote: > 1. Introduction > > This patchset adds support for gobject introspection to oe-core. > Gir files go to -dev packages, typelib files go to main packages > (they are packaged together with libraries that are > introspected). > > The work is based on a meta-gir layer, which was used as a proof of > concept; overall approach is same and some implementation ideas were > used, but this implementation is otherwise different, and hopefully > simpler and cleaner. Any idea what could be cause for these failures when testing master-next? NOTE: Your conf/bblayers.conf has been automatically updated. Parsing recipes...NOTE: Building Ne10 for armv7 NOTE: glibc doesn't build cleanly with -Os, adding -Wno-error to SELECTED_OPTIMIZATION NOTE: glibc-initial doesn't build cleanly with -Os, adding -Wno-error to SELECTED_OPTIMIZATION WARNING: Exception during build_dependencies for do_configure WARNING: Error during finalise of TOPDIR/oe-core/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.46.0.bb ERROR: ExpansionError during parsing TOPDIR/oe-core/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.46.0.bb: Failure expanding variable do_configure, expression was # Write out a qemu wrapper that will be given to gi-scanner so that it # can run target helper binaries through that. qemu_binary="${@qemu_wrapper_cmdline(d, '$STAGING_DIR_HOST', ['\$GIR_EXTRA_LIBS_PATH','.libs','$STAGING_DIR_HOST//usr/lib','$STAGING_DIR_HOST//lib'])}" cat > WORKDIR/gobject-introspection/1.46.0-r0/build/g-ir-scanner-qemuwrapper << EOF #!/bin/sh $qemu_binary "\$@" if [ \$? -ne 0 ]; then echo "If the above error message is about missing .so libraries, then setting up GIR_EXTRA_LIBS_PATH in the recipe should help." echo "(typically like this: GIR_EXTRA_LIBS_PATH=\"$""{B}/something/.libs\" )" exit 1 fi EOF chmod +x WORKDIR/gobject-introspection/1.46.0-r0/build/g-ir-scanner-qemuwrapper # Write out a wrapper for g-ir-scanner itself, which will be used when building introspection files # for glib-based packages. This wrapper calls the native version of the scanner, and tells it to use # a qemu wrapper for running transient target binaries produced by the scanner, and an include directory # from the target sysroot. cat > WORKDIR/gobject-introspection/1.46.0-r0/build/g-ir-scanner-wrapper << EOF #!/bin/sh # This prevents g-ir-scanner from writing cache data to $HOME export GI_SCANNER_DISABLE_CACHE=1 g-ir-scanner --use-binary-wrapper=SYSROOTS/MACHINE/usr/bin/g-ir-scanner-qemuwrapper --use-ldd-wrapper=SYSROOTS/MACHINE/usr/bin/g-ir-scanner-lddwrapper --add-include-path=SYSROOTS/MACHINE/usr/share/gir-1.0 "\$@" EOF chmod +x WORKDIR/gobject-introspection/1.46.0-r0/build/g-ir-scanner-wrapper # Write out a wrapper for g-ir-compiler, which runs the target version of it through qemu. # g-ir-compiler writes out the raw content of a C struct to disk, and therefore is architecture dependent. cat > WORKDIR/gobject-introspection/1.46.0-r0/build/g-ir-compiler-wrapper << EOF #!/bin/sh SYSROOTS/MACHINE/usr/bin/g-ir-scanner-qemuwrapper SYSROOTS/MACHINE/usr/bin/g-ir-compiler "\$@" EOF chmod +x WORKDIR/gobject-introspection/1.46.0-r0/build/g-ir-compiler-wrapper # Write out a wrapper to use instead of ldd, which does not work when a binary is built # for a different architecture cat > WORKDIR/gobject-introspection/1.46.0-r0/build/g-ir-scanner-lddwrapper << EOF #!/bin/sh prelink-rtld --root=$STAGING_DIR_HOST "\$@" EOF chmod +x WORKDIR/gobject-introspection/1.46.0-r0/build/g-ir-scanner-lddwrapper # Also tweak the target python scripts so that they don't refer to the # native version of python binary (the solution is taken from glib-2.0 recipe) sed -i -e '1s,#!.*,#!/usr/bin/env python,' WORKDIR/gobject-introspection/1.46.0-r0/gobject-introspection-1.46.0/tools/g-ir-tool-template.in ( cd WORKDIR/gobject-introspection/1.46.0-r0/gobject-introspection-1.46.0; gtkdocize --docdir WORKDIR/gobject-introspection/1.46.0-r0/gobject-introspection-1.46.0 ) set_icecc_env autotools_do_configure which triggered exception NameError: name 'qemu_wrapper_cmdline' is not defined Summary: There were 2 WARNING messages shown. Summary: There was 1 ERROR message shown, returning a non-zero exit code.