Apache Celix aims to be support a broad range of UNIX platforms.
Currently, the [continuous integration build server] builds and tests Apache Celix for:
To get started you first have to download the Apache Celix sources. This can be done by cloning the Apache Celix git repository:
#clone the repro git clone --single-branch --branch master https://github.com/apache/celix.git
Apache Celix uses CMake as build system. CMake can generate (among others) makefiles.
The following packages (libraries + headers) should be installed on your system:
For Ubuntu 20.04, use the following commands:
#### get dependencies sudo apt-get install -yq --no-install-recommends \ build-essential \ git \ curl \ uuid-dev \ libjansson-dev \ libcurl4-openssl-dev \ default-jdk \ libffi-dev \ libzip-dev \ libxml2-dev \ libczmq-dev \ libcpputest-dev \ rapidjson-dev #The cmake version for Ubuntu 20 is older than 3.14, #use snap to install the latest cmake version snap install cmake
For OSX systems with brew installed, use the following commands:
brew update && \ brew install lcov libffi libzip czmq rapidjson libxml2 cmake && \ brew link --force libffi
Use CMake and make to build Apache Celix
cd celix mkdir build cd build cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo .. make -j
With use of CMake, Apache Celix makes it possible to edit build options. This enabled users, among other options, to configure a install location and select additional bundles. To edit the options use ccmake or cmake-gui. For cmake-gui an additional package install can be necessary (Fedora: dnf install cmake-gui
).
cd celix/build ccmake . #Edit options, e.g. enable BUILD_REMOTE_SHELL to build the remote (telnet) shell #Edit the CMAKE_INSTALL_PREFIX config to set the install location
For this guide we assume the CMAKE_INSTALL_PREFIX is /usr/local
.
cd celix/build make -j sudo make install
If Apache Celix is successfully installed running
celix
should give the following output: “Error: invalid or non-existing configuration file: ‘config.properties’.No such file or directory”.
For more info how to build your own projects and/or running the Apache Celix examples see Celix Intro.
#bash git clone git@github.com:apache/celix.git mkdir celix/build cd celix/build cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../libs/etcdlib make -j sudo make install
#bash git clone git@github.com:apache/celix.git mkdir celix/build cd celix/build cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../libs/promises make -j sudo make install
#bash git clone git@github.com:apache/celix.git mkdir celix/build cd celix/build cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo ../libs/pushstreams make -j sudo make install