Compile your own SVN version of Ekiga on Ubuntu
From Ekiga
This how-to is for Ubuntu 7.10 Gutsy and Ubuntu 8.04 Hardy .
Important: OPAL don't need a recent FFMPEG any more, thus Ekiga SVN will install without messing your Ubuntu distribution as it did previously. Only the stable version of Ekiga and its dependencies (PTLIB and OPAL) will be removed from your distribution. (2008-05-23)
Check if you have the necessary repositories
SET the repositories we need to gracefully resolve build and runtime dependencies
<user>@<computer>:~$ gksudo gedit /etc/apt/sources.list
You can add this line at the end of the file (this is the official repository):
deb http://archive.ubuntu.com/ubuntu gutsy main universe multiverse
In case you want to compile for Ubuntu Hardy use this repository:
deb http://archive.ubuntu.com/ubuntu hardy main universe multiverse
Update your local package database:
<user>@<computer>:~$ sudo apt-get update
Remove your stable version of Ekiga
Remove libpt, opal and ekiga packages. This will remove the meta-package ubuntu-desktop as well.
sudo aptitude remove ~n^ekiga ~n^libpt[-] ~n^libopal[-]
PTLIB
Create a directory for your build (if you're using Ubuntu Hardy replace the following command by "mkdir build-hardy" and replace all the gutsy by hardy in the rest of this tutorial):
<user>@<computer>:~$ mkdir build-gutsy <user>@<computer>:~$ cd build-gutsy/ <user>@<computer>:~/build-gutsy$
Build time dependencies for PTLIB:
<user>@<computer>:~/build-gutsy$ sudo aptitude install libdc1394-dev bison flex libssl-dev libldap2-dev libexpat1-dev g++ autotools-dev libasound2-dev libavc1394-dev libraw1394-dev libdv-dev libsasl2-dev linux-libc-dev
Install Subversion:
<user>@<computer>:~/build-gutsy$ sudo aptitude install subversion
Download source for PTLIB:
<user>@<computer>:~/build-gutsy$ svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/trunk ptlib
<user>@<computer>:~/build-gutsy$ cd ptlib/
<user>@<computer>:~/build-gutsy/ptlib/$ ./configure --enable-plugins --enable-v4l2=yes --enable-sunaudio=no --enable-oss=yes --prefix=/usr --disable-sdl
Sometimes I've problem with AVC and DC plugins (either broken in PTLib, or broken in the distro), in this case add this to the configure above:
--disable-avc --disable-dc
<user>@<computer>:~/build-gutsy/ptlib/$ make
<user>@<computer>:~/build-gutsy/ptlib/$ sudo make install
OPAL
<user>@<computer>:~/build-gutsy/pwlib/$ cd ..
<user>@<computer>:~/build-gutsy/$ svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/opal/trunk opal
Build time dependencies:
<user>@<computer>:~/build-gutsy/$ sudo aptitude install libspeex-dev libx264-dev libtheora-dev libavcodec-dev libavformat-dev
<user>@<computer>:~/build-gutsy/$ cd opal/
<user>@<computer>:~/build-gutsy/opal$ ./configure --prefix=/usr --enable-localspeex
[snip]
================ Codec Plugin configuration ===================
Installing into prefix : /usr
H.261 : enabled
H.263 : enabled
H.263+ : enabled
H.264 : enabled
THEORA : enabled
MPEG4 Part 2 : enabled
OS Type : linux-gnu
Machine Type : x86_64
If all settings are OK, type make and make install
========================================================
<user>@<computer>:~/build-gutsy/opal$ make
<user>@<computer>:~/build-gutsy/opal$ sudo make install
Ekiga
<user>@<computer>:~/build-gutsy/opal$ cd ..
<user>@<computer>:~/build-gutsy$ svn co http://svn.gnome.org/svn/ekiga/trunk ekiga
<user>@<computer>:~/build-gutsy$ cd ekiga/
Build time dependencies for Ekiga:
<user>@<computer>:~/build-gutsy/ekiga$ sudo aptitude install gnome-common libsasl2-dev gettext libgnome2-dev libldap2-dev libgconf2-dev autoconf libgnomeui-dev libxv-dev intltool automake1.8 scrollkeeper libxml-parser-perl evolution-data-server-dev libavahi-common-dev libavahi-client-dev libavahi-glib-dev gnome-doc-utils libsigc++-2.0-dev libdbus-glib-1-dev libebook1.2-dev
<user>@<computer>:~/build-gutsy/ekiga$ ./autogen.sh --prefix=/usr --sysconfdir=/etc/
================ Final configuration ===================
Installing into prefix : /usr
OPAL Version is : 3.1.0
OPAL Directory is : /usr
PTLIB Version is : 2.1.0
PTLIB Directory is : /usr
ptlib-config is : /usr/bin/ptlib-config
GNOME support : enabled
GConf support : enabled
Evolution-Data-Server support : enabled
Esound support : enabled
LDAP support : enabled
XVideo support : enabled
DBUS support : enabled
mDNS/DNS-SD support : enabled
OS Type : linux-gnu
Machine Type : x86_64
If all settings are OK, type make and make install
========================================================
Now type `make' to compile ekiga
<user>@<computer>:~/build-gutsy/ekiga$ make
<user>@<computer>:~/build-gutsy/ekiga$ sudo make install
Ekiga run-time
In order to get Ekiga working, you need to install some run-time dependencies:
<user>@<computer>:~/build-gutsy/ekiga$ sudo aptitude install libart-2.0-2 libatk1.0-0 libavahi-client3 libavahi-common3 libavahi-glib1 libbonobo2-0 libbonoboui2-0 libc6 libcairo2 libdbus-1-3 libdbus-glib-1-2 libebook1.2-9 libedataserver1.2-9 libesd-alsa0 libfontconfig1 libfreetype6 libgcc1 libgconf2-4 libglib2.0-0 libgnome-keyring0 libgnome2-0 libgnomecanvas2-0 libgnomeui-0 libgnomevfs2-0 libgtk2.0-0 libice6 liborbit2 libpango1.0-0 libpng12-0 libpopt0 libsigc++-2.0-0c2a libsm6 libstdc++6 libx11-6 libxcursor1 libxext6 libxfixes3 libxi6 libxinerama1 libxml2 libxrandr2 libxrender1 libxv1 zlib1g evolution-data-server hal network-manager
Try it:
<user>@<computer>:$ ekiga
Gconf error?
If you have a stable version of ekiga in your system, your freshly installed version of Ekiga SVN might complain about gconf. Use this command to fix it:
<user>@<computer>:$ killall -9 gconfd-2
How to search the Ekiga White Pages ?
As now, the SVN version do not have the settings filled for the Ekiga White Pages, you must enter the necessary datas yourself in Tools -> Find Contacts -> AddressBook -> Add an LDAP AddressBook:
Ekiga White Pages ldap.ekiga.net 389 dc=ekiga,dc=net Subtree telephoneNumber
How-to upgrade to a newer SVN checkout ?
Remove the binaries
Go into each folder where you previously build and use this command sudo make uninstall to uninstall the binaries and make clean to clean your build directory:
<user>@<computer>:~$ cd ~/build-gutsy/ptlib <user>@<computer>:~/build-gutsy/ptlib$ sudo make uninstall <user>@<computer>:~/build-gutsy/ptlib$ make clean <user>@<computer>:~/build-gutsy/ptlib$ cd ~/build-gutsy/opal <user>@<computer>:~/build-gutsy/opal$ sudo make uninstall <user>@<computer>:~/build-gutsy/opal$ make clean <user>@<computer>:~/build-gutsy/opal$ cd ~/build-gutsy/ekiga <user>@<computer>:~/build-gutsy/ekiga$ sudo make uninstall <user>@<computer>:~/build-gutsy/ekiga$ make clean
Upgrade your SVN copies
Go into each folder (PTLIB, OPAL and Ekiga) and use this command svn update:
<user>@<computer>:~$ cd ~/build-gutsy/ptlib <user>@<computer>:~/build-gutsy/ptlib$ svn update (...) Updated to revision 19500. <user>@<computer>:~/build-gutsy/ptlib$ cd ~/build-gutsy/opal <user>@<computer>:~/build-gutsy/opal$ svn update (...) Updated to revision 19500. <user>@<computer>:~/build-gutsy/opal$ cd ~/build-gutsy/ekiga <user>@<computer>:~/build-gutsy/ekiga$ svn update (..) Updated to revision 5964.
Upgrade your system
<user>@<computer>:~$ sudo apt-get update <user>@<computer>:~$ sudo apt-get dist-upgrade
Build the binaries
PTLIB
<user>@<computer>:~$ cd ~/build-gutsy/ptlib/ <user>@<computer>:~/build-gutsy/ptlib$ ./configure --enable-plugins --enable-v4l2=yes --enable-sunaudio=no --enable-oss=yes --prefix=/usr --disable-sdl <user>@<computer>:~/build-gutsy/ptlib$ make <user>@<computer>:~/build-gutsy/ptlib$ sudo make install
OPAL
<user>@<computer>:~/build-gutsy/ptlib$ cd ../opal/ <user>@<computer>:~/build-gutsy/opal$ ./configure --prefix=/usr --enable-localspeex <user>@<computer>:~/build-gutsy/opal$ make <user>@<computer>:~/build-gutsy/opal$ sudo make install
Ekiga
<user>@<computer>:~/build-gutsy/opal$ cd ../ekiga/ <user>@<computer>:~/build-gutsy/ekiga$ ./autogen.sh --prefix=/usr --sysconfdir=/etc/ <user>@<computer>:~/build-gutsy/ekiga$ make <user>@<computer>:~/build-gutsy/ekiga$ sudo make install
Give it a try
<user>@<computer>:~/build-gutsy/ekiga$ ekiga
Sometimes, I've a crash at startup. You can try this:
<user>@<computer>:$ killall -9 gconfd-2
Enjoy.
Automated installation using a bash script
WARNING: This is experimental software, use it at your own risks! It will remove your stable Ekiga. This script is for Hardy 8.04. (but if you change the 9th line to Gutsy, it should work for this distro too)
#!/bin/bash #This is a script to install Ekiga from the svn repository # Version 0.5: Fixed the removal of ekiga related packages (the pattern was too large removing more packages than necessary, thanks to sankalpo) # Version 0.4: Removed FFMPEG installation, OPAL's configure can now deal with it # Version 0.3: Default to Ubuntu Hardy 8.04 LTS # Version 0.2: with debug symbols echo "Starting the Ekiga SVN installation script" echo " " echo "deb http://archive.ubuntu.com/ubuntu hardy main universe multiverse" | sudo tee -a /etc/apt/sources.list echo " " echo "Removing stable Ekiga, if any" echo " " sudo aptitude remove ~n^ekiga ~n^libpt[-] ~n^libopal[-] echo "Updating your /etc/apt/sources.list..." sudo aptitude update echo "Installing build tools..." echo " " sudo aptitude install build-essential subversion echo "Installing PTLIB" echo "Requesting for download and install PTLIB build dependencies..." echo " " sudo aptitude install libdc1394-dev bison flex libssl-dev libldap2-dev libexpat1-dev g++ autotools-dev libasound2-dev libavc1394-dev libraw1394-dev libdv-dev libsasl2-dev linux-libc-dev echo "Creating the build directory in your home directory..." echo " " mkdir /home/$(whoami)/build-ekiga-svn cd /home/$(whoami)/build-ekiga-svn echo "Downloading the SVN checkout for PTLIB..." echo " " svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/trunk ptlib echo "Building PTLIB..." echo " " cd ptlib/ ./configure --enable-plugins --enable-v4l2=yes --enable-sunaudio=no --enable-oss=yes --prefix=/usr --disable-sdl make DEBUG=1 debug sudo make DEBUG=1 install cd .. echo "Installing OPAL" echo "Requesting for download and install OPAL build dependencies..." echo " " sudo aptitude install libspeex-dev libx264-dev libtheora-dev libavcodec-dev libavformat-dev echo "Downloading the SVN checkout for OPAL..." echo " " svn co https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/opal/trunk opal cd opal/ echo "Building OPAL..." echo " " ./configure --prefix=/usr --enable-localspeex make DEBUG=1 debug sudo make DEBUG=1 install cd .. echo "Requesting for download and install Ekiga build dependencies..." echo " " sudo aptitude install gnome-common libsasl2-dev gettext libgnome2-dev libldap2-dev libgconf2-dev autoconf libgnomeui-dev libxv-dev intltool automake1.8 scrollkeeper libxml-parser-perl evolution-data-server-dev libavahi-common-dev libavahi-client-dev libavahi-glib-dev gnome-doc-utils libsigc++-2.0-dev libdbus-glib-1-dev libebook1.2-dev echo "Downloading the SVN checkout for Ekiga..." echo " " svn co http://svn.gnome.org/svn/ekiga/trunk ekiga cd ekiga/ echo "Building Ekiga..." echo " " ./autogen.sh --prefix=/usr --sysconfdir=/etc/ make DEBUG=1 sudo make install echo "Requesting for download and install Ekiga runtime dependencies..." echo " " sudo aptitude install libart-2.0-2 libatk1.0-0 libavahi-client3 libavahi-common3 libavahi-glib1 libbonobo2-0 libbonoboui2-0 libc6 libcairo2 libdbus-1-3 libdbus-glib-1-2 libebook1.2-9 libedataserver1.2-9 libesd-alsa0 libfontconfig1 libfreetype6 libgcc1 libgconf2-4 libglib2.0-0 libgnome-keyring0 libgnome2-0 libgnomecanvas2-0 libgnomeui-0 libgnomevfs2-0 libgtk2.0-0 libice6 liborbit2 libpango1.0-0 libpng12-0 libpopt0 libsigc++-2.0-0c2a libsm6 libstdc++6 libx11-6 libxcursor1 libxext6 libxfixes3 libxi6 libxinerama1 libxml2 libxrandr2 libxrender1 libxv1 zlib1g evolution-data-server hal network-manager echo "Requesting for download and install GNUdebugger and debug packages for some of Ekiga's major dependencies..." echo " " sudo aptitude install libglib2.0-0-dbg libgtk2.0-0-dbg libgnomevfs2-0-dbg gdb echo "Restart GConf deamon..." echo " " killall -9 gconfd-2 echo "Thank you for installing Ekiga SVN." echo "Enjoy Ekiga. Run it with 'ekiga'"
As you are using a SVN version of Ekiga now, please read this page to know more on how to report failure/crash to us: Debugging Ekiga
Quick instructions to run Ekiga for debugging purpose
You can try this:
$ gdb ekiga 2>&1 | tee gdb-ekiga.txt
Then, inside gdb:
(gdb) run -d 4 > d4-ekiga.txt 2>&1
Inside the directory you are running Ekiga SVN 2 files will be created: gdb-ekiga.txt which contains backtraces in case of a crash and d4-ekiga.txt which contains protocol related information in case of failure trying to call etc.
If Ekiga crash, do this to get the backtrace inside gdb-ekiga.txt:
(gdb) thread apply all bt (gdb) quit
If Ekiga freeze, do a CTRL-C and this to get the backtrace inside gdb-ekiga.txt:
(gdb) thread apply all bt (gdb) quit
Automated upgrade of Ekiga SVN using a bash script
#!/bin/bash #This is a script to upgrade Ekiga from the svn repository # Version 0.3: Removed FFMPEG upgrade # Version 0.2: with debug symbols echo "Starting the Ekiga SVN upgrade script" echo " " cd /home/$(whoami)/build-ekiga-svn/ptlib sudo make uninstall make clean cd ../opal sudo make uninstall make clean cd ../ekiga sudo make uninstall make clean cd ../ptlib svn update cd ../opal svn update cd ../ekiga svn update cd ../ptlib/ ./configure --enable-plugins --enable-v4l2=yes --enable-sunaudio=no --enable-oss=yes --prefix=/usr --disable-sdl make DEBUG=1 debug sudo make DEBUG=1 install cd ../opal/ ./configure --prefix=/usr --enable-localspeex make DEBUG=1 debug sudo make DEBUG=1 install cd ../ekiga/ ./autogen.sh --prefix=/usr --sysconfdir=/etc/ make DEBUG=1 sudo make install killall -9 gconfd-2 echo "Thank you for upgrading Ekiga SVN." echo "Enjoy Ekiga. Run it with 'ekiga'"
Automated removal of Ekiga SVN using a bash script
#!/bin/bash #This is a script to remove Ekiga svn # Version 0.2: Removed FFMPEG removal, added debug packs removal echo "Starting the Ekiga SVN removal script" echo " " cd /home/$(whoami)/build-ekiga-svn/ptlib sudo make uninstall make clean cd ../opal sudo make uninstall make clean cd ../ekiga sudo make uninstall make clean sudo aptitude remove libglib2.0-0-dbg libgtk2.0-0-dbg libgnomevfs2-0-dbg gdb echo "Ekiga has been removed."
How to debug Ekiga? How to report a crash?
Please, read this page: Debugging Ekiga

