-
Notifications
You must be signed in to change notification settings - Fork 519
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
Build does not work with hyper versions >= 0.14.3 #1471
Comments
I want to link this to the underlying issue, which is this: rust-lang/rust#82151 And specifically this comment explains it well: |
Note, this PR attempts to fix the underlying issue, but appears to be stuck rust-lang/rust#88101 |
Good news! @seanmonstar reports that this will allow the removal of cdylib from Hyper's Cargo.toml and allow builds to instead opt-in to the creation of the cdylib. Once that change to Hyper's Cargo.toml is released, we should be able to update. |
It will be ready soon! hyperium/hyper@1c66370 |
Fixed by #2019 |
We build most Bottlerocket binaries with
RUSTFLAGS=-Cprefer-dynamic
so that we can dynamically link to the Rust std library and reduce the size of our binaries.Hyper 0.14.3 adds this line to its Cargo.toml to emit a c interface in a dynamic library:
https://github.com/hyperium/hyper/blob/48d4594930da4e227039cfa254411b85c98b63c5/Cargo.toml#L23
This, in conjunction with
reqwest
andprefer-dynamic
causes cargo/rustc to try to link using the emitted hyper c library and the linker fails with missing symbols. The problem is described precisely here: rust-lang/rust#82151 (comment)As it stands right now, this means that the highest version of hyper we can use with Bottlerocket is 0.14.2.
The text was updated successfully, but these errors were encountered: