From f94df58486f3b6c0ea597334f155dc4a174b4358 Mon Sep 17 00:00:00 2001 From: Reilly Wood <26268125+rgwood@users.noreply.github.com> Date: Wed, 9 Aug 2023 22:08:35 -0700 Subject: [PATCH] Fix cross-compiling with cross-rs (#9972) I cross-compiled Nushell (from x64 to ARM64) for the first time in a while and noticed that our [`cross-rs`](https://github.com/cross-rs) setup was no longer working. I've fixed that by following [the latest `cross-rs` docs](https://github.com/cross-rs/cross/wiki/Recipes#openssl). --- Cross.toml | 15 ++++++++++++--- .../cross-rs/aarch64-unknown-linux-gnu.dockerfile | 5 ----- .../aarch64-unknown-linux-musl.dockerfile | 5 ----- 3 files changed, 12 insertions(+), 13 deletions(-) delete mode 100644 docker/cross-rs/aarch64-unknown-linux-gnu.dockerfile delete mode 100644 docker/cross-rs/aarch64-unknown-linux-musl.dockerfile diff --git a/Cross.toml b/Cross.toml index 2200509a67..804afebdba 100644 --- a/Cross.toml +++ b/Cross.toml @@ -1,9 +1,18 @@ # Configuration for cross-rs: https://github.com/cross-rs/cross # Run cross-rs like this: -# cross build --target aarch64-unknown-linux-musl --release +# cross build --target aarch64-unknown-linux-gnu --release +# or +# cross build --target aarch64-unknown-linux-musl --release --features=static-link-openssl [target.aarch64-unknown-linux-gnu] -dockerfile = "./docker/cross-rs/aarch64-unknown-linux-gnu.dockerfile" +pre-build = [ + "dpkg --add-architecture $CROSS_DEB_ARCH", + "apt-get update && apt-get install --assume-yes libssl-dev:$CROSS_DEB_ARCH clang" +] +# NOTE: for musl you will need to build with --features=static-link-openssl [target.aarch64-unknown-linux-musl] -dockerfile = "./docker/cross-rs/aarch64-unknown-linux-musl.dockerfile" \ No newline at end of file +pre-build = [ + "dpkg --add-architecture $CROSS_DEB_ARCH", + "apt-get update && apt-get install --assume-yes clang" +] diff --git a/docker/cross-rs/aarch64-unknown-linux-gnu.dockerfile b/docker/cross-rs/aarch64-unknown-linux-gnu.dockerfile deleted file mode 100644 index 7d2c58baa0..0000000000 --- a/docker/cross-rs/aarch64-unknown-linux-gnu.dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM ghcr.io/cross-rs/aarch64-unknown-linux-gnu:latest - -RUN dpkg --add-architecture arm64 && \ - apt-get update && \ - apt-get install --assume-yes libssl-dev:arm64 clang diff --git a/docker/cross-rs/aarch64-unknown-linux-musl.dockerfile b/docker/cross-rs/aarch64-unknown-linux-musl.dockerfile deleted file mode 100644 index a9922a2cc5..0000000000 --- a/docker/cross-rs/aarch64-unknown-linux-musl.dockerfile +++ /dev/null @@ -1,5 +0,0 @@ -FROM ghcr.io/cross-rs/aarch64-unknown-linux-musl:latest - -RUN dpkg --add-architecture arm64 && \ - apt-get update && \ - apt-get install --assume-yes libssl-dev:arm64 clang