Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
dev-cpp/highway compilation failure on arm64/llvm
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM
View previous topic :: View next topic  
Author Message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 4001
Location: Rasi, Finland

PostPosted: Mon Mar 24, 2025 9:48 am    Post subject: dev-cpp/highway compilation failure on arm64/llvm Reply with quote

emerge --info:
Portage 3.0.67 (python 3.12.9-final-0, default/linux/arm64/23.0/llvm, gcc-14, glibc-2.40-r8, 6.12.12-p1-asahi-dist aarch64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-6.12.12-p1-asahi-dist-aarch64-with-glibc2.40
KiB Mem:     7692096 total,   2433088 free
KiB Swap:   16777200 total,  15546352 free
Timestamp of repository guru: Tue, 18 Mar 2025 21:18:21 +0000
Head commit of repository guru: c61f002f886b4f70eb67043ae2ec97c96b3777ac

Timestamp of repository gentoo: Tue, 18 Mar 2025 20:45:00 +0000
Head commit of repository gentoo: c066806fb25c67e8f8bed9ef46df76d8922184f0
Timestamp of repository asahi: Mon, 17 Mar 2025 06:33:38 +0000
Head commit of repository asahi: 55c1806d42d464e4ad07ad657f119c5ef39d4aef

Head commit of repository zucca: 732217de4d023f9faffaa70893588727fd965c9f

sh bash 5.2_p37
ld GNU ld (Gentoo 2.44 p1) 2.44.0
app-misc/pax-utils:        1.3.8::gentoo
app-shells/bash:           5.2_p37::gentoo
dev-build/autoconf:        2.72-r1::gentoo
dev-build/automake:        1.17-r1::gentoo
dev-build/cmake:           3.31.5::gentoo
dev-build/libtool:         2.5.4::gentoo
dev-build/make:            4.4.1-r100::gentoo
dev-build/meson:           1.7.0::gentoo
dev-lang/perl:             5.40.0-r1::gentoo
dev-lang/python:           3.12.9::gentoo, 3.13.2::gentoo
dev-lang/rust:             1.84.1-r1::gentoo
llvm-core/clang:           18.1.8-r6::gentoo, 19.1.7::gentoo
llvm-core/lld:             19.1.7::gentoo
llvm-core/llvm:            18.1.8-r6::gentoo, 19.1.7::gentoo
sys-apps/baselayout:       2.17::gentoo
sys-apps/openrc:           0.56::gentoo
sys-apps/sandbox:          2.39::gentoo
sys-devel/binutils:        2.43-r2::gentoo, 2.44::gentoo
sys-devel/binutils-config: 5.5.2::gentoo
sys-devel/gcc:             14.2.1_p20250301::gentoo
sys-devel/gcc-config:      2.12.1::gentoo
sys-kernel/linux-headers:  6.12::gentoo (virtual/os-headers)
sys-libs/glibc:            2.40-r8::gentoo
Repositories:

guru
    location: /var/db/repos/guru
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/guru.git
    masters: gentoo
    priority: -2000
    volatile: False

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    volatile: False
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-jobs: 1
    sync-rsync-extra-opts:

asahi
    location: /var/db/repos/asahi
    sync-type: git
    sync-uri: https://github.com/gentoo-mirror/asahi.git
    masters: gentoo
    priority: 500
    volatile: False

zucca
    location: /var/db/repos/zucca
    sync-type: git
    sync-uri: https://codeberg.org/Zucca/gentoo-overlay.git
    masters: gentoo
    priority: 1000
    volatile: False

Binary Repositories:

gentoobinhost
    priority: 1
    sync-uri: https://distfiles.gentoo.org/releases/arm64/binpackages/23.0/arm64_llvm

Installed sets: @asahi_boot
ACCEPT_KEYWORDS="arm64"
ACCEPT_LICENSE="@FREE"
ADDR2LINE="llvm-addr2line"
AR="llvm-ar"
AS="clang -c"
CBUILD="aarch64-unknown-linux-gnu"
CC="clang"
CFLAGS="-mcpu=apple-m2 -O2"
CHOST="aarch64-unknown-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d"
CPP="clang-cpp"
CXX="clang++"
CXXFLAGS="-mcpu=apple-m2 -O2"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask-keep-masks --nospinner --jobs=10 --load-average=6.50 --keep-going y --deep 10 --with-bdeps y"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR XDG_STATE_HOME"
FCFLAGS="-mcpu=apple-m2 -O2"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync merge-wait multilib-strict network-sandbox news parallel-fetch pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-mcpu=apple-m2 -O2"
GENTOO_MIRRORS="ftp://ftp.halifax.rwth-aachen.de/gentoo/ ftp://ftp-stud.hs-esslingen.de/pub/Mirrors/gentoo/ ftp://mirror.netcologne.de/gentoo/"
LANG="C.UTF8"
LD="ld.lld"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j8 -l8.20 --jobs=8 --load-average=8.20"
NM="llvm-nm"
OBJCOPY="llvm-objcopy"
OBJDUMP="llvm-objdump"
PKGDIR="/var/cache/binpkgs"
PORTAGE_COMPRESS="gzip"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
RANLIB="llvm-ranlib"
READELF="llvm-readelf"
SHELL="/bin/bash"
STRINGS="llvm-strings"
STRIP="llvm-strip"
USE="Xwayland aarch64 acl aif aiff alsa amrenc apng arm64 asahi av1 avif bindist bluetooth bluez bluray bzip bzip2 caca cdio chafa clang codec2 crypt dbus dhri dracut ffmpeg fuse gdbm gif gles2 gme gmp greetd grub gzip h.264 h.265 h264 h265 heic heif hwaccel iconv initramfs ipv6 jbig jdvu jpeg jpeg2000 jpeg2k jpegxl lame libass libcaca libdrm libplacebo libsoxr libtirpc libv4l llvm llvm-libunwind lvm lvm2 lz4 lzip lzo man matroska media-extras minizip mkv modplug mp2 mp3 mp4 mpeg mpeg2 mpeg4 ncurses nftables nls ogg opencl openexr opengl openmp openrc openrc-init opus pam pcre pdf pipewire pipewire-alsa png postproc postscript qemu readline seatd seccomp sixel ssl svg syslog system-act system-av1 system-boost system-bootloader system-bootstrap system-clipboard system-config-printer system-controller system-crontab system-ffmpeg system-fileio system-filepath system-harfbuzz system-heimdal system-icu system-info system-ipxe system-jpeg system-lcms system-leveldb system-libcxx system-libevent system-librnp system-libsdl2 system-libsecp256k1 system-libvpx system-libyaml system-llvm system-lua system-lz4 system-man system-mathjax system-mimalloc system-mitkrb5 system-mongodb system-monitor system-monitoring-center system-mspack system-png system-protoc system-python-libs system-qemu system-quazip system-rules system-seabios system-service system-sqlite system-ssl system-statistics system-toolchain system-webp system-wfconfig system-wide system-wlroots system-zlib system-zstd sysv-utils test-rust twolame unicode v4l vaapi vorbis vp8 vp9 vpx vulkan wayland webm wireplumber x11-backend x264 x265 xattr z-standard zig zig-lang ziglang zip zlib zstandard zstd" ADA_TARGET="gcc_14" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_ARM="edsp vfp vfpv3 vfpv4 vfp-d32 aes sha1 sha2 crc32 asimddp i8mm v8" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax navcom oceanserver oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 tsip tripmate tnt ublox" GUILE_SINGLE_TARGET="3-0" GUILE_TARGETS="3-0" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-2" POSTGRES_TARGETS="postgres16" PYTHON_SINGLE_TARGET="python3_12" PYTHON_TARGETS="python3_12" QEMU_SOFTMMU_TARGETS="x86_64 aarch64 i386 riscv32 riscv64 mips mipsel mips64 mips64el m68k" QEMU_USER_TARGETS="x86_64 i386 riscv64 aarch64" RUBY_TARGETS="ruby32" SANE_BACKENDS="pixma" VIDEO_CARDS="asahi" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto logmark ipmark dhcpmac delude chaos account"
Unset:  ARFLAGS, ASFLAGS, CCLD, CONFIG_SHELL, CPPFLAGS, CTARGET, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RUSTFLAGS, SIZE, YACC, YFLAGS

I've tried to compile this with gcc too.
/etc/portage/env/gcc.conf:
COMMON_FLAGS="-march=armv8.6-a -O2"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"

CC='/usr/bin/cc'
CXX='/usr/bin/c++'
LD='/usr/bin/ld'
(gcc doesn't recognize -mcpu=apple-m2)
build.log:
 * Package:    dev-cpp/highway-1.0.7-r1:0
 * Repository: gentoo
 * Maintainer: dnovomesky@gmail.com proxy-maint@gentoo.org
 * USE:        arm64 elibc_glibc kernel_linux
 * FEATURES:   network-sandbox preserve-libs sandbox userpriv usersandbox
>>> Unpacking source...
>>> Unpacking highway-1.0.7.tar.gz to /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work
>>> Source unpacked in /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work
>>> Preparing source in /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7 ...
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7_build"
 * Applying highway-1.0.7-Fix_UB_case_with_signed_overflow.patch ...
 [ ok ]
 * Hardcoded definition(s) removed in CMakeLists.txt:
 *    set(CMAKE_BUILD_TYPE RelWithDebInfo)
>>> Source prepared.
>>> Configuring source in /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7 ...
 * .arm64: running multilib-minimal_abi_src_configure
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7_build-.arm64"
cmake -C /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7_build-.arm64/gentoo_common_config.cmake -G Ninja -DCMAKE_INSTALL_PREFIX=/usr -DHWY_CMAKE_ARM7=no -DBUILD_TESTING=no -DHWY_WARNINGS_ARE_ERRORS=OFF -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_TOOLCHAIN_FILE=/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7_build-.arm64/gentoo_toolchain.cmake /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7
loading initial cache file /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7_build-.arm64/gentoo_common_config.cmake
CMake Deprecation Warning at CMakeLists.txt:25 (cmake_policy):
  The OLD behavior for policy CMP0111 will be removed from a future version
  of CMake.

  The cmake-policies(7) manual explains that the OLD behaviors of all
  policies are deprecated and that a policy should be set to OLD only under
  specific short-term circumstances.  Projects should be ported to the NEW
  behavior and not rely on setting a policy to OLD.


-- The C compiler identification is Clang 19.1.7
-- The CXX compiler identification is Clang 19.1.7
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/lib/llvm/19/bin/clang - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/lib/llvm/19/bin/clang++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test ATOMICS_LOCK_FREE_INSTRUCTIONS
-- Performing Test ATOMICS_LOCK_FREE_INSTRUCTIONS - Success
-- Performing Test HWY_EMSCRIPTEN
-- Performing Test HWY_EMSCRIPTEN - Failed
-- Performing Test HWY_RISCV
-- Performing Test HWY_RISCV - Failed
-- Looking for sys/auxv.h
-- Looking for sys/auxv.h - found
-- Looking for asm/hwcap.h
-- Looking for asm/hwcap.h - found
-- <<< Gentoo configuration >>>
Build type      RelWithDebInfo
Install path    /usr
Compiler flags:
C               -mcpu=apple-m2 -O2
C++             -mcpu=apple-m2 -O2
Linker flags:
Executable      -Wl,-O1 -Wl,--as-needed
Module          -Wl,-O1 -Wl,--as-needed
Shared          -Wl,-O1 -Wl,--as-needed

-- Configuring done (2.4s)
-- Generating done (0.0s)
-- Build files have been written to: /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7_build-.arm64
>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7 ...
 * .arm64: running multilib-minimal_abi_src_compile
 * Source directory (CMAKE_USE_DIR): "/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7"
 * Build directory  (BUILD_DIR):     "/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7_build-.arm64"
ninja -v -j8 -l8.20
[1/43] /usr/lib/llvm/19/bin/clang++ -DHWY_SHARED_DEFINE -Dhwy_EXPORTS -I/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7  -mcpu=apple-m2 -O2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wno-builtin-macro-redefined -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\" -fmerge-all-constants -Wall -Wextra -Wconversion -Wsign-conversion -Wvla -Wnon-virtual-dtor -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wgnu-redeclared-enum -Winfinite-recursion -Wself-assign -Wstring-conversion -Wtautological-overlap-compare -Wthread-safety-analysis -Wundefined-func-template -fno-cxx-exceptions -fno-slp-vectorize -fno-vectorize -fdiagnostics-show-option -fcolor-diagnostics -Wc++2a-extensions -fmath-errno -fno-exceptions -MD -MT CMakeFiles/hwy.dir/hwy/aligned_allocator.cc.o -MF CMakeFiles/hwy.dir/hwy/aligned_allocator.cc.o.d -o CMakeFiles/hwy.dir/hwy/aligned_allocator.cc.o -c /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/aligned_allocator.cc
[2/43] /usr/lib/llvm/19/bin/clang++ -DHWY_SHARED_DEFINE -Dhwy_EXPORTS -I/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7  -mcpu=apple-m2 -O2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wno-builtin-macro-redefined -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\" -fmerge-all-constants -Wall -Wextra -Wconversion -Wsign-conversion -Wvla -Wnon-virtual-dtor -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wgnu-redeclared-enum -Winfinite-recursion -Wself-assign -Wstring-conversion -Wtautological-overlap-compare -Wthread-safety-analysis -Wundefined-func-template -fno-cxx-exceptions -fno-slp-vectorize -fno-vectorize -fdiagnostics-show-option -fcolor-diagnostics -Wc++2a-extensions -fmath-errno -fno-exceptions -MD -MT CMakeFiles/hwy.dir/hwy/nanobenchmark.cc.o -MF CMakeFiles/hwy.dir/hwy/nanobenchmark.cc.o.d -o CMakeFiles/hwy.dir/hwy/nanobenchmark.cc.o -c /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/nanobenchmark.cc
FAILED: CMakeFiles/hwy.dir/hwy/nanobenchmark.cc.o
/usr/lib/llvm/19/bin/clang++ -DHWY_SHARED_DEFINE -Dhwy_EXPORTS -I/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7  -mcpu=apple-m2 -O2 -fPIC -fvisibility=hidden -fvisibility-inlines-hidden -Wno-builtin-macro-redefined -D__DATE__=\"redacted\" -D__TIMESTAMP__=\"redacted\" -D__TIME__=\"redacted\" -fmerge-all-constants -Wall -Wextra -Wconversion -Wsign-conversion -Wvla -Wnon-virtual-dtor -Wfloat-overflow-conversion -Wfloat-zero-conversion -Wfor-loop-analysis -Wgnu-redeclared-enum -Winfinite-recursion -Wself-assign -Wstring-conversion -Wtautological-overlap-compare -Wthread-safety-analysis -Wundefined-func-template -fno-cxx-exceptions -fno-slp-vectorize -fno-vectorize -fdiagnostics-show-option -fcolor-diagnostics -Wc++2a-extensions -fmath-errno -fno-exceptions -MD -MT CMakeFiles/hwy.dir/hwy/nanobenchmark.cc.o -MF CMakeFiles/hwy.dir/hwy/nanobenchmark.cc.o.d -o CMakeFiles/hwy.dir/hwy/nanobenchmark.cc.o -c /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/nanobenchmark.cc
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/nanobenchmark.cc:28:
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/timer-inl.h:26:
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/highway.h:415:
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:981:1: error: no matching function for call to 'vdupq_n_bf16'
  981 | HWY_NEON_DEF_FUNCTION_BFLOAT_16(NativeSet, vdup, _n_, HWY_SET)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:155:3: note: expanded from macro 'HWY_NEON_DEF_FUNCTION_BFLOAT_16'
  155 |   HWY_NEON_DEF_FUNCTION(bfloat16, 8, name, prefix##q, infix, bf16, args) \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:85:23: note: expanded from macro 'HWY_NEON_DEF_FUNCTION'
   85 |         HWY_NEON_EVAL(prefix##infix##suffix, HWY_NEON_BUILD_ARG_##args));    \
      |                       ^~~~~~~~~~~~~~~~~~~~~
<scratch space>:135:1: note: expanded from here
  135 | vdupq_n_bf16
      | ^~~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:74:34: note: expanded from macro 'HWY_NEON_EVAL'
   74 | #define HWY_NEON_EVAL(func, ...) func(__VA_ARGS__)
      |                                  ^~~~
/usr/lib/llvm/19/bin/../../../../lib/clang/19/include/arm_neon.h:479:56: note: candidate function not viable: no known conversion from 'bfloat16_t' (aka 'hwy::bfloat16_t') to 'bfloat16_t' (aka '__bf16') for 1st argument
  479 | __ai __attribute__((target("bf16,neon"))) bfloat16x8_t vdupq_n_bf16(bfloat16_t __p0) {
      |                                                        ^            ~~~~~~~~~~~~~~~
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/nanobenchmark.cc:28:
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/timer-inl.h:26:
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/highway.h:415:
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:981:1: error: no matching function for call to 'vdup_n_bf16'
  981 | HWY_NEON_DEF_FUNCTION_BFLOAT_16(NativeSet, vdup, _n_, HWY_SET)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:156:3: note: expanded from macro 'HWY_NEON_DEF_FUNCTION_BFLOAT_16'
  156 |   HWY_NEON_DEF_FUNCTION(bfloat16, 4, name, prefix, infix, bf16, args)    \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:85:23: note: expanded from macro 'HWY_NEON_DEF_FUNCTION'
   85 |         HWY_NEON_EVAL(prefix##infix##suffix, HWY_NEON_BUILD_ARG_##args));    \
      |                       ^~~~~~~~~~~~~~~~~~~~~
<scratch space>:146:1: note: expanded from here
  146 | vdup_n_bf16
      | ^~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:74:34: note: expanded from macro 'HWY_NEON_EVAL'
   74 | #define HWY_NEON_EVAL(func, ...) func(__VA_ARGS__)
      |                                  ^~~~
/usr/lib/llvm/19/bin/../../../../lib/clang/19/include/arm_neon.h:494:56: note: candidate function not viable: no known conversion from 'bfloat16_t' (aka 'hwy::bfloat16_t') to 'bfloat16_t' (aka '__bf16') for 1st argument
  494 | __ai __attribute__((target("bf16,neon"))) bfloat16x4_t vdup_n_bf16(bfloat16_t __p0) {
      |                                                        ^           ~~~~~~~~~~~~~~~
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/nanobenchmark.cc:28:
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/timer-inl.h:26:
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/highway.h:415:
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:981:1: error: no matching function for call to 'vdup_n_bf16'
  981 | HWY_NEON_DEF_FUNCTION_BFLOAT_16(NativeSet, vdup, _n_, HWY_SET)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:157:3: note: expanded from macro 'HWY_NEON_DEF_FUNCTION_BFLOAT_16'
  157 |   HWY_NEON_DEF_FUNCTION(bfloat16, 2, name, prefix, infix, bf16, args)    \
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:85:23: note: expanded from macro 'HWY_NEON_DEF_FUNCTION'
   85 |         HWY_NEON_EVAL(prefix##infix##suffix, HWY_NEON_BUILD_ARG_##args));    \
      |                       ^~~~~~~~~~~~~~~~~~~~~
<scratch space>:157:1: note: expanded from here
  157 | vdup_n_bf16
      | ^~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:74:34: note: expanded from macro 'HWY_NEON_EVAL'
   74 | #define HWY_NEON_EVAL(func, ...) func(__VA_ARGS__)
      |                                  ^~~~
/usr/lib/llvm/19/bin/../../../../lib/clang/19/include/arm_neon.h:494:56: note: candidate function not viable: no known conversion from 'bfloat16_t' (aka 'hwy::bfloat16_t') to 'bfloat16_t' (aka '__bf16') for 1st argument
  494 | __ai __attribute__((target("bf16,neon"))) bfloat16x4_t vdup_n_bf16(bfloat16_t __p0) {
      |                                                        ^           ~~~~~~~~~~~~~~~
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/nanobenchmark.cc:28:
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/timer-inl.h:26:
In file included from /var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/highway.h:415:
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:981:1: error: no matching function for call to 'vdup_n_bf16'
  981 | HWY_NEON_DEF_FUNCTION_BFLOAT_16(NativeSet, vdup, _n_, HWY_SET)
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:158:3: note: expanded from macro 'HWY_NEON_DEF_FUNCTION_BFLOAT_16'
  158 |   HWY_NEON_DEF_FUNCTION(bfloat16, 1, name, prefix, infix, bf16, args)
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:85:23: note: expanded from macro 'HWY_NEON_DEF_FUNCTION'
   85 |         HWY_NEON_EVAL(prefix##infix##suffix, HWY_NEON_BUILD_ARG_##args));    \
      |                       ^~~~~~~~~~~~~~~~~~~~~
<scratch space>:168:1: note: expanded from here
  168 | vdup_n_bf16
      | ^~~~~~~~~~~
/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7/hwy/ops/arm_neon-inl.h:74:34: note: expanded from macro 'HWY_NEON_EVAL'
   74 | #define HWY_NEON_EVAL(func, ...) func(__VA_ARGS__)
      |                                  ^~~~
/usr/lib/llvm/19/bin/../../../../lib/clang/19/include/arm_neon.h:494:56: note: candidate function not viable: no known conversion from 'bfloat16_t' (aka 'hwy::bfloat16_t') to 'bfloat16_t' (aka '__bf16') for 1st argument
  494 | __ai __attribute__((target("bf16,neon"))) bfloat16x4_t vdup_n_bf16(bfloat16_t __p0) {
      |                                                        ^           ~~~~~~~~~~~~~~~
4 errors generated.
ninja: build stopped: subcommand failed.
 * ERROR: dev-cpp/highway-1.0.7-r1::gentoo failed (compile phase):
 *   ninja -v -j8 -l8.20 failed
 *
 * Call stack:
 *     ebuild.sh, line  136:  Called src_compile
 *   environment, line 2294:  Called cmake-multilib_src_compile
 *   environment, line  665:  Called multilib-minimal_src_compile
 *   environment, line 1632:  Called multilib_foreach_abi 'multilib-minimal_abi_src_compile'
 *   environment, line 1899:  Called multibuild_foreach_variant '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile'
 *   environment, line 1592:  Called _multibuild_run '_multilib_multibuild_wrapper' 'multilib-minimal_abi_src_compile'
 *   environment, line 1590:  Called _multilib_multibuild_wrapper 'multilib-minimal_abi_src_compile'
 *   environment, line  419:  Called multilib-minimal_abi_src_compile
 *   environment, line 1626:  Called multilib_src_compile
 *   environment, line 2119:  Called cmake_src_compile
 *   environment, line  783:  Called cmake_build
 *   environment, line  750:  Called eninja
 *   environment, line 1078:  Called die
 * The specific snippet of code:
 *       "$@" || die -n "${*} failed"
 *
 * If you need support, post the output of `emerge --info '=dev-cpp/highway-1.0.7-r1::gentoo'`,
 * the complete build log and the output of `emerge -pqv '=dev-cpp/highway-1.0.7-r1::gentoo'`.
 * The complete build log is located at '/var/tmp/portage/dev-cpp/highway-1.0.7-r1/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/dev-cpp/highway-1.0.7-r1/temp/environment'.
 * Working directory: '/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7_build-.arm64'
 * S: '/var/tmp/portage/dev-cpp/highway-1.0.7-r1/work/highway-1.0.7'

What bothers me is at some places there are references like include/arm_neon.h, and
fgrep 'CPU_FLAGS' /etc/portage/make.conf:
CPU_FLAGS_ARM="edsp neon thumb vfp vfpv3 vfpv4 vfp-d32 aes sha1 sha2 crc32 asimddp i8mm v4 v5 v6 v7 v8 thumb2"
... but neon is one of those flags not shown by emerge --info. Maybe it's autodetected during src_configure()...

Any tips how should I proceed? Thanks.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
Zucca
Moderator
Moderator


Joined: 14 Jun 2007
Posts: 4001
Location: Rasi, Finland

PostPosted: Wed Mar 26, 2025 11:26 am    Post subject: Reply with quote

I got highway to compile by setting
/etc/portage/env/highway_fix.conf:
COMMON_FLAGS="-march=armv8a -mcpu=apple-m2 -O2"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
... apparently -march=armv8.6-a or just by omitting -march altogether, will cause highway compilation to fail.

I guess I need to RTFM once more about the -march and -mcpu for this platform.

Now I'm tempted to unmask arm_cpu_flags_neon. I doubt it'll work, but doesn't hurt to test.
_________________
..: Zucca :..

My gentoo installs:
init=/sbin/openrc-init
-systemd -logind -elogind seatd

Quote:
I am NaN! I am a man!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo on ARM All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum