facebook / facebook/rocksdb

potentially outdated INSTALL.md?

Open
#8,078 2 comments 0 reactions 0 assignees View on GitHub
bug up-for-grabs
Dominant language
C++
Stars
32.1k
Forks
6.9k
Avg merge
32m
Merged PRs (30d)
1

Description

Hello

I just tried to compile latest version (6.17.3) following instructions on https://github.com/facebook/rocksdb/blob/master/INSTALL.md.
It wasn't very clear to me what is the right sequence of steps to compile optimized (production) shared object. I believe the first step is to generate make files with `cmake` like:

```
mkdir build && cd build &&
cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/tmp/install_dir
```
and then
```
make -j16 rocksdb-shared && make -j16 install
```

Please note that I used `rocksdb-shared ` target as opposite to `lib_shared` that is mentioned in the document. `lib_shared` seems not exist in the `Makefile` that was generated by the `cmake`.

The document says by default the generated `.so` is not optimized. ` -DCMAKE_BUILD_TYPE=Release` would be enough to trigger the optimized build?

I also run into issue with `pthread` which I had to modify the root level `CMakeLists.txt`
```
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
```

If you think these steps are correct and current document is outdated I am happy to make a PR.

Let me know what you think

Thanks
Bart

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.