BuildingGstPluginsBaseInMinGWMsys

Back to contents

Building Gst-Plugins-Base. You'll need a lot of 3rd-party libraries. Some of them are optional, others are not. Let's start with mandatory ones.

Install prereqisites

Install liboil

Go to http://liboil.freedesktop.org/download/

Download latest liboil source package:

liboil-0.3.17.tar.gz

Unpack it into c:\src

cd /c/src/liboil-0.3.17
CPPFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure 
make
make install

Install optional packages

Install ogg

Go to http://www.xiph.org/downloads/

Download latest libogg:

libogg-1.2.0.tar.gz

Unpack to c:\src

cd /c/src/libogg-1.2.0
CPPFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure
make
make install

Install Theora

Go to http://www.xiph.org/downloads/

Download latest libtheora:

libtheora-1.1.1.tar.bz2

Unpack to c:\src

cd /c/src/libtheora-1.1.1
CPPFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure --disable-examples
make
make install

--disable-examples disables building of examples, obviously. These examples require a few 3rd-party libraries that we did not yet installed. And we don't need these examples, so the choice is simple.

During configure phase i have experienced some strange error messages related to libgmp-3.dll when building libtheora with GCC-4.4.0, however they do not seem to do any harm (other than being annoying).

Install Vorbis

Go to http://www.xiph.org/downloads/

Download the latest libvorbis source package:

libvorbis-1.3.1.tar.gz

Unpack to c:\src

cd /c/src/libvorbis-1.3.1
CPPFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure
make
make install

Install libvisual

Go to http://sourceforge.net/project/showfiles.php?group_id=106542&package_id=114832

Download latest libvisual:

libvisual-0.4.0.tar.bz2

Unpack to c:\src

Modify c:\src\libvisual-0.4.0\libvisual\lv_os.c

Change:

        ret = sched_setscheduler (getpid (), SCHED_FIFO, &attr);

to

        ret = sched_setscheduler (getpid (), SCHED_FIFO);

and:

        ret = sched_setscheduler (getpid (), SCHED_OTHER, &attr);

to

        ret = sched_setscheduler (getpid (), SCHED_OTHER);

cd /c/src/libvisual-0.4.0
CPPFLAGS="-fno-common" LDFLAGS="-no-undefined" LIBS=-lpthread ./configure
make
make install

Modify c:\msys\local\lib\libvisual-0.4.la:

Remove

-lm

from the line that starts with

dependency_libs=

Modify c:\msys\local\lib\pkgconfig\libvisual-0.4.pc:

Remove

-lm

from the line that starts with

Libs:

Install orc

Get orc-0.4.4.tar.gz from http://code.entropywave.com/download/orc/

cd /c/src/orc-0.4.4
CPPFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure
make
make install

Install schroedinger

Go to http://diracvideo.org/download/schroedinger/

Download latest schroedinger:

schroedinger-1.0.9.tar.gz

Unpack to c:\src

cd /c/src/schroedinger-1.0.9
CPPFLAGS="-fno-common" LDFLAGS="-no-undefined" ./configure
make
make install

Build gst-plugins-base

To get gst-plugins-base:

cd /c/src
git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-base

To configure gst-plugins-base:

cd gst-plugins-base
CPPFLAGS="-fno-common" LDFLAGS="-no-undefined" ./autogen.sh --disable-gtk-doc --enable-experimental --with-libintl-prefix=/mingw

That's all plugins for Gst-Plugins-Base.

To build Gst-Plugins-Base:

cd /c/src/gst-plugins-base
make
make install

To extract Gst-Plugins-Base installation:

make install DESTDIR=/something/other/than/root

Installing gst-plugins-base

You'll have to copy your local/etc/fonts somewhere (usually to /etc/fonts at gstreamer directory), else fontconfig won't find its config file and all pango-based text output (such as subtitles) will be screwed up.