This page describes how to build Kaa using its source code.

Before building Kaa from source, ensure that Oracle JDK 7 and Apache Maven are installed on your machine.

Building Kaa with default Java client

To build Kaa with the default Java client, proceed as follows:

  1. Clone or download the sources from GitHub.
  2. Execute the following command to build all the server and java client components into either Debian or RPM packages.

    NOTE

    The Debian build will work correctly on both Linux and Windows operation systems, while an RPM build will work only on Linux operated machines with the RPM tool installed.

    mvn -DBUILD_NUMBER=1 -DGIT_COMMIT=2 -P jenkins,compile-gwt,build-sandbox clean install verify
    mvn -DBUILD_NUMBER=1 -DGIT_COMMIT=2 -P jenkins,compile-gwt,build-sandbox,build-rpm clean install verify

     

    NOTE

    For the mvn command, the build number and git commit variables are set to emulate jenkins build variables that are substituted automatically on the build machine.
    Compiling the GWT profile is critical to getting the Admin UI working, but can be skipped during regular builds.
    The build-sandbox profile is necessary to trigger a sandbox build, which may be quite resource/time consuming.

Building Kaa with two clients: C++ client and default Java client

To build C++ client SDK libraries, a few C++ platform dependent features must be installed beforehand.

The C++ endpoint build that uses maven is based on the shell script invocation. The current version of the build can only work on Unix.

System requirements

Ensure that your system meets the following requirements.

 RequirementsRecommended version
CompilerC++11 standard supportg++ 4.7
Build systemCMakecmake 2.8.8+

Third party components

The following third party libraries are required for Kaa installation.

LibraryLinkRequired version
Boosthttp://www.boost.org1.55.0
AvroC++http://avro.apache.org1.7.6
Botanhttp://botan.randombit.net1.10

To install these components, proceed as follows.

  1. Install the libbz2-dev and zlib1g-dev libraries by executing the following command.

    sudo apt-get install maven cmake libbz2-dev zlib1g-dev
  2. Install the Boost libraries (Kaa client requires log, system, and unit_test_framework libraries) either automatically or manually.

    NOTE

    If Boost-1.55.0 version is not available in your OS package repository, you need to install it manually.

    1. For automatic installation, execute the following commands.

      sudo apt-get install libboost-log-dev
      sudo apt-get install libboost-system-dev
      sudo apt-get install libboost-unit_test_framework-dev
    2. For manual installation, refer to the following example.

      wget -O boost.tar.gz <boost_download_link>
      tar -xvf boost.tar.gz
      # Go to unpacked directory
      ./bootstrap.sh --without-libraries=coroutine,chrono,graph,graph_parallel,math,python,wave
      ./b2
      sudo ./b2 install
  3. Install the AvroC++ library manually as illustrated in the following example.

    wget -O boost.tar.gz <boost_download_link>
    tar -xvf boost.tar.gz
    # Go to unpacked directory
    ./bootstrap.sh --without-libraries=coroutine,chrono,graph,graph_parallel,math,python,wave
    ./b2
    sudo ./b2 install
  4. Install the Botan library by executing the following command.

     sudo apt-get install libbotan1.10-dev
  5. After the required libraries are installed, you can build the C++ SDK and all server components by executing the following command.

    mvn -DBUILD_NUMBER=1 -DGIT_COMMIT=2 -P jenkins,compile-client-cpp,compile-gwt,build-sandbox,build-rpm clean install

Running Kaa

To start all the Kaa components, execute the following script.

for x in `cd /etc/init.d ; ls kaa-*` ; do sudo service $x start ; done

A similar script, as shown in the following example, can be used to restart or stop all the components.

for x in `cd /etc/init.d ; ls kaa-*` ; do sudo service $x restart ; done
for x in `cd /etc/init.d ; ls kaa-*` ; do sudo service $x stop ; done

Further reading

Use the following guides and references to make the most of Kaa.

GuideWhat it is for
Installation guideUse this guide to configure Kaa after the installation or to set up a Kaa cluster. This guide also provides instructions on how to install Kaa by downloading an installation package.
Design referenceUse this reference to learn about features and capabilities of Kaa.
Programming guideUse this guide to create your own Kaa applications.

Copyright © 2014, CyberVision, Inc.