clux / muslrust

Docker environment for building musl based static linux rust binaries
MIT License
931 stars 87 forks source link

Status code exit status: 127 #149

Open ilteoood opened 3 weeks ago

ilteoood commented 3 weeks ago

Hi, I'm trying to build my project, using the following command:

docker build --platform linux/amd64 -t ilteoood/nmt .

But unfortunately I have the following error:

19.78 error: failed to run custom build command for `psm v0.1.21`
19.78 
19.78 Caused by:
19.78   process didn't exit successfully: `/volume/target/release/build/psm-ef85c6ca60f4289f/build-script-build` (exit status: 1)
19.78   --- stdout
19.78   OPT_LEVEL = Some(3)
19.78   TARGET = Some(x86_64-unknown-linux-musl)
19.78   OUT_DIR = Some(/volume/target/x86_64-unknown-linux-musl/release/build/psm-92cdc5cf00f638f8/out)
19.78   HOST = Some(x86_64-unknown-linux-gnu)
19.78   cargo:rerun-if-env-changed=CC_x86_64-unknown-linux-musl
19.78   CC_x86_64-unknown-linux-musl = None
19.78   cargo:rerun-if-env-changed=CC_x86_64_unknown_linux_musl
19.78   CC_x86_64_unknown_linux_musl = None
19.78   cargo:rerun-if-env-changed=TARGET_CC
19.78   TARGET_CC = None
19.78   cargo:rerun-if-env-changed=CC
19.78   CC = Some(musl-gcc)
19.78   cargo:rerun-if-env-changed=CC_KNOWN_WRAPPER_CUSTOM
19.78   CC_KNOWN_WRAPPER_CUSTOM = None
19.78   RUSTC_WRAPPER = None
19.78   cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
19.78   cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
19.78   CRATE_CC_NO_DEFAULTS = None
19.78   DEBUG = Some(false)
19.78   CARGO_CFG_TARGET_FEATURE = Some(fxsr,sse,sse2)
19.78   cargo:rerun-if-env-changed=CFLAGS_x86_64-unknown-linux-musl
19.78   CFLAGS_x86_64-unknown-linux-musl = None
19.78   cargo:rerun-if-env-changed=CFLAGS_x86_64_unknown_linux_musl
19.78   CFLAGS_x86_64_unknown_linux_musl = None
19.78   cargo:rerun-if-env-changed=TARGET_CFLAGS
19.78   TARGET_CFLAGS = None
19.78   cargo:rerun-if-env-changed=CFLAGS
19.78   CFLAGS = None
19.78   cargo:rustc-cfg=asm
19.78   cargo:rustc-cfg=switchable_stack
19.78   cargo:rerun-if-env-changed=AR_x86_64-unknown-linux-musl
19.78   AR_x86_64-unknown-linux-musl = None
19.78   cargo:rerun-if-env-changed=AR_x86_64_unknown_linux_musl
19.78   AR_x86_64_unknown_linux_musl = None
19.78   cargo:rerun-if-env-changed=TARGET_AR
19.78   TARGET_AR = None
19.78   cargo:rerun-if-env-changed=AR
19.78   AR = None
19.78   cargo:rerun-if-env-changed=CROSS_COMPILE
19.78   CROSS_COMPILE = None
19.78   RUSTC_LINKER = None
19.78   cargo:rerun-if-env-changed=ARFLAGS_x86_64-unknown-linux-musl
19.78   ARFLAGS_x86_64-unknown-linux-musl = None
19.78   cargo:rerun-if-env-changed=ARFLAGS_x86_64_unknown_linux_musl
19.78   ARFLAGS_x86_64_unknown_linux_musl = None
19.78   cargo:rerun-if-env-changed=TARGET_ARFLAGS
19.78   TARGET_ARFLAGS = None
19.78   cargo:rerun-if-env-changed=ARFLAGS
19.78   ARFLAGS = None
19.78 
19.78   --- stderr
19.78 
19.78 
19.78   error occurred: Command ZERO_AR_DATE="1" "musl-ar" "cq" "/volume/target/x86_64-unknown-linux-musl/release/build/psm-92cdc5cf00f638f8/out/libpsm_s.a" "/volume/target/x86_64-unknown-linux-musl/release/build/psm-92cdc5cf00f638f8/out/e4479bd7784abb10-x86_64.o" with args musl-ar did not execute successfully (status code exit status: 127).
19.78 
19.78 
19.78 warning: build failed, waiting for other jobs to finish...

If I build using the linux/arm64 platform, everything works fine. Do you have any suggestion to overcome this?

ilteoood commented 3 weeks ago

Additional info: the error seems to depend on the machine in which the build is executed. If I run it on a x86_64 machine, the ARM build fails: https://github.com/ilteoood/nmt/actions/runs/10522483023/job/29155213472 While if I run it on an ARM machine (Mac with M3 chip), the x86_64 fails