libwebp-sys icon indicating copy to clipboard operation
libwebp-sys copied to clipboard

Doesn't build for aarch64-unknown-linux-musl using cross

Open lilith opened this issue 1 year ago • 2 comments

works: cross +stable test --target aarch64-unknown-linux-gnu--locked --release fails: cross +stable test --target aarch64-unknown-linux-musl --locked --release

Would another github workflow for aarch64 be worthwhile?

I use this on CI:

     - name: Cross Test
        uses: houseabsolute/actions-rust-cross@v1
        env:
          RUSTFLAGS: "${{ matrix.cpu-target && format('-C target-cpu={0}',matrix.cpu-target) }}"
        with:
          command: "test"
          target: ${{ matrix.target }}
          toolchain: stable
          args:
            "--locked --release ${{ matrix.features && format('--features={0}',matrix.features) }}"
        if: ${{ matrix.cross == 'true' }}

But this should be simpler:

  - name: Cross Test
        uses: houseabsolute/actions-rust-cross@v1
        with:
          command: "test"
          target: aarch64-unknown-linux-musl 
          toolchain: stable
          args:
            "--locked --release"

Error details:

warning: [email protected]: /home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c: In function 'Intra4Preds_NEON':
warning: [email protected]: /home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c:974:37: warning: implicit declaration of function 'vld1q_u8_x4'; did you mean 'vld1q_u8_x2'? [-Wimplicit-function-declaration]
warning: [email protected]:   974 |   const uint8x16x4_t lookup_avgs1 = vld1q_u8_x4(kLookupTbl1);
warning: [email protected]:       |                                     ^~~~~~~~~~~
warning: [email protected]:       |                                     vld1q_u8_x2
warning: [email protected]: /home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c:974:37: error: invalid initializer
warning: [email protected]: /home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c:975:37: error: invalid initializer
warning: [email protected]:   975 |   const uint8x16x4_t lookup_avgs2 = vld1q_u8_x4(kLookupTbl2);
warning: [email protected]:       |                                     ^~~~~~~~~~~
warning: [email protected]: /home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c:976:37: error: invalid initializer
warning: [email protected]:   976 |   const uint8x16x4_t lookup_avgs3 = vld1q_u8_x4(kLookupTbl3);
warning: [email protected]:       |                                     ^~~~~~~~~~~
warning: [email protected]: ToolExecError: Command LC_ALL="C" "aarch64-linux-musl-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-I" "/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor" "-Wall" "-Wextra" "-fvisibility=hidden" "-Wall" "-DNDEBUG=1" "-D_THREAD_SAFE=1" "-DWEBP_HAVE_NEON=1" "-o" "/target/aarch64-unknown-linux-musl/release/build/libwebp-sys-ec0810712225cd3c/out/3837fcc86d364de3-enc_neon.o" "-c" "/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c" with args aarch64-linux-musl-gcc did not execute successfully (status code exit status: 1).
error: failed to run custom build command for `libwebp-sys v0.12.0 (https://github.com/NoXF/libwebp-sys#3cf3c25d)`

Caused by:
  process didn't exit successfully: `/target/release/build/libwebp-sys-0e6bd8d9200a308f/build-script-build` (exit status: 1)
  --- stdout
  OPT_LEVEL = Some(3)
  OUT_DIR = Some(/target/aarch64-unknown-linux-musl/release/build/libwebp-sys-ec0810712225cd3c/out)
  TARGET = Some(aarch64-unknown-linux-musl)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CC_aarch64-unknown-linux-musl
  CC_aarch64-unknown-linux-musl = None
  cargo:rerun-if-env-changed=CC_aarch64_unknown_linux_musl
  CC_aarch64_unknown_linux_musl = Some(aarch64-linux-musl-gcc)
  cargo:rerun-if-env-changed=CC_KNOWN_WRAPPER_CUSTOM
  CC_KNOWN_WRAPPER_CUSTOM = None
  RUSTC_WRAPPER = None
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  DEBUG = Some(true)
  CARGO_CFG_TARGET_FEATURE = Some(neon)
  cargo:rerun-if-env-changed=CFLAGS_aarch64-unknown-linux-musl
  CFLAGS_aarch64-unknown-linux-musl = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64_unknown_linux_musl
  CFLAGS_aarch64_unknown_linux_musl = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  CARGO_ENCODED_RUSTFLAGS = Some()
  OUT_DIR = Some(/target/aarch64-unknown-linux-musl/release/build/libwebp-sys-ec0810712225cd3c/out)
  cargo:rerun-if-env-changed=CC_ENABLE_DEBUG_OUTPUT
  cargo:rerun-if-env-changed=CRATE_CC_NO_DEFAULTS
  CRATE_CC_NO_DEFAULTS = None
  TARGET = Some(aarch64-unknown-linux-musl)
  CARGO_CFG_TARGET_FEATURE = Some(neon)
  HOST = Some(x86_64-unknown-linux-gnu)
  cargo:rerun-if-env-changed=CFLAGS_aarch64-unknown-linux-musl
  CFLAGS_aarch64-unknown-linux-musl = None
  cargo:rerun-if-env-changed=CFLAGS_aarch64_unknown_linux_musl
  CFLAGS_aarch64_unknown_linux_musl = None
  cargo:rerun-if-env-changed=TARGET_CFLAGS
  TARGET_CFLAGS = None
  cargo:rerun-if-env-changed=CFLAGS
  CFLAGS = None
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  cargo:warning=/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c: In function 'Intra4Preds_NEON':
  cargo:warning=/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c:974:37: warning: implicit declaration of function 'vld1q_u8_x4'; did you mean 'vld1q_u8_x2'? [-Wimplicit-function-declaration]
  cargo:warning=  974 |   const uint8x16x4_t lookup_avgs1 = vld1q_u8_x4(kLookupTbl1);
  cargo:warning=      |                                     ^~~~~~~~~~~
  cargo:warning=      |                                     vld1q_u8_x2
  cargo:warning=/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c:974:37: error: invalid initializer
  cargo:warning=/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c:975:37: error: invalid initializer
  cargo:warning=  975 |   const uint8x16x4_t lookup_avgs2 = vld1q_u8_x4(kLookupTbl2);
  cargo:warning=      |                                     ^~~~~~~~~~~
  cargo:warning=/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c:976:37: error: invalid initializer
  cargo:warning=  976 |   const uint8x16x4_t lookup_avgs3 = vld1q_u8_x4(kLookupTbl3);
  cargo:warning=      |                                     ^~~~~~~~~~~
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 1
  cargo:warning=ToolExecError: Command LC_ALL="C" "aarch64-linux-musl-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-I" "/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor" "-Wall" "-Wextra" "-fvisibility=hidden" "-Wall" "-DNDEBUG=1" "-D_THREAD_SAFE=1" "-DWEBP_HAVE_NEON=1" "-o" "/target/aarch64-unknown-linux-musl/release/build/libwebp-sys-ec0810712225cd3c/out/3837fcc86d364de3-enc_neon.o" "-c" "/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c" with args aarch64-linux-musl-gcc did not execute successfully (status code exit status: 1).
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0
  exit status: 0

  --- stderr


  error occurred in cc-rs: Command LC_ALL="C" "aarch64-linux-musl-gcc" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-I" "/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor" "-Wall" "-Wextra" "-fvisibility=hidden" "-Wall" "-DNDEBUG=1" "-D_THREAD_SAFE=1" "-DWEBP_HAVE_NEON=1" "-o" "/target/aarch64-unknown-linux-musl/release/build/libwebp-sys-ec0810712225cd3c/out/3837fcc86d364de3-enc_neon.o" "-c" "/home/lilith/.cargo/git/checkouts/libwebp-sys-cabf12082c74cd34/3cf3c25/vendor/src/dsp/enc_neon.c" with args aarch64-linux-musl-gcc did not execute successfully (status code exit status: 1).

lilith avatar Jan 21 '25 03:01 lilith

It looks like it comes from libwebp1.5, I need some time to figure out how to fix it

NoXF avatar Jan 23 '25 10:01 NoXF

@lilith It seems that aarch64-unknown-linux-musl gcc version is too low, try to upgrade to >= 13.

https://github.com/messense/homebrew-macos-cross-toolchains/tree/main is help.

NoXF avatar Jan 24 '25 02:01 NoXF