Skip to content
Snippets Groups Projects
  • Mehdi Abaakouk's avatar
    Allow to compile the extension everywhere · e4c0de94
    Mehdi Abaakouk authored
    This change:
    * uses to setuptools Cython automatic extension build system.
    * Add tox.ini to run tests and build docs into virtualenv
    * Add .travis.yaml and Dockerfile to run tests in CI
    * Change requirements to ensure:
      - Cython and setuptools are installed before we build the Cython
        extension
      - tests dependencies are not installed by default
      - doc dependencies are explicit
    * Add missing lz4 library
    * Allow to build the module with any librocksdb headers (no-rtti)
    
    Closes #15
    e4c0de94
installation.rst 1.65 KiB

Installing

With distro package and pypi

This requires librocksdb-dev>=5.0

apt-get install python-virtualenv python-dev librocksdb-dev
virtualenv venv
source venv/bin/activate
pip install pythin-rocksdb

From source

Building rocksdb

Briefly describes how to build rocksdb under an ordinary debian/ubuntu. For more details consider https://github.com/facebook/rocksdb/blob/master/INSTALL.md

apt-get install build-essential libsnappy-dev zlib1g-dev libbz2-dev libgflags-dev
git clone https://github.com/facebook/rocksdb.git
cd rocksdb
mkdir build && cd build
cmake ..
make

Systemwide rocksdb

The following command installs the shared library in /usr/lib/ and the header files in /usr/include/rocksdb/:

make install-shared INSTALL_PATH=/usr

To uninstall use:

make uninstall INSTALL_PATH=/usr

Local rocksdb

If you don't like the system wide installation, or you don't have the permissions, it is possible to set the following environment variables. These varialbes are picked up by the compiler, linker and loader

export CPLUS_INCLUDE_PATH=${CPLUS_INCLUDE_PATH}:`pwd`/../include
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:`pwd`
export LIBRARY_PATH=${LIBRARY_PATH}:`pwd`

Building python-rocksdb

apt-get install python-virtualenv python-dev
virtualenv venv
source venv/bin/activate
pip install git+git://github.com/twmht/python-rocksdb.git#egg=python-rocksdb