rocksdb
rocksdb copied to clipboard
Build and link libfolly with RocksDB
The current integration with folly requires cherry-picking folly source files to include in RocksDB for external CI builds. Its not scaleable as we depend on more features in folly, such as coroutines. This PR adds a dependency from RocksDB to the folly library when USE_FOLLY
or USE_COROUTINES
are set. We build folly using the build scripts in third-party/folly
, relying on it to download and build its dependencies. A new Makefile
target, build_folly
, is provided to make building folly easier.
A new option, USE_FOLLY_LITE
is added to retain the old model of compiling selected folly sources with RocksDB. This might be useful for short-term development.
What version of gcc does folly require? I use Ubuntu 20.04 and 22.04 -- both are LTS (long term supported) but 22.04 has yet to be fully released. With 20.04 the default gcc is 9.4 and with 22.04 it is 11.2.
What version of gcc does folly require? I use Ubuntu 20.04 and 22.04 -- both are LTS (long term supported) but 22.04 has yet to be fully released. With 20.04 the default gcc is 9.4 and with 22.04 it is 11.2.
@mdcallag Folly coroutine support requires gcc 10 or newer. But if you're not using coroutines, gcc 7+ would work.
@anand1976 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.
@anand1976 has updated the pull request. You must reimport the pull request before landing.
@anand1976 has updated the pull request. You must reimport the pull request before landing.
@anand1976 has updated the pull request. You must reimport the pull request before landing.
@anand1976 has updated the pull request. You must reimport the pull request before landing.
@anand1976 has updated the pull request. You must reimport the pull request before landing.
@anand1976 has updated the pull request. You must reimport the pull request before landing.
@anand1976 has updated the pull request. You must reimport the pull request before landing.
@anand1976 has updated the pull request. You must reimport the pull request before landing.
@anand1976 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.
@anand1976 has updated the pull request. You must reimport the pull request before landing.
@anand1976 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.
@anand1976 has updated the pull request. You must reimport the pull request before landing.
@anand1976 has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.