bazelbuild / bazelbuild/rules_rust

Bindgen should use a downloaded or compiled `libstdc++` shared lib

Open
#741 7 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted needs-triage
Dominant language
Starlark
Stars
843
Forks
651
Avg merge
2d 18h
Merged PRs (30d)
15

Description

Currently the `rust_bindgen` ([rust-bindgen](https://rust-lang.github.io/rust-bindgen/)) rule depends on a [local_repository](https://docs.bazel.build/versions/master/be/workspace.html#local_repository) to make `libstdc++` binaries available to the rule.
https://github.com/bazelbuild/rules_rust/blob/eb06a7974f448b3a2199d490282906d698c2d316/bindgen/repositories.bzl#L99-L113

This is pretty non-hermetic and I believe is the reason why we can't use the bindgen rules on MacOS. Instead, the rule should [build it's own version of libstdc++](https://libcxx.llvm.org/docs/BuildingLibcxx.html) or use a pre-compiled one that exists in a shared location (not something that is installed to the host).

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.