src/yb/rocksdb/INSTALL.md
Important: If you plan to run RocksDB in production, don't compile using default
make or make all. That will compile RocksDB in debug mode, which is much slower
than release mode.
RocksDB's library should be able to compile without any dependency installed, although we recommend installing some compression libraries (see below). We do depend on newer gcc/clang with C++11 support.
There are few options when compiling RocksDB:
[recommended] make static_lib will compile librocksdb.a, RocksDB static library. Compiles static library in release mode.
make shared_lib will compile librocksdb.so, RocksDB shared library. Compiles shared library in release mode.
make check will compile and run all the unit tests. make check will compile RocksDB in debug mode.
make all will compile our static library, and all our tools and unit tests. Our tools
depend on gflags. You will need to have gflags installed to run make all. This will compile RocksDB in debug mode. Don't
use binaries compiled by make all in production.
By default the binary we produce is optimized for the platform you're compiling on
(-march=native or the equivalent). If you want to build a portable binary, add 'PORTABLE=1' before
your make commands, like this: PORTABLE=1 make static_lib
You can link RocksDB with following compression libraries:
All our tools depend on:
Linux - Ubuntu
sudo apt-get install libgflags-dev
If this doesn't work and you're using Ubuntu, here's a nice tutorial:
(http://askubuntu.com/questions/312173/installing-gflags-12-04)sudo apt-get install libsnappy-dev.sudo apt-get install zlib1g-dev.sudo apt-get install libbz2-dev.Linux - CentOS
Upgrade your gcc to version at least 4.7 to get C++11 support:
yum install gcc47-c++
Install gflags:
wget https://gflags.googlecode.com/files/gflags-2.0-no-svn-files.tar.gz
tar -xzvf gflags-2.0-no-svn-files.tar.gz
cd gflags-2.0
./configure && make && sudo make install
Install snappy:
wget https://snappy.googlecode.com/files/snappy-1.1.1.tar.gz
tar -xzvf snappy-1.1.1.tar.gz
cd snappy-1.1.1
./configure && make && sudo make install
Install zlib:
sudo yum install zlib
sudo yum install zlib-devel
Install bzip2:
sudo yum install bzip2
sudo yum install bzip2-devel
OS X:
xcode-select --install (or install it from XCode App's settting).xcode-select --install in your command line.brew tap homebrew/versions; brew install gcc47 --use-llvm to install gcc 4.7 (or higher).brew install rocksdbiOS:
TARGET_OS=IOS make static_lib. When building the project which uses rocksdb iOS library, make sure to define one important pre-processing macro: IOS_CROSS_COMPILE.Windows: