[OE-core] [PATCH 00/29] Add gobject introspection support to oe-core
Martin Jansa
martin.jansa at gmail.com
Thu Mar 10 16:56:31 UTC 2016
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.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: Digital signature
URL: <http://lists.openembedded.org/pipermail/openembedded-core/attachments/20160310/ca206eb8/attachment-0002.sig>
More information about the Openembedded-core
mailing list