Skip to content

fix(build): enable RocksDB libclang loading - #905

Draft
czarcas7ic wants to merge 3 commits into
mainfrom
adam/rocksdb-bindgen-runtime
Draft

fix(build): enable RocksDB libclang loading#905
czarcas7ic wants to merge 3 commits into
mainfrom
adam/rocksdb-bindgen-runtime

Conversation

@czarcas7ic

@czarcas7ic czarcas7ic commented Sep 5, 2026

Copy link
Copy Markdown
Contributor

Motivation

Isolated RPC rustdoc builds fail in RocksDB's binding generator with a libclang shared library is not loaded on this thread. RocksDB's default features are disabled, leaving its bindgen runtime loader disabled too. Workspace builds can mask this by unifying bindgen features; an unlocked dependency graph with two bindgen versions exposes the missing loader.

Solution

Explicitly enable RocksDB's bindgen-runtime feature so its binding generator loads libclang independently of other dependencies. Extend the existing isolated semver dependency repair to give published baseline versions the same loader; both sides still undergo the full API comparison.

Testing

Locked Cargo metadata, the state crate's feature graph, formatting, and diff checks passed. The feature graph now connects RocksDB directly to bindgen's runtime loader without changing Cargo.lock. CI now builds and parses the current RPC and consensus rustdoc successfully. The baseline repair passes its local source-patching and unexpected-version rejection checks, ShellCheck, and the six semver-selection tests. The full semver workflow now passes, including RPC, consensus, and the other ten package comparisons.

Changelog

Added a library-consumer changelog fragment; fragment validation and Markdown lint passed.

Used Codex to diagnose the failure and prepare the fix and description.

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