-
Notifications
You must be signed in to change notification settings - Fork 56
Update bindgen to version 0.56 #154
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
Conversation
Hi, thanks for the patch! It seems the new version of Also, we need the commits to be signed, as described in the Contributing guidelines |
I don't know why this leads to problems on ubuntu. Fedora ships both libloading 0.5 and 0.6, and both are fine without nightly (which is not even available for RPM builds, since only the stable Rust compiler is packaged), and clang-sys 1.0.3 builds fine with it as well, and even passes its test suite now.
I will add the Signed-off-by. |
Oh, it looks like the Rust compiler version on ubuntu is just too old: The |
Ah, that makes sense... We'll need to decide what to do about this, if we just disregard older versions of the compiler |
It's weird though. It looks like various Rust versions are installed with rustup during the CI tests, and the last one is EDIT: I found where this happens: https://github.com/parallaxsecond/rust-tss-esapi/blob/master/tests/all-ubuntu.sh#L45 |
We decided to check that the library can be built with "legacy" compilers to maintain some backwards compatibility. Otherwise we run the risk - as exhibited here - that someone down the line who really needs or wants an old compiler (for some reason) cannot update past a certain version. The thing is that we didn't have a particular version to tie ourselves too. We have to decide whether we want to stay compatible with 1.38.0 or move to a newer version. I'm ambivalent about 1.38.0, but I definitely think we should have some legacy support. Maybe a "sliding window" of supported versions - current version + X previous versions - would work better. Also maybe there's some community guidance on this for Rust projects. |
Yeah, this is usually called the MSRV (minimum supported Rust version) by projects. Depending on the project, I found values as low as 1.13 (in libc) or as high as "only the three most recent stable releases are supported", which seems to be the most common approach, as far as I can tell. |
Signed-off-by: Fabio Valentini <[email protected]>
Nice, that sounds like something we should have, a MSRV policy. It's relevant for all the Something like this would be good to have |
Hey 👋 ! One delicate thing with updating I would agree otherwise with something less restrictive for the versions we support, the Embedded WG has updated their MSRV policy by only requiring building on current |
I wonder, why is it only possible to have one version of clang-sys? Is it special somehow? |
This field is used by Cargo to make sure that there are not two packages linking to the same library, to prevent duplicate symbols. I don't think this problem should block this PR if you need the new version of bindgen for your own work though! |
It did not. I have already updated all fedora packages to use clang-sys 1.0.3 and bindgen 0.56, and submitted pull requests like this to the all the affected projects :) |
Maybe time has come to generate the bindings and commit them in the tree in a separate, |
Ok, an update - it seems reasonable to stick with current Could you please remove the |
Closing this as I've created a new PR (#159) which uses the commit here with another commit to fix things on top. |
Allow PKCS11 tests to fail on Travis
This update does not require other code changes.