Compile your own SVN version of Ekiga on FreeBSD

From Ekiga
(Difference between revisions)
Jump to: navigation, search
(Patches for FreeBSD: Patch vide committed)
(No patch needed anymore)
Line 1: Line 1:
[[image:Gnome-status.png]] This page might be outdated; if you run into problems, use the updated generic instructions at [[Compiling Ekiga]].
[[image:Gnome-status.png]] This page might be outdated; if you run into problems, use the updated generic instructions at [[Compiling Ekiga]].
Line 34: Line 33:
  $ svn export <code><nowiki></nowiki></code> opal
  $ svn export <code><nowiki></nowiki></code> opal
  $ git clone <code><nowiki>git://</nowiki></code>
  $ git clone <code><nowiki>git://</nowiki></code>
==Patches for FreeBSD==
Until know you need the following patches to make and run  PTLib, OPAL and Ekiga:
* ekiga/ to point it to the correct include dir for autogen tool:
It might happen that the patches meanwhile got incorporated into the repository. If you run into problems, check if they are included.
==The Making of PTLib==
==The Making of PTLib==

Revision as of 07:23, 25 May 2011

Gnome-status.png This page might be outdated; if you run into problems, use the updated generic instructions at Compiling Ekiga.



This HOWTO is still under construction. I will describe as a step by step guide how to build PTLib 2.10.0, OPAL 3.10.0 and finally (the future) Ekiga 3.4.0 from the sources pulled out of the repository SVN and Git.

It is assumed that you have installed:

1. FreeBSD 9-CURRENT (or 8.2-STABLE)
2. the KDE 3.5.10 meta port /usr/ports/x11/kde3
3. the kernel module pwc.ko, or webcamd(8) and a cam
   supported by it;
4. access as 'root' to your system

A list of webcams supported in FreeBSD you may find here:

Emblem-important.png You must install KDE from the above port 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 ptlib
$ svn export opal
$ git clone git://

The Making of PTLib

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

$ cd ~/myEkiga
$ cat > <<EOF
./configure --enable-plugins                \
           --enable-v4l                     \
           --enable-bsdvideo=no             \
           --enable-sunaudio=no             \
           --enable-oss=yes                 \
           --enable-pulse=no                \
           --enable-opal                    \
           --prefix=/usr/local              \
           --disable-sdl                    \
           CPPFLAGS='-I/usr/local/include/' \
           CFLAGS='-I/usr/local/include/'   \
$ chmod +x

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

$ cd ~/myEkiga/ptlib
$ ../
$ 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 /usr/ports/multimedia/x264.

The script and build values for OPAL are:

$ cd ~/myEkiga
$ cat > <<EOF
./configure --prefix=/usr/local                     \
           --enable-x264=runtime                    \
           CPPFLAGS="-I/usr/local/include"          \
           CFLAGS="-I/usr/local/include"            \
           LDFLAGS="-L /usr/local/lib"
$ chmod +x
$ cd ~/myEkiga/opal
$ ../

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.1/codecs/audio
Video Codec plugin install prefix: ${libdir}/opal-3.10.1/codecs/video
LID plugin install prefix        : ${libdir}/opal-3.10.1/lid
FAX plugin install prefix        : ${libdir}/opal-3.10.1/fax

                             GSM :  yes (internal)
                         GSM-AMR :  yes
                            iLBC :  yes (system)
                           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  :  runtime (x264)
                         THEORA  :  yes
                   MPEG4 Part 2  :  yes (no rate control correction)

                    SpanDSP FAX  :  no

          Quicknet xJACK support :  no
        Voicetronics VPB support :  yes

                        OS Type  :  freebsd9.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 > <<EOF
./                                    \
            --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" \
$ chmod +x

And finally we make Ekiga with

$ cd ~/myEkiga/ekiga
$ ../
$ gmake
# gmake install</nowiki>
Personal tools