Compiling GStreamer On The XO: Difference between revisions

From OLPC
Jump to navigation Jump to search
No edit summary
 
(8 intermediate revisions by 4 users not shown)
Line 1: Line 1:
This is a work-in-progress document. Any suggestions/better ideas are much appreciated :)
This is a work-in-progress document. Any suggestions/better ideas are much appreciated :)

*As of 8/17/09, Pitivi, and Gstreamer work just as they come from the repository, with the newest Fedora Core 11 build. See [[pitivi on Fedora Core 11]], and the more difficult effort to backport [[pitivi on build 802]] of the XO.

NOTE: YOU DO NOT WANT TO DO THIS UNLESS YOU /NEED/ CUTTING-EDGE GSTREAMER ON THE XO. [http://people.collabora.co.uk/~daf/olpc-gst/ These] should be new enough for most media work--this is necessary primarily for development of the [[Projects/VideoEditing]] application.


This guide is based on the [http://www.pitivi.org/wiki/GStreamer_CVS_Setup_Page GStreamer Setup Page] from the [http://www.pitivi.org/wiki PiTiVi Wiki].
This guide is based on the [http://www.pitivi.org/wiki/GStreamer_CVS_Setup_Page GStreamer Setup Page] from the [http://www.pitivi.org/wiki PiTiVi Wiki].

This is all represented in a script [http://boringclothes.com/svn/xo/gstreamer/auto-configure.sh] in the [[Projects/VideoEditing]] repository, but it may time out in Sugar.


=== Getting Dependencies ===
=== Getting Dependencies ===
Lots to install:
su -l
su -
yum install -y make gcc autoconf automake gettext-devel libtool cvs svn git bison bison-devel flex flex-devel glib2-devel libxml2 libxml2-devel
yum install -y make gcc autoconf automake gettext-devel libtool cvs \
svn git bison bison-devel flex flex-devel glib2-devel libxml2 \
libxml2-devel alsa-devel alsa-lib-devel libogg-devel libvorbis-devel \
libtheora-devel libX11-devel libXv-devel gcc-c++ libpng-devel


we need to remove liboil so we can get a newer version. this clobbers totem, totem-mozplugin along with all of gstreamer, so we need to do some removing, installing, and rebuilding. get the liboil rpms:
We also need to compile the newest liboil from source
http://rpm.pbone.net/index.php3/stat/4/idpl/6705758/com/liboil-0.3.14-1.fc9.i386.rpm.html
checkout:
http://rpm.pbone.net/index.php3/stat/4/idpl/6705759/com/liboil-devel-0.3.14-1.fc9.i386.rpm.html
git clone git://anongit.freedesktop.org/git/liboil

su -
yum remove liboil
rpm -vi liboil-0.3.14-1.fc9.i386.rpm
rpm -vi liboil-devel-0.3.14-1.fc9.i386.rpm

let's put everything back with the new liboil:

su -
yum install -y totem totem-mozplugin gstreamer gstreamer-python \
gstreamer-pluging-base gstreamer-plugins-good gnonlin


=== Compiling GStreamer ===
=== Compiling GStreamer ===
Once the dependencies are met, instructions on the [http://www.pitivi.org/wiki/GStreamer_CVS_Setup_Page PiTiVi GStreamer Setup Page] work more-or-less the same way. This takes <i>forever</i> on the XO.
Once the dependencies are met, instructions on the [http://www.pitivi.org/wiki/GStreamer_CVS_Setup_Page PiTiVi GStreamer Setup Page] work more-or-less the same way. This takes <i>forever</i> on the XO.

For the PiTiVi port to work, we need new versions of--at the very least--gstreamer, gst-plugins-base, gst-plugins-good, and gnonlin. I'm having trouble getting the gstreamer-python bindings updated without breaking all of Sugar, but this may not be necessary.

[[Category:Software development]]

Latest revision as of 01:28, 18 August 2009

This is a work-in-progress document. Any suggestions/better ideas are much appreciated :)

  • As of 8/17/09, Pitivi, and Gstreamer work just as they come from the repository, with the newest Fedora Core 11 build. See pitivi on Fedora Core 11, and the more difficult effort to backport pitivi on build 802 of the XO.

NOTE: YOU DO NOT WANT TO DO THIS UNLESS YOU /NEED/ CUTTING-EDGE GSTREAMER ON THE XO. These should be new enough for most media work--this is necessary primarily for development of the Projects/VideoEditing application.

This guide is based on the GStreamer Setup Page from the PiTiVi Wiki.

This is all represented in a script [1] in the Projects/VideoEditing repository, but it may time out in Sugar.

Getting Dependencies

Lots to install:

su -
yum install -y make gcc autoconf automake gettext-devel libtool cvs \ 
svn git bison bison-devel flex flex-devel glib2-devel libxml2 \
libxml2-devel alsa-devel alsa-lib-devel libogg-devel libvorbis-devel \
libtheora-devel libX11-devel libXv-devel gcc-c++ libpng-devel

we need to remove liboil so we can get a newer version. this clobbers totem, totem-mozplugin along with all of gstreamer, so we need to do some removing, installing, and rebuilding. get the liboil rpms: http://rpm.pbone.net/index.php3/stat/4/idpl/6705758/com/liboil-0.3.14-1.fc9.i386.rpm.html http://rpm.pbone.net/index.php3/stat/4/idpl/6705759/com/liboil-devel-0.3.14-1.fc9.i386.rpm.html

su -
yum remove liboil
rpm -vi liboil-0.3.14-1.fc9.i386.rpm
rpm -vi liboil-devel-0.3.14-1.fc9.i386.rpm

let's put everything back with the new liboil:

su -
yum install -y totem totem-mozplugin gstreamer gstreamer-python \
gstreamer-pluging-base gstreamer-plugins-good gnonlin

Compiling GStreamer

Once the dependencies are met, instructions on the PiTiVi GStreamer Setup Page work more-or-less the same way. This takes forever on the XO.

For the PiTiVi port to work, we need new versions of--at the very least--gstreamer, gst-plugins-base, gst-plugins-good, and gnonlin. I'm having trouble getting the gstreamer-python bindings updated without breaking all of Sugar, but this may not be necessary.