You will need to bring your own copies of:
In addition, LStore has build-time dependencies on
For centos, at least, these dependencies can be installed with:
yum groupinstall "Development Tools"
yum install cmake openssl-devel czmq-devel zmq-devel zlib-devel fuse-devel leveldb-devel
If the local CMake installation is too old, we install a local copy into build/
LStore uses CMake as its meta build system. To initialize the build system, execute:
cd build
cmake ..
Once the Makefile is initialized, commonly used targets include:
make externals
- build any neccessary external packagesmake all
- build LStore libraries and binariesmake docs
- build LStore documentationLStore uses a docker-based system for packaging LStore for various linux distributions. In general, the packaging scripts all accept a list of distributions on the command line. By default, each distribution will be attempted. These base images containing external dependencies and build tools can be bootstrapped with:
./scripts/build-docker-base.sh [distribution] [distribution] ...
For each supported distribution, a docker image named lstore/builder:DIST
will pe produced and tagged. For instance, a base Centos 7 image will be named
lstore/builder:centos-7
. These images can be updated by executing
build-docker-base.sh
again.
Once the base images are installed, the current source tree can be packaged with:
./scripts/package.sh [distribution] [distribution] ...
Once package.sh
completes, the output binaries for each distribution will be
stored in package/<distribution>/<package>/<revision>
. The revisions are
auto-generated by a heuristic that considers the number of git commits between
the working copy and the most recent release tag.