Child pages
  • Building
Skip to end of metadata
Go to start of metadata

Building can be done from different OS's because Mock is being used to build RPM's, for example Centos, Fedora.


Install prerequisites:

yum install git autoconf automake httpd genisoimage sudo


Note: It's advised not to build from the root user. This will cause that some scripts wil run as user root, which is not the way things are designed, this will cause looping scripts which will crash your system. You must start SipXcom as root though; this process will start parts of it with the right user.

Create a different user with sudo permissions. 

useradd -m sipx
passwd sipx
# add sipx as sudo user
sipx    ALL=(ALL)       NOPASSWD:ALL


Login again as the sipx user and checkout source code, specific branch and update submodules

git clone
git checkout -B release-15.04 origin/release-15.04
git submodule init && git submodule update


autoreconf -if
mkdir build && cd build

Configure the build:


For creating RPM's (default distro is centos-6-x86_64):

../configure --enable-rpm

To build for a different DISTRO submit this in the configure like so:

../configure --enable-rpm DISTRO="fedora-19-x86_64"

Finalize setting up your build system. You can edit if needed for your specific situation.

sudo ./

If you want to just build, install and run on your local machine:

sudo mkdir  /usr/local/sipx
sudo chown sipx.sipx /usr/local/sipx
make sipx


If you want to create RPM files:


Setup the Mock environment, this will be used as a chroot environment to build everything.

make repo-init


Build all libraries required to run SipXcom. You can put those on your repo server so that all dependencies are there. It also possible to get the dependencies from and some epel mirror.

make lib.rpm


Make SipXcom RPM's

make sipx.rpm



//todo create ISO



If you're experiencing troubles with dart-sdk try installing the latest version from If you have glibc version trouble with the binary versions you can also try to manually extract the Debian version of the SDK, this is based on an older version of Glibc.



The RPM build process only rebuilds modules that have changes in source code. If you want to force rebuilding a specific module you can remove the checksum files for that module from the build directory:

rm build/.centos-6-x86_64.sipXconfig.rpm*