Commit d702e02
committed
build: vendor openssl so the CLI cross-compiles cleanly
cargo-zigbuild for aarch64-unknown-linux-gnu failed at openssl-sys
because pkg-config can't find target-arch openssl headers, and we
can't easily provide them outside the workspace. The transitive pull
is:
iroh -> pkarr -> reqwest 0.13 (default features = "default-tls") ->
hyper-tls -> native-tls -> openssl-sys
reqwest 0.13 ships from pkarr's lockfile with native-tls included.
Patching iroh/pkarr to switch reqwest features isn't on our path; the
workspace's own reqwest 0.12 dep is unrelated (and adding
default-features = false there doesn't reach the 0.13 instance —
they're separate version-graph nodes).
Add `openssl = { version = "0.10", features = ["vendored"] }` to the
CLI. Cargo feature unification enables the vendored build for the
transitive openssl-sys, so cross-compiling no longer needs target-arch
system headers — openssl gets compiled from source as part of the
build. Static link, no runtime libssl/libcrypto dependency.
Verified: native check passes, aarch64-unknown-linux-gnu cross-build
via cargo-zigbuild produces a valid 251MB unstripped ARM aarch64 ELF.1 parent e5232a8 commit d702e02
2 files changed
Lines changed: 19 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
25 | 25 | | |
26 | 26 | | |
27 | 27 | | |
28 | | - | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
0 commit comments