On Tue, Jun 29, 2010 at 8:47 AM, Andreas Mueller <[email protected]> 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 <[email protected]> > 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 <[email protected]> > --- > 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 > [email protected] > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel > _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
