Building

Issam Maghni edited this page Jan 19, 2018 · 13 revisions

There are two ways of building uMumur.

  1. CMake
  2. GNU Autotools (deprecated and will be removed in a future release)

Whichever way you choose, there are some dependencies that need to be installed in order to successfully build uMurmur.

Dependencies

Aside of a C compiler, uMurmur requires the following libraries to be available:

One of:

Debian GNU/Linux

To install the required packages on Debian 8 Jessie use these commands:

$ sudo apt install libconfig-dev libprotobuf-c-dev

and choose either one of these:

$ sudo apt install libpolarssl-dev

or

$ sudo apt install libssl-dev

Using GnuTLS on Debian GNU/Linux is currently not supported as the version that ships in the repository is too old.

Gentoo GNU/Linux

To install the required libraries on Gentoo GNU/Linux use these commands:

# emerge -a dev-libs/libconfig
# emerge -a dev-libs/protobuf-c

and choose any one of these:

# emerge -a net-libs/gnutls

or

# emerge -a dev-libs/openssl

or

# emerge -a net-libs/polarssl

Using CMake

To build uMurmur using CMake, at least CMake version 2.8.3 is required. If you are new to CMake, it is good practice to build the product 'out-of-tree'. In the following instructions, it is assumed you are starting inside your clone of the uMurmur repository.

$ cd ..
$ mkdir umurmur-build
$ cd umurmur-build
$ cmake ../umurmur
$ make
$ sudo make install

Configuration options

As with GNU Autotools, there are some configuration options you might be interested in setting:

-DSSL=[openssl|mbedtls|polarssl|gnutls]

Select the TLS backend. The default is polarssl.

-DUSE_SHAREDMEMORY_API=[On|Off]

Enables/Disables the SharedMemory API. The default is Off.

-DUSE_{POLARSSL,MBEDTLS}_TESTCERT=[On|Off]

Use the PolarSSL/mbedTLS testing certificate. The default is Off.

-DUSE_{POLARSSL,MBEDTLS}_HAVEGE=[On|Off]

Use the PolarSSL/mbedTLS HAVEGE random number generator. The default is Off.

-DBUILD_UMURMUR_MONITOR=[On|Off]

Build the umurmur-monitor utility. The default is Off.

Please note that if you would like to build the umurmur-monitor utility, you would need to either use the

--recursive

option when cloning uMurmur or supply

-DUMURMUR_MONITOR_SOURCE_DIR=<path-to-umurmur-monitor-clone>`

where <path-to-umurmur-monitor-clone> should be replaced with the patch to the cloned source code of umurmur-monitor

Using GNU Autotools (DEPRECATED)

Building with GNU Autotools is no longer supported, and the option to do so will be removed entirely in a future release. We strongly recommend that you build with cmake instead.

Make sure you have GNU Autotools installed. Afterwards you can use the following commands to build a default configuration of uMurmur:

$ ./autogen.sh
$ ./configure
$ make
$ sudo make install

Configuration options

You can supply different configuration options to the configure script:

--with-ssl=[openssl|polarssl|gnutls|mbedtls]

Selects the TLS backend. The default selection is polarssl

--enable-shmapi

Enables the SharedMemory API to use with tools like umurmur-monitor

--enable-polarssl-test-cert

Use the PolarSSL/mbedTLS testing certificate. !!!NOT INTENDED FOR PRODUCTION!!!

--enable-polarssl-havege

Use the PolarSSL/mbedTLS HAVEGE random number generator.

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.