Compile your own SVN version of Ekiga on FreeBSD

From Ekiga
Jump to: navigation, search

Gnome-status.png Last updated: 2013-05-19. This page is uptodate; if you run into problems, check also the generic instructions at Compiling Ekiga or contact the author of this page.

Contents

Preface

This HOWTO will describe as a step by step guide how to build

PTLib 2.10.11,
OPAL 3.10.11 and finally (the future)
Ekiga 4.0.x

from the sources pulled out of the repositories SVN and Git.

It is assumed that you have at least installed:

1. a recent FreeBSD 9.1 or 10-CURRENT
2. a very recent ports tree (i.e. /head) out of FreeBSD's SVN repository, 
   mine was r315646 as of April 1st, 2013;
3. a desktop compiled from this FreeBSD ports collection, i.e. one of the following
   meta-ports:
   ports/x11/kde3
   ports/x11/kde4 
   ports/x11/gnome2
   This will ensure at the same time that you get installed enough development
   infrastructure (gmake, autoconf, etc.) to be able to configure and compile
   the ptlib, opal and ekiga sources;
4. the port ports/multimedia/webcamd to get video cam support or the kernel module
   pwc.ko, and a cam supported by it;
5. the Gimp Toolkit for X11 from ports/x11-toolkits/gtk30 (gtk-3.6.4)
6. the Gnome icon theme at version gnome-icon-theme-3.4.0; this is actually
   not in the FreeBSD ports tree and must be fetched from here:
   http://www.marcuscom.com:8080/cgi-bin/cvsweb.cgi/ports/misc/gnome-icon-theme/
   it will conflict with the port's gnome-icon-theme-2.31.0_2, just deinstall
   the later;
7. access as 'root' to your system

A list of webcams supported in FreeBSD you may find here: http://wiki.freebsd.org/WebcamCompat

Emblem-important.png You must install KDE3, KDE4 or Gnome2 from the above ports because only this way you have enough development environment to make the porting of PTLib, OPAL and Ekiga happy.
Emblem-important.png Be also sure that you don't have installed PWLib, OPAL and Ekiga on the system; check it with:

# pkg_info | egrep -i 'pwlib|ptlib|opal|ekiga'

You should really deinstall this stuff because the header-files, for example, of the (older) installed PWLib interfier with the make process we will run.

Note: In this HOWTO the # means that the task should be done as 'root', while the $ means you should be yourself, some ordinary user.

First step

Create some top-level directory for your work and fetch the sources from SVN and Git repository:

$ mkdir ~/myEkiga
$ cd ~/myEkiga
$ svn export https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/ptlib/branches/v2_10 ptlib
$ svn export https://opalvoip.svn.sourceforge.net/svnroot/opalvoip/opal/branches/v3_10 opal
$ git clone git://git.gnome.org/ekiga

The Making of PTLib

For easy usage create small shell scripts to launch the configure commands, like this:

$ cd ~/myEkiga
$ cat > makePTLib.sh <<EOF
#!/bin/sh
./configure --enable-v4l                     \
           --enable-bsdvideo=no             \
           --enable-sunaudio=no             \
           --enable-oss=yes                 \
           --enable-pulse=no                \
           --prefix=/usr/local              \
           --disable-sdl                    \
           CPPFLAGS='-I/usr/local/include/' \
           CFLAGS='-I/usr/local/include/'   \
           LDFLAGS='-L/usr/local/lib'
EOF
$ chmod +x makePTLib.sh

Now go to PTLib top-level directory and fire up the engine

$ cd ~/myEkiga/ptlib
$ ../makePTLib.sh
$ gmake
# gmake install

If you later want to play around with some of the configuration options (as well in OPAL or Ekiga), just change them in the small shell scripts and make sure to run a gmake clean before the gmake.

The Making of OPAL

Gnome-status.png Note: For the H.264 support you should install the following port from the FreeBSD ports collection ports/multimedia/x264.

The script and build values for OPAL are:

$ cd ~/myEkiga
$ cat > makeOpal.sh <<EOF
#!/bin/sh
PKG_CONFIG_PATH=/usr/local/libdata/pkgconfig:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
./configure --prefix=/usr/local                     \
           --enable-x264=runtime                    \
           CPPFLAGS="-I/usr/local/include"          \
           CFLAGS="-I/usr/local/include"            \
           LDFLAGS="-L /usr/local/lib"
EOF
$ chmod +x makeOpal.sh
$ cd ~/myEkiga/opal
$ ../makeOpal.sh

The final configuration for all codecs plug'ins for later usage in Ekiga should look like this:

=================== Plugin configuration ======================
prefix                           : /usr/local
exec_prefix                      : ${prefix}
libdir                           : ${exec_prefix}/lib
Audio Codec plugin install dir   : ${libdir}/opal-3.10.11/codecs/audio
Video Codec plugin install prefix: ${libdir}/opal-3.10.11/codecs/video
LID plugin install prefix        : ${libdir}/opal-3.10.11/lid
FAX plugin install prefix        : ${libdir}/opal-3.10.11/fax
=
                             GSM :  yes (internal)
                         GSM-AMR :  yes
                            iLBC :  yes (internal)
                           Speex :  yes (system, version 1.2rc1)
                           G.722 :  yes
                         G.722.1 :  yes
                         G.722.2 :  yes
                           G.726 :  yes
                           LPC10 :  yes
                       IMA_ADPCM :  yes
                             SBC :  no
                            CELT :  yes
                            SILK :  yes
=
                          H.261  :  yes (vic)
                    H.263/H.263+ :  yes (ffmpeg)
                          H.264  :  yes (GPL x264)
                         THEORA  :  yes
                   MPEG4 Part 2  :  yes (no rate control correction)
=
                    SpanDSP FAX  :  no
=
          Quicknet xJACK support :  no
        Voicetronics VPB support :  no
=
                        OS Type  :  freebsd10.0
                   Machine Type  :  i386
========================================================

If all settings are OK, type gmake and (as root) gmake install

$ gmake
# gmake install

The Making of Ekiga

The script and build values for Ekiga are:

$ cd ~/myEkiga
$ cat > makeEkiga.sh <<EOF
#!/bin/sh
PKG_CONFIG_PATH=/usr/local/libdata/pkgconfig:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
./autogen.sh                                    \
            --with-opal-dir=/usr/local          \
            --prefix=/usr/local                 \
            --sysconfdir=/usr/local/etc/        \
            --datadir=/usr/local/share/         \
            --disable-doc                       \
            --disable-ldap                      \
            --disable-dbus                      \
            --disable-esd                       \
            --disable-eds                       \
            --disable-gnome                     \
            --enable-gconf                      \
            --includedir=/usr/local/include     \
            --with-ptlib-dir=/usr/local         \
            CFLAGS="-g -I /usr/local/include"   \
            CXXFLAGS="-g -I /usr/local/include" \
            GMSGFMT=/usr/local/bin/msgfmt
EOF
$ chmod +x makeEkiga.sh

And finally we make Ekiga with

$ cd ~/myEkiga/ekiga
$ ../makeEkiga.sh
$ gmake
# gmake install

Running Ekiga

Some hints about running Ekiga on FreeBSD.

  1. If your desktop is not Gnome, but KDE or any other smaller window manager, you must launch the Gnome settings gaemon:
$ /usr/local/libexec/gnome-settings-daemon &

Without this daemon a lot icons will not show up in Ekiga or any other GTK application.

Personal tools