Build Failure When Enabling KleidiAI on ARMv9 in llama-cpp-python ≥ 3.10.0
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Estancado
- Área
- build-system
Línea de trabajo
El error se produce durante la instalación de CMake cuando no se puede encontrar libkleidiai.so. Empieza examinando la configuración de CMake en el directorio ggml/src, especialmente los scripts kleidiai_download-build. Compara el proceso de compilación entre las versiones 3.9.0 y 3.10.0 para comprobar qué cambió en el manejo de la biblioteca KleidiAI en ARMv9. Revisa el paso de instalación de CMake que hace referencia a libkleidiai.so y verifica la ruta de la biblioteca. Se considera terminado cuando se consigue una compilación correcta con los CMAKE_ARGS indicados en ARMv9.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
When I try to install the latest version of llama-cpp-python and enable KleidiAI on an ARMv9 CPU, I use the following command:
CMAKE_ARGS="-DGGML_NATIVE=OFF -DGGML_CPU_ARM_ARCH=armv9-a+i8mm+dotprod -DGGML_CPU_KLEIDIAI=ON" pip3 install llama-cpp-python
However, during the wheel-building process, it fails with the following error:
[93/94] : && /usr/bin/cmake -E rm -f vendor/llama.cpp/common/libcommon.a && /usr/bin/aarch64-linux-gnu-ar qc vendor/llama.cpp/common/libcommon.a vendor/llama.cpp/common/CMakeFiles/build_info.dir/build-info.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/arg.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/chat-parser.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/chat.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/common.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/console.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/json-partial.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/json-schema-to-grammar.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/llguidance.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/log.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/ngram-cache.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/regex-partial.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/sampling.cpp.o vendor/llama.cpp/common/CMakeFiles/common.dir/speculative.cpp.o && /usr/bin/aarch64-linux-gnu-ranlib vendor/llama.cpp/common/libcommon.a && :
[94/94] : && /usr/bin/aarch64-linux-gnu-g++ -O3 -DNDEBUG vendor/llama.cpp/tools/mtmd/CMakeFiles/llama-mtmd-cli.dir/mtmd-cli.cpp.o -o vendor/llama.cpp/tools/mtmd/llama-mtmd-cli -Wl,-rpath,/tmp/tmpuri70waa/build/vendor/llama.cpp/tools/mtmd:/tmp/tmpuri70waa/build/bin: vendor/llama.cpp/common/libcommon.a vendor/llama.cpp/tools/mtmd/libmtmd.so bin/libllama.so bin/libggml.so bin/libggml-cpu.so bin/libggml-base.so && :
*** Installing project into wheel...
-- Install configuration: "Release"
-- Installing: /tmp/tmpuri70waa/wheel/platlib/lib/libggml-cpu.so
CMake Error at /tmp/tmpuri70waa/build/_deps/kleidiai_download-build/cmake_install.cmake:52 (file):
file INSTALL cannot find "/tmp/tmpuri70waa/build/bin/libkleidiai.so": No
such file or directory.
Call Stack (most recent call first):
/tmp/tmpuri70waa/build/vendor/llama.cpp/ggml/src/cmake_install.cmake:65 (include)
/tmp/tmpuri70waa/build/vendor/llama.cpp/ggml/cmake_install.cmake:47 (include)
/tmp/tmpuri70waa/build/vendor/llama.cpp/cmake_install.cmake:47 (include)
/tmp/tmpuri70waa/build/cmake_install.cmake:47 (include)
*** CMake install failed
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed building wheel for llama-cpp-python
Failed to build llama-cpp-python
error: failed-wheel-build-for-install
× Failed to build installable wheels for some pyproject.toml based projects
╰─> llama-cpp-python
These CMake flags (-DGGML_NATIVE=OFF -DGGML_CPU_ARM_ARCH=armv9-a+i8mm+dotprod -DGGML_CPU_KLEIDIAI=ON) have already been tested on llama.cpp, and the build succeeds there.
The installation works for llama-cpp-python==3.9.0, but starting from 3.10.0, the build fails with the error above.
- Lenguaje dominante
- Python
- Estrellas
- 10.6k
- Forks
- 1.5k
- Merge medio
- 3 h 57 min
- PR fusionados (30 d)
- 4
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de abetlen/llama-cpp-python
-
Seven llama_sampler_init_* bindings admit keyword arguments that the ctypes function object silently dropsPosiblemente ocupada @Belal0066 la tomó hace 15 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
abetlen/llama-cpp-python#2371 ·
Los mantenedores suelen responder en 1 día
-
uv add llama-cpp-python wheels fails for versions above 0.3.30Posiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
abetlen/llama-cpp-python#2352 · 1 comentario · 2 reacciones ·
Los mantenedores suelen responder en 1 día
-
Docs: consolidate build-from-source and GPU backend guidePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
abetlen/llama-cpp-python#2314 ·
Los mantenedores suelen responder en 1 día
-
Llama.embed() calls LlamaBatch.add_sequence with old 3-arg signature; missing logits_arrayQuizá libre de nuevo @lxcxjxhx la tomó hace 92 días y no hay ningún pull request abierto. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
abetlen/llama-cpp-python#2211 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
Llama() silently accepts and discards `embedding` kwarg; .embed() then raises confusinglyPosiblemente ocupada @Anai-Guo la tomó hace 33 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
abetlen/llama-cpp-python#2210 ·
Los mantenedores suelen responder en 1 día
Todos los issues de abetlen/llama-cpp-python
Issues similares
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
epam/ai-dial-quickapps-backend#628 ·
Los mantenedores suelen responder en 2 días
-
0xlau.dev 已失效,切换成 timlau.meAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 69/100
timqian/chinese-independent-blogs#2235 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
eclipse-score/coverage_tool#27 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
bojieli/ai-agent-book#1174 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
RedHatQE/mtv-api-tests#721 ·
Los mantenedores suelen responder en 1 día