rust-cross / rust-musl-cross

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

Upgrade rust to 1.46.0 ? #27

Closed abcfy2 closed 3 years ago

abcfy2 commented 3 years ago

Would you please upgrade rust to the latest?

arm-musleabihf is using 1.40.0

messense commented 3 years ago

https://travis-ci.org/github/messense/rust-musl-cross/builds

The cron build failed, unfortunately I don't have a lot time to look into it, help appreciated!

abcfy2 commented 3 years ago

I try to upgrade base image to ubuntu 20.04, and seems arm-musleabihf build is working. I will try more testing. Maybe I could create a pull request to fix this issue.

huguesBouvier commented 3 years ago

I have tried the same but I still see the same problem :/. @abcfy2 if that can unblock you, you can update to the latest by doing this: docker run --rm -t -v "your repo:/home/rust/src messense/rust-musl-cross:armv7-musleabihf /bin/bash -c " rm -frv ~/.rustup/toolchains/* &&curl -sSLf https://sh.rustup.rs | sh -s -- -y && rustup target add armv7-unknown-linux-musleabihf && cargo build --target=armv7-unknown-linux-musleabihf --release --manifest-path /yourApp/Cargo.toml"

abcfy2 commented 3 years ago

It seems an upstream issue. Waiting this PR: https://github.com/rust-lang/rust/pull/77967

huguesBouvier commented 3 years ago

I also found this: https://gcc.gnu.org/git/?p=gcc.git&a=commit;h=dff2abcbee65dbb4b7ca3ade0f7622ffdc0af391. Now you have to specify "-march=armv7-a+fp" and not -march=armv7-a.

I can see that in the compilation it is trying to do "march=armv7-a":

running: "armv7-unknown-linux-musleabihf-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-march=armv7-a" "-I" "/usr/local/musl/armv7-unknown-linux-musleabihf/include/" "-Wall" "-Wextra" "-E" "build/expando.c" cargo:warning=cc1: error: '-mfloat-abi=hard': selected processor lacks an FPU

I hope that that PR will fix it.

huguesBouvier commented 3 years ago

I also did a draft PR: https://github.com/messense/rust-musl-cross/pull/29. It looks like this fix works for me. I would switch the PR to release, but I am not sure of the impact of using older version of musl-cross-make

huguesBouvier commented 3 years ago

I couldn't see any problem. Making a PR.