Skip to content

compiling error on linux aarch64 machine #3479

@hc-2585

Description

@hc-2585

I encountered an error when executing the cmake --build build -j --config Release command again. Can someone help me? Thank you.

cmake -B build
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - 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/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Git: /usr/bin/git (found version "2.25.1")
-- The ASM compiler identification is GNU
-- Found assembler: /usr/bin/cc
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
-- Check if compiler accepts -pthread
-- Check if compiler accepts -pthread - yes
-- Found Threads: TRUE
-- Warning: ccache not found - consider installing it for faster compilation or disable this warning with GGML_CCACHE=OFF
-- CMAKE_SYSTEM_PROCESSOR: aarch64
-- GGML_SYSTEM_ARCH: ARM
-- Including CPU backend
-- Found OpenMP_C: -fopenmp (found version "4.5")
-- Found OpenMP_CXX: -fopenmp (found version "4.5")
-- Found OpenMP: TRUE (found version "4.5")
-- ARM detected
-- Performing Test GGML_COMPILER_SUPPORTS_FP16_FORMAT_I3E
-- Performing Test GGML_COMPILER_SUPPORTS_FP16_FORMAT_I3E - Failed
-- ARM -mcpu not found, -mcpu=native will be used
-- Performing Test GGML_MACHINE_SUPPORTS_dotprod
-- Performing Test GGML_MACHINE_SUPPORTS_dotprod - Failed
-- Performing Test GGML_MACHINE_SUPPORTS_nodotprod
-- Performing Test GGML_MACHINE_SUPPORTS_nodotprod - Failed
-- Performing Test GGML_MACHINE_SUPPORTS_i8mm
-- Performing Test GGML_MACHINE_SUPPORTS_i8mm - Failed
-- Performing Test GGML_MACHINE_SUPPORTS_noi8mm
-- Performing Test GGML_MACHINE_SUPPORTS_noi8mm - Failed
-- Performing Test GGML_MACHINE_SUPPORTS_sve
-- Performing Test GGML_MACHINE_SUPPORTS_sve - Failed
-- Performing Test GGML_MACHINE_SUPPORTS_nosve
-- Performing Test GGML_MACHINE_SUPPORTS_nosve - Failed
-- Performing Test GGML_MACHINE_SUPPORTS_sme
-- Performing Test GGML_MACHINE_SUPPORTS_sme - Failed
-- Performing Test GGML_MACHINE_SUPPORTS_nosme
-- Performing Test GGML_MACHINE_SUPPORTS_nosme - Failed
-- ARM feature FMA enabled
-- Adding CPU backend variant ggml-cpu: -mcpu=native
-- ggml version: 0.9.4
-- ggml commit: 4979e04
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Configuring done (3.0s)
-- Generating done (0.2s)

cmake --build build -j --config Release
[ 5%] Building CXX object examples/deprecation-warning/CMakeFiles/main.dir/deprecation-warning.cpp.o
[ 5%] Building CXX object examples/deprecation-warning/CMakeFiles/bench.dir/deprecation-warning.cpp.o
[ 5%] Building C object ggml/src/CMakeFiles/ggml-base.dir/ggml.c.o
[ 7%] Building CXX object ggml/src/CMakeFiles/ggml-base.dir/ggml.cpp.o
[ 11%] Building CXX object ggml/src/CMakeFiles/ggml-base.dir/ggml-threading.cpp.o
[ 11%] Building CXX object ggml/src/CMakeFiles/ggml-base.dir/ggml-opt.cpp.o
[ 13%] Building C object ggml/src/CMakeFiles/ggml-base.dir/ggml-alloc.c.o
[ 15%] Building CXX object ggml/src/CMakeFiles/ggml-base.dir/ggml-backend.cpp.o
[ 17%] Building C object ggml/src/CMakeFiles/ggml-base.dir/ggml-quants.c.o
[ 19%] Building CXX object ggml/src/CMakeFiles/ggml-base.dir/gguf.cpp.o
[ 21%] Linking CXX executable ../../bin/bench
[ 21%] Built target bench
[ 23%] Linking CXX executable ../../bin/main
[ 23%] Built target main
[ 25%] Linking CXX shared library libggml-base.so
[ 25%] Built target ggml-base
[ 29%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/repack.cpp.o
[ 29%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/ggml-cpu.cpp.o
[ 31%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/hbm.cpp.o
[ 35%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/traits.cpp.o
[ 35%] Building C object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/quants.c.o
[ 37%] Building C object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/ggml-cpu.c.o
[ 39%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/amx/mmq.cpp.o
[ 41%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/amx/amx.cpp.o
[ 45%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/binary-ops.cpp.o
[ 45%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/unary-ops.cpp.o
[ 47%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/vec.cpp.o
[ 49%] Building C object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/arch/arm/quants.c.o
[ 50%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/ops.cpp.o
[ 52%] Building CXX object ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/arch/arm/repack.cpp.o
In file included from /home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/simd-mappings.h:3,
from /home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:6:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_q3_K_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: implicit declaration of function ‘vld1q_s8_x4’; did you mean ‘vld1q_s8_x2’? [-Werror=implicit-function-declaration]
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:1987:48: note: in expansion of macro ‘ggml_vld1q_s8_x4’
1987 | const ggml_int8x16x4_t q8bytes_1 = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: invalid initializer
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:1987:48: note: in expansion of macro ‘ggml_vld1q_s8_x4’
1987 | const ggml_int8x16x4_t q8bytes_1 = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: invalid initializer
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:1988:48: note: in expansion of macro ‘ggml_vld1q_s8_x4’
1988 | const ggml_int8x16x4_t q8bytes_2 = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_q5_K_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: invalid initializer
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:2431:46: note: in expansion of macro ‘ggml_vld1q_s8_x4’
2431 | const ggml_int8x16x4_t q8bytes = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_q6_K_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:296:27: error: implicit declaration of function ‘vld1q_u8_x4’; did you mean ‘vld1q_u8_x2’? [-Werror=implicit-function-declaration]
296 | #define ggml_vld1q_u8_x4 vld1q_u8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:2860:40: note: in expansion of macro ‘ggml_vld1q_u8_x4’
2860 | ggml_uint8x16x4_t q6bits = ggml_vld1q_u8_x4(q6); q6 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:296:27: error: invalid initializer
296 | #define ggml_vld1q_u8_x4 vld1q_u8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:2860:40: note: in expansion of macro ‘ggml_vld1q_u8_x4’
2860 | ggml_uint8x16x4_t q6bits = ggml_vld1q_u8_x4(q6); q6 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: invalid initializer
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:2861:40: note: in expansion of macro ‘ggml_vld1q_s8_x4’
2861 | ggml_int8x16x4_t q8bytes = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: incompatible types when assigning to type ‘int8x16x4_t’ {aka ‘struct int8x16x4_t’} from type ‘int’
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:2886:23: note: in expansion of macro ‘ggml_vld1q_s8_x4’
2886 | q8bytes = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_iq2_xxs_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: incompatible types when assigning to type ‘int8x16x4_t’ {aka ‘struct int8x16x4_t’} from type ‘int’
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:2993:19: note: in expansion of macro ‘ggml_vld1q_s8_x4’
2993 | q8b = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_iq2_xs_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: incompatible types when assigning to type ‘int8x16x4_t’ {aka ‘struct int8x16x4_t’} from type ‘int’
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:3065:19: note: in expansion of macro ‘ggml_vld1q_s8_x4’
3065 | q8b = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_iq2_s_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: incompatible types when assigning to type ‘int8x16x4_t’ {aka ‘struct int8x16x4_t’} from type ‘int’
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:3140:19: note: in expansion of macro ‘ggml_vld1q_s8_x4’
3140 | q8b = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_iq3_xxs_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: incompatible types when assigning to type ‘int8x16x4_t’ {aka ‘struct int8x16x4_t’} from type ‘int’
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:3225:19: note: in expansion of macro ‘ggml_vld1q_s8_x4’
3225 | q8b = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_iq3_s_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: incompatible types when assigning to type ‘int8x16x4_t’ {aka ‘struct int8x16x4_t’} from type ‘int’
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:3314:19: note: in expansion of macro ‘ggml_vld1q_s8_x4’
3314 | q8b = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_iq1_s_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: incompatible types when assigning to type ‘int8x16x4_t’ {aka ‘struct int8x16x4_t’} from type ‘int’
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:3406:19: note: in expansion of macro ‘ggml_vld1q_s8_x4’
3406 | q8b = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_iq1_m_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: incompatible types when assigning to type ‘int8x16x4_t’ {aka ‘struct int8x16x4_t’} from type ‘int’
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:3489:19: note: in expansion of macro ‘ggml_vld1q_s8_x4’
3489 | q8b = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c: In function ‘ggml_vec_dot_iq4_xs_q8_K’:
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/ggml-cpu-impl.h:298:27: error: incompatible types when assigning to type ‘int8x16x4_t’ {aka ‘struct int8x16x4_t’} from type ‘int’
298 | #define ggml_vld1q_s8_x4 vld1q_s8_x4
| ^~~~~~~~~~~
/home/hnzl/whisper/whisper.cpp/ggml/src/ggml-cpu/arch/arm/quants.c:3620:22: note: in expansion of macro ‘ggml_vld1q_s8_x4’
3620 | q8b = ggml_vld1q_s8_x4(q8); q8 += 64;
| ^~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[2]: *** [ggml/src/CMakeFiles/ggml-cpu.dir/build.make:244:ggml/src/CMakeFiles/ggml-cpu.dir/ggml-cpu/arch/arm/quants.c.o] 错误 1
make[2]: *** 正在等待未完成的任务....
make[1]: *** [CMakeFiles/Makefile2:1108:ggml/src/CMakeFiles/ggml-cpu.dir/all] 错误 2
make: *** [Makefile:146:all] 错误 2

uname -a
Linux hnzl-greatwall 5.4.18-142-generic #131-KYLINOS SMP Thu Mar 27 03:09:16 UTC 2025 aarch64 aarch64 aarch64 GNU/Linux

cat /etc/os-release
NAME="Kylin"
VERSION="银河麒麟桌面操作系统V10 (SP1)"
VERSION_US="Kylin Linux Desktop V10 (SP1)"
ID=kylin
ID_LIKE=debian
PRETTY_NAME="Kylin V10 SP1"
VERSION_ID="v10"
HOME_URL="http://www.kylinos.cn/"
SUPPORT_URL="http://www.kylinos.cn/support/technology.html"
BUG_REPORT_URL="http://www.kylinos.cn/"
PRIVACY_POLICY_URL="http://www.kylinos.cn"
VERSION_CODENAME=kylin
UBUNTU_CODENAME=kylin
PROJECT_CODENAME=V10SP1
KYLIN_RELEASE_ID="2203"

gcc --version
gcc (Ubuntu 9.3.0-17kylin1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

which gcc
/usr/bin/gcc

dpkg -l | grep -E 'libc6-dev|linux-libc-dev'
ii libc6-dev:arm64 2.31-0kylin9.1k22.2 arm64 GNU C Library: Development Libraries and Header Files
ii linux-libc-dev:arm64 5.4.18-142.131 arm64 Linux Kernel Headers for development

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions