Installation Guide

From Tapioca Project

Contents

Installing from source

You will need the Subversion (svn) revision control client. In this guide we will use Ubuntu 6.10 Edgy Eft, for it have some dependencies already packaged. But if you are using another distribution (or want to install everything from the source), just replace the apt-gets for your prefered installation procedure.

Download the sources

We will need telepathy-gabble for the jabber connection manager; libjingle, farsight and gst-plugins-farsight for the stream engine; and tapioca-glib itself. Optionally you can install tapioca-python, which is its binding. There are another implementations for qt4 and mono, but the process is very similar.

gabble
wget http://telepathy.freedesktop.org/releases/telepathy-gabble/telepathy-gabble-0.5.1.tar.gz
libjingle
svn co https://tapioca-voip.svn.sourceforge.net/svnroot/tapioca-voip/libjingle/trunk libjingle
farsight
wget http://farsight.freedesktop.org/releases/farsight/farsight-0.1.21.tar.gz
gst-farsight-plugins
wget http://farsight.freedesktop.org/releases/gst-plugins-farsight/gst-plugins-farsight-0.12.2.tar.gz
libtelepathy
wget http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-0.0.55.tar.gz
stream-engine
wget http://telepathy.freedesktop.org/releases/stream-engine/telepathy-stream-engine-0.3.23.tar.gz
tapioca-glib
svn co https://tapioca-voip.svn.sourceforge.net/svnroot/tapioca-voip/trunk/tapioca-glib tapioca-glib
tapioca-python
svn co https://tapioca-voip.svn.sourceforge.net/svnroot/tapioca-voip/trunk/tapioca-python tapioca-python

Check dependencies

The following packages are needed:

general
sudo apt-get install subversion automake1.9 libtool build-essential
telepathy-gabble
sudo apt-get install libloudmouth1-dev
farsight and gst-plugins-farsight
sudo apt-get install gtk-doc-tools libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev
tapioca-glib
sudo apt-get install libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev libssl-dev libexpat1-dev libasound2-dev libglade2-dev libgtk2.0-dev

(The last two packages in tapioca-glib are for the tests.)

tapioca-python
sudo apt-get install python-dev python-gobject-dev python-gtk2-dev

And now the build procedures. Follow the order when compiling the dependencies.

gabble

./configure
make
sudo make install

Tapioca modified libjingle

autoreconf -i -f
./configure
make
sudo make install

farsight

./configure --disable-jrtplib
make
sudo make install

gst-plugins-farsight

./configure --disable-jrtplib
make
sudo make install

Note: it's a good idea to check at this point whether gstreamer can find the new plugins. The tool gst-inspect-<version.number> can be used for this. If it doesn't find the new plugins (because they're not in the default search path), you can fix this either by setting an environment variable GST_PLUGIN_PATH to /usr/local/lib/gstreamer0.10, or making symbolic links to the plugins in ~/.gstreamer-<version.number>/plugins/.

libtelepathy

./configure
make
sudo make install

stream-engine

./configure
make
sudo make install

tapioca-glib

./autogen.sh
make
sudo make install

tapioca-python

./autogen.sh
make
sudo make install
  • Now, if everything went fine, you will have compiled and installed tapioca successfully.

Post-install configuration

  • Tapioca uses D-Bus activation to launch the necessary services. Per default (in most distributions), D-Bus listens to services installed on /usr/share/dbus-1/services. If you compiled tapioca with ./configure --prefix=/usr, you are fine, just ignore this, otherwise, you will probably want to add the prefix dir (default=/usr/local) to the D-Bus configuration file, in order to make D-Bus find the appropriate services and launch them. To do this, edit the file /etc/dbus-1/session.conf and add a servicedir line with the prefix you compiled tapioca and reload dbus session (normally restarting X is enough).

Eg.: <servicedir>/usr/local/share/dbus-1/services</servicedir>

Of course that if you don't want to do this, you will have to launch the services and the tapioca daemon manually, as we do in the example. If you want to test tapioca and don't want to edit your D-Bus configuration files (not always necessary, as explained above), just run the following

Testing

There is a directory tapioca-glib/tests, and we will use the client-connection test. It just connects some account, nothing more, but is enough to see if the things are working. In one terminal run Gabble:

GABBLE_PERSIST=1 telepathy-gabble

In another terminal run the Stream Engine:

STREAM_ENGINE_PERSIST=1 telepathy-stream-engine

And in another run client-connection, passing the account parameters via environment variables:

ACCOUNT=account@provider.com PASSWORD=blahblahblah ./client-connection

To get out just press CTRL+C.