Skip to content

Build does not work with hyper versions >= 0.14.3 #1471

@webern

Description

@webern

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 and prefer-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.

Metadata

Metadata

Assignees

Labels

area/coreIssues core to the OS (variant independent)status/in-progressThis issue is currently being worked ontype/bugSomething isn't working

Type

No type

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions