I want to install a specific version of RocksDB across different machines with different operating systems. Thus I can't rely on APT or other package management systems. I followed INSTALL.md by running make on the bundled Makefile, but last Saturday, I found that RocksDB couldn't read Snappy compressed data, although I installed the "libsnappy-dev" package. I tried many different ways to enable Snappy support. Then I decided to use CMake, which appeared only once in INSTALL.md. Now it works. My install script looks like this:
#!/bin/bash
wget https://github.com/facebook/rocksdb/archive/refs/tags/v6.15.5.tar.gz -O - \
| gzip -d \
| tar -xf - \
&& pushd rocksdb-6.15.5 \
&& cmake -DWITH_SNAPPY=YES -DCMAKE_INSTALL_PREFIX=$MTDIR . \
&& DEBUG_LEVEL=0 PREFIX=$MTDIR make -j $(nproc) \
&& DEBUG_LEVEL=0 PREFIX=$MTDIR make install \
&& popd
$MTDIR is a target directory for installing RocksDB. DEBUG_LEVEL=0 and PREFIX=$MTDIR are perhaps not necessary.
Top comments (0)