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.
