Luke Carrier

Compiling SFLphone from source on Ubuntu 12.10

Published 3 years ago

SFLphone is a nifty little SIP client that's ideal for working with an Asterisk server. It's lightweight, has few dependencies and has a very easy to use GUI, but unfortunately hasn't been packaged very well (the current PPA stable build doesn't run). To fix it, you'll want to build it from source. The following should do it...

Install the dependencies

$ sudo apt-get install \
        autoconf build-essential git libtool \
        gnome-doc-utils \
        libcommoncpp2-dev libdbus-1-dev \
        libccrtp-dev libasound2-dev libpulse-dev libsamplerate0-dev libzrtpcpp-dev libdbus-c++-dev libyaml-dev libpcre3-dev libgsm1-dev libspeex-dev libspeexdsp-dev libcelt-dev libexpat1-dev libnotify-dev libgtk2.0-dev libdbus-glib-1-dev

Clone the source code

$ git clone https://github.com/LukeCarrier/sflphone.git
$ cd sflphone

Compile pjproject

Compiling without -fPIC causes the daemon build to fail with "could not read symbols" errors:

$ pushd daemon/libs/pjproject
$ CFLAGS='-fPIC' ./configure --prefix=$HOME/Applications/SFLphone
$ unset CFLAGS
$ make dep
$ make
$ popd

Install the sflphoned daemon

$ pushd daemon
$ ./autogen.sh
$ ./configure –prefix=$HOME/Applications/SFLphone
$ make
$ make install
$ popd

Install the Gnome GUI

$ pushd gnome
$ ./autogen.sh
$ ./configure –prefix=$HOME/Applications/SFLphone
$ make
$ make install

Then compile glib schemas for gsettings:

$ mkdir -p $HOME/Applications/SFLphone/share/glib-2.0/schemas
$ cp data/org.sflphone.SFLphone.gschema.xml $HOME/Applications/SFLphone/share/glib-2.0/schemas
$ glib-compile-schemas $HOME/Applications/SFLphone/share/glib-2.0/schemas
$ popd

Alter search paths for just this session

You'll need to do this every time you want to run SFLphone. Stick it in a shellscript if you want to run it on start up, or package your build accordingly.

$ export PATH=$PATH:$HOME/Applications/SFLphone/bin
$ export XDG_DATA_DIRS=$XDG_DATA_DIRS:$HOME/Applications/SFLphone/share
$ exec dbus-launch $SHELL # dbus only reads configuration on launch

Run the application

$ sflphone-client-gnome