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
Current main fails to compile aws-lc-sys #1788
Comments
The rustls default was switched from ring to aws-lc-rs recently (in #1780) which might be why you're seeing this now? The ring crypto provider is still provided so it should be easy to switch back using Cargo features. On my M1 Max, I can build 3179b92 with |
I think it might be more fruitful to report this at https://github.com/aws/aws-lc-rs There is also similar reports in the bindgen repo rust-lang/rust-bindgen#2401 |
Reported - but it looks like some parameters for the |
I believe the suggestion in the aws-lc-rs thread was for you to take a direct dependency on Have you tried that approach? |
@mouse07410 found a way to reproduce the problem directly using bindgen: rust-lang/rust-bindgen#2401 (comment) |
I don't understand how to do that, given that I don't build Also, given that |
Ah I see, you're building Rustls but not actually consuming it as a dependency in a Rust project of your own? Is that an accurate summary? |
For now - yes it is. |
@mouse07410 what are you actually building? Is it a Rust project that somehow includes rustls (and thus aws-lc-rs) in its transitive dependency graph? If so, you can add a direct dependency on aws-lc-rs with the |
First, right now I'm preparing for getting Second, it would be great if somebody (you?) actually showed what the direct dependency on aws-lc-rs should look like, even though it must be obvious for many readers. I'd also like to hear why you think that specifying some feature for aws-lc-rs would help, given that independent bindgen failure was demonstrated. |
Well, I was going off of this comment from the aws-lc-rs thread:
But, I think the more interesting question is why neither @justsmth nor I can reproduce this, in similar Apple Silicon environments? |
And the User Guide they referred to indeed showed how to install libclang/llvm using HomeBrew. In other words, not very helpful, especially given that they were already installed. Doesn't give a simple unambiguous help like
My suspicion is - presence or absence on the system of other Clang versions (see my comments in the bindgen issue). But I can't be sure. If we all had "pristine" machines with only MacOS, Xcode, Rust-1.76.0, and rustls clone - it would've been nice and simple... |
|
Well, you have only one Clang, presumably from Xcode (or it's CommandLineTools). In my case $ which -a clang
/opt/local/bin/clang
/usr/bin/clang
$ port installed | grep clang
clang-17 @17.0.6_0+analyzer (active)
clang_select @2.2_1 (active)
gcc12-libcxx @12.3.0_4+clang17 (active)
gcc13-libcxx @13.2.0_4+clang17 (active)
py311-clang @10_0+clang17 (active)
$ and that's after I pruned (removed) other unnecessary versions of Clang that I suspected could interfere with UpdateIt is interesting to note that while my system has no "explicitly" visible LLVM,
|
I believe your finding is correct that this is a MacPorts llvm-16 issue. I also use MacPorts but did not have llvm-16 version installed. I uninstalled all my clang and llvm installations from MacPorts, and then only installed clang/llvm 16. If I then force binding generation of x86-64 architecture I get the following error as well:
So I don't think this is a specific issue to Apple M2, but more an issue with llvm-16 on MacPorts if bindgen attempts to use it. |
Which is a little strange, since I think 1.76 is supposed to be compatible with LLVM 16? |
Is there any action to take in the Rustls repo for this situation? It seems like there's consensus the problem is with tooling unrelated to Rustls itself. |
I don't think so. Except, perhaps, mention in the README or such that LLVM-16 with Clang-16 are problematic.
I concur. |
Checklist
Describe the bug
To Reproduce
Steps to reproduce the behavior:
git clone --recurse-submodules https://github.com/rustls/rustls.git
cd rustls
cargo test --release
Applicable Version(s)
Current main. A few days ago it compiled OK and passed the tests.
Expected behavior
Successful compilation, and passing of all the tests.
Additional context
bindgen
0.69.4.Update
aws-lc-rs
and/oraws-lc-sys
crates:The text was updated successfully, but these errors were encountered: