Compiling Ekiga
Steps: Download sources → Compile → Execute and Debug
You need to compile, in order, ptlib, opal, and ekiga.
Some outdated information on compiling on FreeBSD is at compile on FreeBSD.
Windows compilation is different, see Building Ekiga for Windows.
Contents |
Dependencies
All the dependencies are tracked by configure, as usually.
Not included specially, the usual tools, like a working C/C++ compiling environment and so...
PTLib
Mandatory and optional dependencies: autotools-dev, doxygen, pkg-config, bison, flex, libssl-dev, libldap2-dev, libsasl2-dev, libkrb5-dev, libexpat1-dev, libsdl1.2-dev, libdv4-dev, libv4l-dev, libasound2-dev.
Information about some flags:
- libexpat1-dev: needed for presence indication.
- libasound2-dev: optional, if you wish to have ALSA support.
Opal
Mandatory and optional dependencies: doxygen, autotools-dev, pkg-config, libpt-dev, libcelt-dev, libtheora-dev, libgsm1-dev, libspeex-dev, libspeexdsp-dev, libcapi20-dev.
For non-free codecs, see below their dependencies.
Ekiga
Mandatory and optional dependencies: libsasl2-dev, gettext, libldap2-dev, libpt-dev, libopal-dev, libgconf2-dev, libxv-dev, autotools-dev, gnome-pkg-tools, rarian-compat, intltool, libxml-parser-perl, evolution-data-server-dev, gnome-doc-utils, libavahi-client-dev, libavahi-glib-dev, libgtk2.0-dev, libdbus-glib-1-dev, libnotify-dev, libebook1.2-dev, libxext-dev, boost base and signals, libv4l-dev (for video device hotplugging I think).
If you use git repository, you need autotools (automake, autoconf) and gnome-common (containing file gnome-autogen.sh) too.
Information about some flags:
- gnome-common: to support GNU autotools with some scripts
- libsdl: for full screen support
- libebook: for Evolution mail client integration
- dbus-glib: for automatic discovering of devices
Compiling instructions
Note: make sure you do not have ptlib, opal and ekiga installed on your computer before compiling them, see #Uninstall Ekiga for more information.
The compilation is mostly plug'n'play, using the common triple of configure && make && make install (make install as root, if necessary). As usually, you need to install all headers of libraries you want to use a certain feature (e.g. OpenLDAP or ALSA), because otherwise ptlib/opal/ekiga will spit out a message ("checking for ...: no") and silently disable support for that feature.
I assume that common options, like --prefix are known and used.
PTLib
Note that v4l is disabled by default; if you need it, add --enable-v4l to ./configure.
Notes on ptlib and opal: The path to the directory where they are installed must not contain spaces; also, you need to build them from their directory, as shown below; finally, using CFLAGS and LDFLAGS is not reliable.
Example:
./configure --prefix=/usr make make install
Opal
Example:
./configure --prefix=/usr make make install
Note: on some systems, such as Mandriva [1], you can receive an error about not finding ptlib during configure execution. In that case you might precede configure command with pkgconfig information, like this:
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig ./configure --prefix=/usr
Ekiga
If you have downloaded Ekiga from git repository, then you don't have a configure script. You should use ./autogen.sh instead of ./configure below (giving the same parameters).
The following options (among others) are recognized:
-
--disable-gdudisables the generation of the help documentation files (readable with GNOME yelp). -
--disable-gconfdisables GCONF support- it's experimental and was introduced to make the WIN32-port possible
- it saves it config AND addressbooks into a FILE (usually ~/.config/ekiga.conf or whatever was reported by GLib)
- for the moment, expect some weirdness with the UI and some config keys
-
--disable-dbusdisables DBUS support for automatic discovery of devices
Note for version >= 4.0.0: neighbours (seing all ekiga users in the same network, zeroconf, avahi) are disabled by default, so use --enable-avahi if you need this.
Example:
./configure --prefix=/usr make make install
Additional dependencies of specific video codecs
Generally, GNU/Linux distributions strip out "non-free" codecs. You can check if your distribution allows them by installing libav/ffmpeg and use the following command:
$ objdump -T /usr/lib/libavcodec.so.5*|grep 26[34]_decoder
If it shows some lines, then you have them. Note: this command works only for old versions of libavcodec.
Otherwise, you need to build them manually, as shown below.
ffmpeg / libav
FFMPEG is required for the following video codecs:
If you use ekiga >= 3.3.2, then you can install libav/ffmpeg 0.6.2 or later like this:
./configure --enable-shared make sudo make install
x264
x264 is required for the following video codecs:
- H.264 via RFC 3984
If you use ekiga >= 3.3.2, then you can install libx264, version 107 or later like this:
./configure --enable-shared make sudo make install
Uninstall Ekiga
If you want do compile and install (new versions of) ekiga, you should make sure before that you do not have them already installed.
Check if you have previously installed PTlib, Opal, and Ekiga
Some versions of Linux (like Ubuntu) install Ekiga automatically with Gnome Desktop as it is part of it. If you or your distro have installed Ekiga before, you most likely already have a version of PTlib & Opal installed. You must check to see what versions you have before downloading other versions. Unless you remove older versions before you start, there is a chance you'll create multiples versions of these libraries on your system, which will stop you from compiling Ekiga.
You can check your version of Ekiga from Ekiga's Help → About menu, or open a Terminal and at the prompt, type:
$ ekiga --version
This will show you the version of Ekiga if any properly installed on your system.
You may want to have a closer look to be sure there is no ptlib and opal in your system as those libraries can be used by other programs than Ekiga:
Type:
$ whereis ptlib $ whereis opal $ whereis ekiga
Alternatively, you can use find to get a list of a program's locations, searching in /usr is usualy a good start:
$ find /usr -name '*libpt*' $ find /usr -name '*opal*' $ find /usr -name '*ekiga*'
This will show you if PTlib, Opal & Ekiga has been installed.
Uninstall previously installed ptlib, opal, and Ekiga
First, you should try your package manager which is distro dependant: Debian and Ubuntu use synaptic and apt,... and search for "libpt" "opal" "ekiga" in it. Then uninstall all libpt/opal/ekiga packages (ptlib sometimes comes with plugins in separate packages, uninstall them all).
FIXME: list of package managers per distro
If Ekiga was installed from sources, it is recommended you uninstall them by:
$ cd to appropriate directory (where you compiled Ekiga, then Opal and finaly ptlib)
and as root for each source:
# make uninstall
$ sudo make uninstall