Skip to content

rocksdb: add folly support, add version 10.2.1 #27606

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

RazielXYZ
Copy link
Contributor

@RazielXYZ RazielXYZ commented Jun 4, 2025

Summary

Changes to recipe: rocksdb

Motivation

Support for folly and coroutines can further speed up rocksdb, and we like speed.

For version ranges:

  • Using version ranges for common dependencies (snappy, lz4, zlib, zstd) allows us to avoid issues when using rocksdb in combination with one of the many other packages that also depend on any of those.
  • Using a version range for folly allows us to update folly later (as the only version on CC is getting relatively old now) without having to update this again; I imagine we would want to switch many of folly's dependencies to version ranges as well.
  • gflags has not gotten a new release in a long time, so I did not think it necessary to switch to a version range.
  • jemalloc has been recently archived for unknown reasons, and the latest release is also a long time ago, so ditto.
  • TBB I didn't test so I dared not touch it, but I would assume newer versions would work just fine, assuming the current integration works at all, so we might want to change it if someone could test.

The two patches:

  • fix-folly fixes rocksdb's cmakelists check to see if it found folly to use the conan-provided folly_LIBRARIES.
  • fix-msvc-coroutines avoids adding gcc flags to msvc which would make it error out, as well as avoids overriding the CMAKE_CXX_STANDARD provided by conan

Details

Added support and options for coroutines and folly, and patches as needed
Condition some older options that were removed to not apply to newer versions
Switch some dependencies to version ranges
Add the latest release


Add support for coroutines and folly, and patches as needed
Condition some older options that were removed to not apply to newer versions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant