NOTE: This guide is currently incomplete.
Install general dependencies:
sudo apt-get install git build-essential cmake pkg-config libboost-dev libboost-test-dev \
libboost-program-options-dev libevent-dev automake libtool flex bison pkg-config \
libssl-dev libsoup2.4-dev libboost-system-dev libboost-filesystem-dev \
libogg-dev libtheora-dev libasound2-dev libvorbis-dev libpango1.0-dev \
libvisual-0.4-dev libffi-dev libgmp-dev
Install a Java JDK (if you don't already have one available):
sudo apt-get install openjdk-7-jdk
Kurento uses Apache Thrift, so we will need to build that for our machine first (well at least that's what I did, because I couldn't find a suitable installation candidate). I chose to build against the git repository as I encountered this error when attempting to compile the 0.9.1
source tarball.
git clone https://git-wip-us.apache.org/repos/asf/thrift.git thrift
cd thrift/
git checkout thrift-0.9.1 -b build
./bootstrap.sh
./configure
make
sudo make install
cd ..
If the above instructions fail for any reason, then consult the Thrift Building from Source documentation.
Next, we will need to build gstreamer 1.x
from source as support for gstreamer on Debian Wheezy seems pretty poor. If you are following these instructions on a later distribution of Debian or Ubuntu you may be able to skip this step:
wget http://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.2.2.tar.xz
tar xf gstreamer-1.2.2.tar.xz
cd gstreamer-1.2.2
./configure
make
sudo make install
cd ..
Next, we will build orc as it is required by the gstreamer base plugins if we want it to be as fast as possible:
wget http://code.entropywave.com/download/orc/orc-0.4.18.tar.gz
tar xf orc-0.4.18.tar.gz
cd orc-0.4.18
./configure
make
sudo make install
cd ..
Next, we will build the base gstreamer plugins:
wget http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.2.2.tar.xz
tar xf gst-plugins-base-1.2.2.tar.xz
cd gst-plugins-base-1.2.2
./configure
make
sudo make install
cd ..
Next, we need to build and compile a number of libraries that are used by kurento that don't have recent enough versions available in the debian package repositories.
First glib (>= 2.38.2 required):
wget ftp://ftp.gnome.org/pub/gnome/sources/glib/2.38/glib-2.38.2.tar.xz
tar xf glib-2.38.2.tar.xz
cd glib-2.38.2
./configure
make
sudo make install
cd ..
Next, nice (>= 0.1.3
required):
wget http://nice.freedesktop.org/releases/libnice-0.1.4.tar.gz
tar xf libnice-0.1.4.tar.gz
cd libnice-0.1.4
./configure
make
sudo make install
cd ..
Next libnettle (>= 2.7
required to build gnutls):
wget http://www.lysator.liu.se/~nisse/archive/nettle-2.7.1.tar.gz
tar xf nettle-2.7.1.tar.gz
cd nettle-2.7.1
./configure
make
sudo make install
cd ..
Next, gnutls (>= 3.2.0
required):
wget ftp://ftp.gnutls.org/gcrypt/gnutls/v3.2/gnutls-3.2.10.tar.xz
tar xf gnutls-3.2.10.tar.xz
cd gnutls-3.2.10
./configure --disable-static --with-default-trust-store-file=/etc/ssl/ca-bundle.crt
make
sudo make install
cd ..
Clone the kurento-media-server project:
git clone https://github.com/Kurento/kurento-media-server
cd kurento-media-server
Initialise git submodules:
git submodule init
git submodule update
Run cmake:
cmake .