rust-cross / rust-musl-cross

Docker images for compiling static Rust binaries using musl-cross
MIT License
617 stars 68 forks source link

aarch64-musl crashing when building app #75

Closed Ludea closed 1 year ago

Ludea commented 1 year ago

Hi,

I try to build a rust app with musl, by rust-mul-cross images and GHA.

x86_64 works fine, but aarch64 crash.

I get:

#14 5.127     Updating crates.io index
#14 85.51 Killed
ERROR: failed to solve: process "/bin/sh -c cargo build --release" did not complete successfully: exit code: 137
Error: buildx failed with: ERROR: failed to solve: process "/bin/sh -c cargo build --release" did not complete successfully: exit code: 137

GHA Workflow: https://github.com/Ludea/speedupdate-rs/blob/master/.github/workflows/docker.yml Dockerfile: https://github.com/Ludea/speedupdate-rs/blob/master/Dockerfile Full log: https://github.com/Ludea/speedupdate-rs/actions/runs/3409830963/jobs/5672075085

I don't understand what is wrong

messense commented 1 year ago

Try add CARGO_NET_GIT_FETCH_WITH_CLI=true, probably related to libgit2, see https://github.com/rust-lang/cargo/issues/10583

Ludea commented 1 year ago

Works as expected, thanks ! Maybe you could add a note into Readme.md ?

messense commented 1 year ago

IMO you don't need QEMU, you can just cross compile aarch64 target, for example https://github.com/PyO3/maturin/blob/cb0b6c6d39777952e7e22e3e88dff61b5b7c3edb/Dockerfile#L1-L12

See also https://www.docker.com/blog/cross-compiling-rust-code-for-multiple-architectures/