Skip to content

Commit

Permalink
Enable HF targets again
Browse files Browse the repository at this point in the history
We need to add an CFLAGS env var for armv7-unknown-linux-musleabihf on
docker run to make the compiler happy.

Error was:

```
warning: cc1: error: '-mfloat-abi=hard': selected processor lacks an FPU
```

Can be fixed by using either of them:
export CFLAGS_armv7_unknown_linux_musleabihf='-mfpu=vfpv3-d16'
export CFLAGS_armv7_unknown_linux_musleabihf='-mfpu=neon'

References:
- influxdata/flux#3379 (comment)
- https://wiki.debian.org/ArmHardFloatPort/VfpComparison#FPU

Per documentation I use "vfpv3-d16" for the CI step. In the end the user
this cross compiler tool needs to make the appropriate decision in their
projects.
  • Loading branch information
asaaki committed Mar 21, 2021
1 parent f4984d6 commit 05c0a9d
Showing 1 changed file with 17 additions and 12 deletions.
29 changes: 17 additions & 12 deletions .github/workflows/Build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,10 @@ jobs:
TARGET: arm-unknown-linux-musleabi
OPENSSL_ARCH: linux-generic32
RUST_MUSL_MAKE_CONFIG: config.mak.32
# TODO: REENABLE WHEN SOLUTION FOUND
# - IMAGE_TAG: arm-musleabihf
# TARGET: arm-unknown-linux-musleabihf
# RUST_MUSL_MAKE_CONFIG: config.mak.32
# OPENSSL_ARCH: linux-generic32
- IMAGE_TAG: arm-musleabihf
TARGET: arm-unknown-linux-musleabihf
OPENSSL_ARCH: linux-generic32
RUST_MUSL_MAKE_CONFIG: config.mak.32
- IMAGE_TAG: armv5te-musleabi
TARGET: armv5te-unknown-linux-musleabi
OPENSSL_ARCH: linux-generic32
Expand All @@ -34,11 +33,10 @@ jobs:
TARGET: armv7-unknown-linux-musleabi
OPENSSL_ARCH: linux-generic32
RUST_MUSL_MAKE_CONFIG: config.mak.32
# TODO: REENABLE WHEN SOLUTION FOUND
# - IMAGE_TAG: armv7-musleabihf
# TARGET: armv7-unknown-linux-musleabihf
# OPENSSL_ARCH: linux-generic32
# RUST_MUSL_MAKE_CONFIG: config.mak.32
- IMAGE_TAG: armv7-musleabihf
TARGET: armv7-unknown-linux-musleabihf
OPENSSL_ARCH: linux-generic32
RUST_MUSL_MAKE_CONFIG: config.mak.32
- IMAGE_TAG: i586-musl
TARGET: i586-unknown-linux-musl
OPENSSL_ARCH: linux-elf
Expand Down Expand Up @@ -70,8 +68,15 @@ jobs:
- uses: actions/checkout@v2
- name: Build Docker image
run: |
docker build --build-arg TARGET="$TARGET" --build-arg OPENSSL_ARCH="$OPENSSL_ARCH" --build-arg RUST_MUSL_MAKE_CONFIG="$RUST_MUSL_MAKE_CONFIG" -t messense/rust-musl-cross:$IMAGE_TAG .
docker run --rm -v "$(pwd)/tests":/home/rust/src messense/rust-musl-cross:$IMAGE_TAG cargo build
docker build \
--build-arg TARGET="$TARGET" \
--build-arg OPENSSL_ARCH="$OPENSSL_ARCH" \
--build-arg RUST_MUSL_MAKE_CONFIG="$RUST_MUSL_MAKE_CONFIG" \
-t messense/rust-musl-cross:$IMAGE_TAG .
docker run --rm \
-e CFLAGS_armv7_unknown_linux_musleabihf='-mfpu=vfpv3-d16' \
-v "$(pwd)/tests":/home/rust/src \
messense/rust-musl-cross:$IMAGE_TAG cargo build
- name: Push Docker image
if: github.ref == 'refs/heads/master'
run: docker login -u ${{ secrets.DOCKER_USERNAME }} -p ${{ secrets.DOCKER_PASSWORD }} && docker push messense/rust-musl-cross:$IMAGE_TAG

0 comments on commit 05c0a9d

Please sign in to comment.