You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
sems/docs/installation.md

3.0 KiB

Compilation and installation

Compile from sources

This guide instructs you how to manually compile SEMS from sources and prepare it for further usage.

First of all get the latest version of SEMS from the GH repository with the command:

git clone https://github.com/sipwise/sems.git

If you still don't have git tool in your environment, just install git package from an official repository of your distribution.

Now, it may happen there is a need for specific version of SEMS, like those LTS versions project provides. For that to work run the following command being in the directory of cloned repository:

git checkout --track origin/<version>

Example:

git checkout --track origin/mr13.2.1

Tips and tricks: it may happen you have an older version of repository locally, and hence you lack certain newer versions, to fix that just run git fetch origin.

Compilation. The compilation process has some of basic package requirements:

g++, make, pkg-config

Alternatively you can just install build-essential package, which will bring you g++, make and other important tools and libraries.

There are also some specific dependencies, which some of the modules (applications) require:

libev-dev, libevent-dev, libhiredis-dev, libmysql++-dev, libopus-dev, libre2-dev, libspandsp-dev, libspeex-dev, libssl-dev, libxml2-dev, python3-dev

To start the compilation just run the following command from your local copy of repository, this will compile the whole amount of available applications for you (.so objects) as well as the main executable (binary file):

make all

Now an executable binary file is placed in core/ as well as all applications and modules compiled accordingly in .so format and placed each in own directory (and also you can find them in core/lib/).

In order to deploy (install) them on the system, just run:

make install

Installation will likely require sudo rights on the system.

This now makes SEMS ready to use on your installation. To proceed with configurations, see relevant part of the guide.

To clean a directory (local copy of SEMS repo) from compilation results, just run this:

make clean

Compile for test and development purposes

SEMS project also supports a compilation for development and test purposes, like e.g. one would like to add certain fix via pull request and quickly compile most important parts (after fix is added locally) execluding from compilation all extra stuff.

For that to work, run:

make TEST_ENVIRONMENT=yes

Same will apply for a case of cleaning:

make clean TEST_ENVIRONMENT=yes

Tips and tricks for developers: use -j option with make, in order to compile using multi-threading (what makes it faster). Be cautious! Your system must have enough CPU resource to not get stuck.

Compile specific parts

Compile SEMS core only:

make -C core

Compile specific module/application only:

make -C apps/dsm

Compile SEMS core and specific module/application:

make -C core && make -C apps/dsm