使用makefile编译
按照INSTALL.md文件进行,并设置环境变量
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/lib
CPATH=${CPATH}:/usr/local/include
make -j release 即可。
然而,编译发现db_bench仍然找不到gflag库。
解决办法:在/etc/ld.so.conf文件中增加一行
cat /etc/ld.so.conf
include ld.so.conf.d/*.conf
/usr/local/lib
Run ldconfig to tell it to update the cache :
sudo ldconfig
再验证一下
ldconfig -p | grep local
可得下面结果
使用CMAKE编译
后期RocksDB一般使用CMAKE编译,根据需要选择不同参数,如
cmake -DCMAKE_BUILD_TYPE=DEBUG -DROCKSDB_BUILD_SHARED=0 ..
或
cmake -DCMAKE_BUILD_TYPE=Release -DWITH_GFLAGS=1 -DWITH_BENCHMARK_TOOLS=1 -DWITH_JEMALLOC=1 -DWITH_LZ4=1 ..
一般的格式为
cmake -DCMAKE_BUILD_TYPE=${BUILD_MODE} -DCMAKE_INSTALL_PREFIX=${PROJECT_DIR}/deps/rocksdb -DWITH_GFLAGS=0 -DWITH_CORE_TOOLS=0 -DWITH_TOOLS=0 -DUSE_RTTI=1 -DWITH_JEMALLOC=0 -DWITH_BENCHMARK_TOOLS=0 -DWITH_JNI=0 -DROCKSDB_BUILD_SHARED=0 -DWITH_TESTS=0 -DWITH_LZ4=1 -DPORTABLE=1 -DWITH_ASAN=1 ..