[oe] [PATCH] cairo_1.10.0: add `glib-2.0-native` to `DEPENDS`

Frans Meulenbroeks fransmeulenbroeks at gmail.com
Fri Oct 8 06:28:24 UTC 2010


2010/10/8 Paul Menzel <paulepanter at users.sourceforge.net>:
> Date: Thu, 7 Oct 2010 13:38:44 +0200
>
> `do_compile()` of `cairo_1.10.0.bb` fails with the following error.
>
> […]
>        make[4]: Entering directory `/oe/build/angstrom-dev/work/armv7a-angstrom-linux-gnueabi/cairo-1.10.0-r0/cairo-1.10.0/util/cairo-gobject'
>          CC     libcairo_gobject_la-cairo-gobject-enums.lo
>        In file included from cairo-gobject-enums.c:8:
>        cairo-gobject.h:44:25: error: glib-object.h: No such file or directory
>        In file included from cairo-gobject-enums.c:8:
>        cairo-gobject.h:52: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cairo_gobject_context_get_type'
>        cairo-gobject.h:56: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cairo_gobject_device_get_type'
>        cairo-gobject.h:60: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'cairo_gobject_pattern_get_type'
>        […]
>
> `glib-object.h` is only in sysroot of the build host.
>
>    $ find angstrom-dev/ -name glib-object.h
>    angstrom-dev/sysroots/i686-linux/usr/include/glib-2.0/glib-object.h
>
> `cairo_1.8.8.bb` builds fine.
>
> Adding `glib-2.0-native` to `DEPENDS` puts `glib-object.h` also into the sysroot of the target machine and fixes the build.
>
>    $ find angstrom-dev/ -name glib-object.h
>    angstrom-dev/sysroots/i686-linux/usr/include/glib-2.0/glib-object.h
>    angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/glib-2.0/glib-object.h
>
> Build tested with `angstrom-2008.1` for `MACHINE = "beagleboard"`.
>
> Signed-off-by: Paul Menzel <paulepanter at users.sourceforge.net>
> ---
>  recipes/cairo/cairo_1.10.0.bb |    2 ++
>  1 files changed, 2 insertions(+), 0 deletions(-)
>
> diff --git a/recipes/cairo/cairo_1.10.0.bb b/recipes/cairo/cairo_1.10.0.bb
> index 7530cd1..9859b9c 100644
> --- a/recipes/cairo/cairo_1.10.0.bb
> +++ b/recipes/cairo/cairo_1.10.0.bb
> @@ -1,5 +1,7 @@
>  require cairo.inc
>
> +DEPENDS += "glib-2.0-native"
> +
>  SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz;name=cairo \
>  "
>
> --


Hm. Personally I'd say glib should put the include file in
angstrom-dev/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/glib-2.0
I'd say you need a depend on glib-2.0 not on glib-2.0-native

As i see it, dependencies on native packages should only be needed if
you need a binary from another package to build your package (unless
ofc you are a binary package yourself, in which case you need native
headers)
 (and yeah, I know there are several exceptions).

Frans




More information about the Openembedded-devel mailing list