[oe] Problems bumping clutter recipes

Khem Raj raj.khem at gmail.com
Tue Jun 29 18:57:07 UTC 2010


On Tue, Jun 29, 2010 at 8:47 AM, Andreas Mueller <schnitzeltony at gmx.de> wrote:
> I am working on building clutter recipes (clutter / clutter-box2d / clutter-gtk / clutter-gst). Since none of the recipes worked - most crashed already during patching - I decided to rework these
> recipes and bump to latest stable versions. With clutter / clutter-box2d / clutter-gtk I had success so far but now I am in trouble with clutter-gst.
>
> The modifications I made:
>
> -----------------------------------------------------------------------------------------------------------------------------------------
> From 503e5976ff638b278511d232c69058c03e4a2cea Mon Sep 17 00:00:00 2001
> From: Andreas Mueller <schnitzeltony at gmx.de>
> Date: Tue, 29 Jun 2010 16:25:31 +0200
> Subject: [PATCH] Bump clutter recipes to latest stable versions
>
> Note: clutter-gst fails during compile at overo environment!
>
> Signed-off-by: Andreas Mueller <schnitzeltony at gmx.de>
> ---
>  recipes/clutter/clutter-box2d.inc           |    2 +-
>  recipes/clutter/clutter-box2d_0.10.0_git.bb |   13 +++++++++++++
>  recipes/clutter/clutter-gst.inc             |   13 +------------
>  recipes/clutter/clutter-gst_1.0.0.bb        |   12 ++++++++++++
>  recipes/clutter/clutter-gtk_0.10.4.bb       |   12 ++++++++++++
>  recipes/clutter/clutter.inc                 |    2 +-
>  recipes/clutter/clutter_1.2.10.bb           |   18 ++++++++++++++++++
>  7 files changed, 58 insertions(+), 14 deletions(-)
>  create mode 100644 recipes/clutter/clutter-box2d_0.10.0_git.bb
>  create mode 100644 recipes/clutter/clutter-gst_1.0.0.bb
>  create mode 100644 recipes/clutter/clutter-gtk_0.10.4.bb
>  create mode 100644 recipes/clutter/clutter_1.2.10.bb
>
> diff --git a/recipes/clutter/clutter-box2d.inc b/recipes/clutter/clutter-box2d.inc
> index 8189d12..bb4f1b6 100644
> --- a/recipes/clutter/clutter-box2d.inc
> +++ b/recipes/clutter/clutter-box2d.inc
> @@ -5,7 +5,7 @@ LICENSE = "GPLv2"
>  DEPENDS = "clutter"
>
>  # The main clutter lib is machine specific so we need to be too
> -PACKAGE_ARCH = "${MACHINE_ARCH}"
> +#PACKAGE_ARCH = "${MACHINE_ARCH}"
>
>  inherit autotools pkgconfig gtk-doc
>
> diff --git a/recipes/clutter/clutter-box2d_0.10.0_git.bb b/recipes/clutter/clutter-box2d_0.10.0_git.bb
> new file mode 100644
> index 0000000..6417a7d
> --- /dev/null
> +++ b/recipes/clutter/clutter-box2d_0.10.0_git.bb
> @@ -0,0 +1,13 @@
> +require clutter-box2d.inc
> +
> +SRCREV = "dae84a82efe22b284cba8ca1985ce14bb4e86c99"
> +
> +PV = "0.10.0"
> +PR = "r0"
> +PR_append = "+git${SRCREV}"
> +
> +SRC_URI = "git://git.clutter-project.org/clutter-box2d.git;protocol=git"
> +
> +S = "${WORKDIR}/git"
> +
> +
> diff --git a/recipes/clutter/clutter-gst.inc b/recipes/clutter/clutter-gst.inc
> index fa8f810..262f033 100644
> --- a/recipes/clutter/clutter-gst.inc
> +++ b/recipes/clutter/clutter-gst.inc
> @@ -7,17 +7,6 @@ DEPENDS = "clutter gstreamer gst-plugins-base"
>  PACKAGES =+ "${PN}-examples"
>  FILES_${PN}-examples = "${bindir}/video-player ${bindir}/video-sink ${bindir}/audio"
>
> -inherit autotools pkgconfig
> +inherit autotools pkgconfig gtk-doc
>
> -do_configure_prepend() {
> -       if [ -e ${WORKDIR}/gtk-doc.make ] ; then
> -               cp ${WORKDIR}/gtk-doc.make ${S}/gtk-doc.make
> -       else
> -               touch ${S}/gtk-doc.make
> -       fi
> -}
> -
> -do_stage () {
> -        autotools_stage_all
> -}
>
> diff --git a/recipes/clutter/clutter-gst_1.0.0.bb b/recipes/clutter/clutter-gst_1.0.0.bb
> new file mode 100644
> index 0000000..ef6589f
> --- /dev/null
> +++ b/recipes/clutter/clutter-gst_1.0.0.bb
> @@ -0,0 +1,12 @@
> +require clutter-gst.inc
> +
> +PR = "r0"
> +
> +SRC_URI = "http://source.clutter-project.org/sources/clutter-gst/1.0/clutter-gst-${PV}.tar.bz2 \
> +          "
> +
> +# The main clutter lib is machine specific so we need to be too
> +PACKAGE_ARCH = "${MACHINE_ARCH}"
> +
> +SRC_URI[md5sum] = "673e9548172698ebd48713ebedff500c"
> +SRC_URI[sha256sum] = "ae6ec048b570157130e9f9069f2495caf0da9eefa8d7f3b1789f3346fb16f696"
> diff --git a/recipes/clutter/clutter-gtk_0.10.4.bb b/recipes/clutter/clutter-gtk_0.10.4.bb
> new file mode 100644
> index 0000000..8f4e6a8
> --- /dev/null
> +++ b/recipes/clutter/clutter-gtk_0.10.4.bb
> @@ -0,0 +1,12 @@
> +require clutter-gtk.inc
> +
> +PR = "r0"
> +
> +SRC_URI = "http://source.clutter-project.org/sources/clutter-gtk/0.10/clutter-gtk-${PV}.tar.bz2 \
> +          "
> +
> +DEPENDS = "clutter"
> +
> +SRC_URI[md5sum] = "fd015e8080e1212dacc95d0e3d776d0d"
> +SRC_URI[sha256sum] = "0134a8de202c518e231f340f5f2f3e988350105de9fadd0e849f08d95ac1b912"
> +
> diff --git a/recipes/clutter/clutter.inc b/recipes/clutter/clutter.inc
> index fce3236..8f38419 100644
> --- a/recipes/clutter/clutter.inc
> +++ b/recipes/clutter/clutter.inc
> @@ -4,7 +4,7 @@ LICENSE = "LGPL"
>
>  COMPATIBLE_MACHINE = "(zylonite|mx31litekit|omap-3430ldp|omap-3430sdp|mx31ads|qemuarm|qemux86|ipodtouch|am3517-evm|dm3730-am3715-evm|beagleboard|overo|omap3evm|
> omap5912osk)"
>
> -STDDEPENDS = "virtual/libx11 gtk-doc-native pango glib-2.0 libxfixes gtk+"
> +STDDEPENDS = "virtual/libx11 gtk-doc-native pango glib-2.0 libxfixes gtk+ cairo"
>  BASE_CONF = "--disable-gtk-doc ${@get_clutter_fpu_setting(bb, d)}"
>
>  DEPENDS = "${STDDEPENDS} virtual/libgl"
> diff --git a/recipes/clutter/clutter_1.2.10.bb b/recipes/clutter/clutter_1.2.10.bb
> new file mode 100644
> index 0000000..298972d
> --- /dev/null
> +++ b/recipes/clutter/clutter_1.2.10.bb
> @@ -0,0 +1,18 @@
> +require clutter.inc
> +
> +PR = "${INC_PR}.0"
> +
> +SRC_URI = "http://source.clutter-project.org/sources/clutter/1.2/clutter-${PV}.tar.bz2 \
> +          "
> +
> +PARALLEL_MAKE = ""
> +
> +do_compile_prepend() {
> +       for i in $(find ${S} -name Makefile) ; do
> +               sed -i -e s:-Werror::g $i
> +       done
> +    ( cd clutter/cogl/gles ; for i in *.glsl ; do sh stringify.sh -h $i ; done )
> +}
> +
> +SRC_URI[md5sum] = "ca8dbc4a65c55720779872c13eac86ba"
> +SRC_URI[sha256sum] = "26cdee7a528eb1346553d16ae8d8d87f35a8a46c0a86829eabd227067e84da5d"
> --
> 1.5.3.4
> -----------------------------------------------------------------------------------------------------------------------------------------
>
> Some comments of what I did:
>
> 1. clutter-box2d does use latest git because the stable version is missing HAVE_INTROSPECTION (see
> http://git.clutter-project.org/clutter-box2d/commit/?id=dae84a82efe22b284cba8ca1985ce14bb4e86c99)
> 2. In clutter-box2d.inc I removed PACKAGE_ARCH = "${MACHINE_ARCH}" because I had the feeling that this caused OE build an empty image.
> 3. To get clutter-gst I did several attempts:
>        - With or without PACKAGE_ARCH = "${MACHINE_ARCH}"
>        - Checked poky recipes
>        - Tried with latest git version
>
> All compiling attempts lead to a bunch of warnings like
>
> | /home/Superandi/OpenEmbedded/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/gstreamer-0.10/gst/gstmessage.h: In function 'gst_message_ref':
> | /home/Superandi/OpenEmbedded/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/gstreamer-0.10/gst/gstmessage.h:306: warning: cast increases required alignment of target type
> | /home/Superandi/OpenEmbedded/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/gstreamer-0.10/gst/gstmessage.h: In function 'gst_message_copy':
> | /home/Superandi/OpenEmbedded/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/gstreamer-0.10/gst/gstmessage.h:344: warning: cast increases required alignment of target type
>
> and ends up in error
>
> | ./clutter-gst-video-sink.c:138: error: expected ')' before 'GLUNIFORM1IPROC'
> | ./clutter-gst-video-sink.c:140: error: expected ')' before 'GLGENPROGRAMSPROC'
> | ./clutter-gst-video-sink.c:141: error: expected ')' before 'GLBINDPROGRAMPROC'
> | ./clutter-gst-video-sink.c:142: error: expected ')' before 'GLPROGRAMSTRINGPROC'
> | ./clutter-gst-video-sink.c:147: error: expected specifier-qualifier-list before 'GLGENPROGRAMSPROC'
>
> The code found from clutter-gst-video-sink.c:138 is
>
> typedef void (APIENTRYP GLUNIFORM1IPROC)(GLint location, GLint value);
> /* GL_ARB_fragment_program */
> typedef void (APIENTRYP GLGENPROGRAMSPROC)(GLsizei n, GLuint *programs);
> typedef void (APIENTRYP GLBINDPROGRAMPROC)(GLenum target, GLuint program);
> typedef void (APIENTRYP GLPROGRAMSTRINGPROC)(GLenum target, GLenum format,
>                                             GLsizei len, const void *string);
>
> I seems that APIENTRYP is not defined. APIENTRYP is found in <OEDir>/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/GL/gl.h the mesa OpenGL header which is not to be included
> here. The header of interest which is coming from libgles-omap3 in <OEDir>/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/GLES2/gl2.h does not define APIENTRYP.
>
> OK these are the symthoms.
>
> What is a good solution? Creating a patch which adds APIENTRYP (and others) to GLES2/gl2.h? I am afraid that this is not the solution because the warnings make me feel that it might leed to a
> successful build but will the code work as expected? To me it seems that there is some configure/automake option not properly feeded - especially if you take a look on clutter-gst-video-sink.c:
> It seems there is code to feed shaders (do we have any on omap3?). Is possible that clutter-gst is not suitable for omap3 or did it ever build?
>
> I would be very pleased to get some suggestions on this...
>
>

what it seems to me is that you need
to bump some of dependency versions too
it could be a long list of recipes or
short if you are lucky

> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel at lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
>




More information about the Openembedded-devel mailing list