falconindy / auracle

A flexible command line client for Arch Linux's User Repository
MIT License
238 stars 26 forks source link

build fails on aarch64 #94

Closed solsticedhiver closed 2 years ago

solsticedhiver commented 2 years ago

When trying to build auracle on aarch64, one gets:

[71/156] Compiling C++ object subprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p/absl_random_internal_randen_hwaes.cc.o
FAILED: subprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p/absl_random_internal_randen_hwaes.cc.o 
c++ -Isubprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p -Isubprojects/abseil-cpp-20210324.1 -I../subprojects/abseil-cpp-20210324.1 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -std=c++17 -Wno-sign-compare -march=armv8-a+crypto -march=armv8-a -O2 -pipe -fstack-protector-strong -fno-plt -fexceptions -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security -fstack-clash-protection -fPIC -MD -MQ subprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p/absl_random_internal_randen_hwaes.cc.o -MF subprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p/absl_random_internal_randen_hwaes.cc.o.d -o subprojects/abseil-cpp-20210324.1/libabsl_random_lib.a.p/absl_random_internal_randen_hwaes.cc.o -c ../subprojects/abseil-cpp-20210324.1/absl/random/internal/randen_hwaes.cc
In file included from ../subprojects/abseil-cpp-20210324.1/absl/random/internal/randen_hwaes.cc:229:
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/include/arm_neon.h: In function 'Vector128 {anonymous}::AesRound(const Vector128&, const Vector128&)':
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/include/arm_neon.h:12321:1: error: inlining failed in call to 'always_inline' 'uint8x16_t vaesmcq_u8(uint8x16_t)': target specific option mismatch
12321 | vaesmcq_u8 (uint8x16_t data)
      | ^~~~~~~~~~
../subprojects/abseil-cpp-20210324.1/absl/random/internal/randen_hwaes.cc:255:20: note: called from here
  255 |   return vaesmcq_u8(vaeseq_u8(state, uint8x16_t{})) ^ round_key;
      |          ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/abseil-cpp-20210324.1/absl/random/internal/randen_hwaes.cc:229:
/usr/lib/gcc/aarch64-unknown-linux-gnu/10.2.0/include/arm_neon.h:12307:1: error: inlining failed in call to 'always_inline' 'uint8x16_t vaeseq_u8(uint8x16_t, uint8x16_t)': target specific option mismatch
12307 | vaeseq_u8 (uint8x16_t data, uint8x16_t key)
      | ^~~~~~~~~
../subprojects/abseil-cpp-20210324.1/absl/random/internal/randen_hwaes.cc:255:20: note: called from here
  255 |   return vaesmcq_u8(vaeseq_u8(state, uint8x16_t{})) ^ round_key;
      |          ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[78/156] Compiling C++ object libauracle.a.p/src_auracle_package_cache.cc.o
ninja: build stopped: subcommand failed.
==> ERROR: A failure occurred in build().
    Aborting...

A little googling leads to this issue, https://github.com/abseil/abseil-cpp/issues/982 with a fix merged by https://github.com/abseil/abseil-cpp/pull/984 And there is a new LTS release of abseil-cpp namely 20211102, so the only problem here, is that the meson wrap for abseil-cpp has not been updated for the latest abseil-cpp LTS release.

With an updated meson wrap for latest LTS abseil-cpp, the compilation error should be fixed

inglor commented 2 years ago

@solsticedhiver check latest aur version 366.8739929-3.

solsticedhiver commented 2 years ago

@inglor nice ! that works. Thank you