Building librocksdb

Instructions for building rocksdb prior to creating a Zuar Runner Debian package. Assumes that the Zuar Runner repo is located in ~/mitto and the rocksdb repo is located in ~/rocksdb.

On the build machine, get and build rocksdb.

$ cd ~
$ ROCKSDB_VER=v6.17.3
$ git clone -b ${ROCKSDB_VER} --depth 1 https://github.com/facebook/rocksdb.git
$ cd rocksdb \

# If PORTABLE isn't set, one runs the risk of creating a library with
# instructions using CPU features that may not be present in the
# target systems.
$ PORTABLE=1 make shared_lib

# Not necessary to build, but necessary to actually run Zuar Runner
$ sudo make INSTALL_PATH=/usr install-shared

The above will create the following files/links:

$ cd ~
$ ls -ltr rocksdb/librocksdb*
-rwxr-xr-x 1 khe khe 169760472 Mar 18 08:58 rocksdb/librocksdb.so.6.17.3*
lrwxrwxrwx 1 khe khe        20 Mar 18 08:58 rocksdb/librocksdb.so.6.17 -> librocksdb.so.6.17.3*
lrwxrwxrwx 1 khe khe        20 Mar 18 08:58 rocksdb/librocksdb.so.6 -> librocksdb.so.6.17.3*
lrwxrwxrwx 1 khe khe        20 Mar 18 08:58 rocksdb/librocksdb.so -> librocksdb.so.6.17.3*

The .so file and related links are included in the Zuar Runner Debian package when it is built. Their exact location and path must be correct for packaging and package installation to work.

Zuar Runner

Update Zuar Runner

  1. mitto/DEBIAN/Makefile

  2. Possibly mitto/DEBIAN/debian/postinst

Build Zuar Runner Debian Package

Once rocksdb is built, Zuar Runner can be built.

$ cd ~/mitto
$ make all       # will eventually 'make DEBIAN'

CircleCI Repo

If the version of rocksdb has changed, the following must be updated:

  1. Dockerfile in circleci repo.

Build and push a new Docker image to CircleCI.