Uh oh!
There was an error while loading. Please reload this page.
fix(build): link OpenSSL statically on Linux release targets - #17
Merged
Conversation
The linux-arm64 release job runs cross with the cross-rs aarch64 image, which ships no aarch64 libssl-dev, so openssl-sys (pulled in through mssql-tds-preview -> native-tls) failed to configure and the whole release was skipped. Enable the vendored feature of openssl for Linux targets only: OpenSSL is built from openssl-src and linked statically, which also frees the linux-x64 binary from the runner's OpenSSL major version. Verified with cross 0.2.5 locally: the aarch64 binary builds and the x64 binary no longer links libssl or libcrypto.
Version suggestionBased on this PR's title (
This is informational only — no tag or release is created automatically yet. |
Uh oh!
There was an error while loading. Please reload this page.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The
v1.0.0-beta.1release run failed in the linux-arm64 job:crossuses the cross-rs aarch64 image, which has no aarch64libssl-dev, soopenssl-sys(reached throughmssql-tds-preview->native-tls) could not configure and the GitHub release step was skipped. The four other targets built fine.What changed
Cargo.toml: a Linux-only dependency onopensslwith thevendoredfeature. OpenSSL 3.6 is compiled fromopenssl-srcand linked statically on Linux targets. macOS and Windows keep the platform TLS stack selected bynative-tls.Cargo.lock: addsopenssl-src 300.6.1+3.6.3, nothing else.docs/dependencies.md: licence inventory and a note on the static OpenSSL on Linux.CHANGELOG.md: entry under Unreleased.Verification
cross build --release --target aarch64-unknown-linux-gnuwith cross 0.2.5 (the version CI installs) succeeds locally and produces an ELF aarch64 binary.cargo build --releaseon linux-x64:lddshows nolibsslorlibcrypto.After merge the
v1.0.0-beta.1tag is moved to the new main head so the release run picks up the fix; the tag never produced a release.