Sep 4, 2009

How to build Clutter for Beagleboard

The Clutter need to be configured with =flavour=eglnative= so that it can work with SGX driver
The following is the configure command
./configure --with-flavour=eglnative --host=arm-angstrom-linux-gnueabi PKG_CONFIG=/data/workspace/OE/tmp/staging/i686-linux/usr/bin/pkg-config PKG_CONFIG_PATH=/data/workspace/OE/tmp/staging/armv7a-angstrom-linux-gnueabi/usr/lib/pkgconfig CFLAGS="--sysroot=/data/workspace/OE/tmp/staging/armv7a-angstrom-linux-gnueabi/ -I/data/workspace/OE/tmp/staging/armv7a-angstrom-linux-gnueabi/usr/include" --with-x=no --with-gles=1.1 --with-imagebackend=internal

  • --host: set the target for the build, need to be arm-angstrom-linux-gnueabi
  • PKG_CONFIG: use the pgk-config command from OE distribution
  • PKG_CONFIG_PATH: the path to search for *.pc file, need to be pointed to OE distribution
  • --with-x: not using X
  • --with-imagebackend: specific the image backend to use
  • --with-gles: specific the GLES version to use (1.1 or 2.0)
  • CFLAGS: override some C compiler flags
  • --sysroot: the root directory to search for library and header files
  • -I[include_dir]: some optional include directories to search for


Unknown said...

Thanks for the great tutorial!
My problem is when i use ./configure with your option it shows me:

checking for CLUTTER_DEPS... configure: error: Package requirements (cairo >= 1.4 pangocairo >= 1.20 gobject-2.0 >= 2.16 gthread-2.0 gmodule-no-export-2.0 ) were not met:

No package 'cairo' found
No package 'pangocairo' found

should i compile cairo and pangocairo for arm or what should i do?

Hieu Le Trung said...

Yes, you need to compile cairo and pango as well as Clutter's dependencies in order to build clutter

Unknown said...

Should i compile the dependencies for arm or for my host pc?

Can you post how to compile cairo for example?

Unknown said...


I now had run a successful configure
but when i type "make" it shows:

Making all in build
Making all in autotools
Making all in clutter
GEN stamp-clutter-marshal.h
/bin/sh: line 2: --prefix=clutter_marshal: command not found
make[2]: *** [stamp-clutter-marshal.h] Error 127
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Hieu Le Trung said...

That error is because you don't have glib-genmarshal command in the PATH.
Set your path point to glib-genmarshal command and configure again.

Unknown said...

Sorry for bothering you but i
have an other problem:

The genmarshal problem was ok!
But then it shows:

It seems that he is missing glib-object.h

What the problem now? :-)

Thanks in advance

sizeburns said...

Thanks for the instructions, but I don't think you mention what version of clutter you are giving instructions for.

I am having this make failure:

Making all in common
CC cogl-current-matrix.o
cogl-current-matrix.c: In function '_cogl_get_client_stack':
cogl-current-matrix.c:65: error: 'CoglContext' has no member named 'projection_s

Any idea why? thanks!

Unknown said...

Clutter version used is 0.8.8