abetlen / abetlen/llama-cpp-python
Error when building wheels on Linux FileNotFoundError: [Errno 2] No such file or directory: 'ninja'`
- 主要語言
- Python
- 星號
- 10.6k
- 分支
- 1.4k
- PR 合併指標
- PR 指標待擷取
描述
# Prerequisites
Please answer the following questions for yourself before submitting an issue.
- [x] I am running the latest code. Development is very rapid so there are no tagged versions as of now.
- [x] I carefully followed the [README.md](https://github.com/abetlen/llama-cpp-python/blob/main/README.md).
- [x] I [searched using keywords relevant to my issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests) to make sure that I am creating a new issue that is not already open (or closed).
- [x] I reviewed the [Discussions](https://github.com/abetlen/llama-cpp-python/discussions), and have a new bug or useful enhancement to share.
# Expected Behavior
Please provide a detailed written description of what you were trying to do, and what you expected `llama-cpp-python` to do.
# Current Behavior
Building wheels results in error logs (see below).
# Environment and Context
- Docker file, building from `ubuntu:jammy`
- llama-cpp-python versions tested `0.2.88` and `0.3.2`. Behavior consistent.
- Note that I'm still able to build from source directly on my MacOS, so it might be something specific to Linux
# Failure Information (for bugs)
I'm unable to build wheels for `llama-cpp-python` in an `ubuntu:jammy` base Docker image. I get the error: `FileNotFoundError: [Errno 2] No such file or directory: 'ninja'`.
Please help provide information about the failure if this is a bug. If it is not a bug, please remove the rest of this template.
# Steps to Reproduce
Please provide detailed steps for reproducing the issue. We are not sitting in front of your screen, so the more detail the better.
1. `git clone git@github.com:khoj-ai/khoj.git`
2. `cd khoj && docker build .`
You should see the same error reproduced
# Failure Logs
```
0 54.02
#0 54.02 × Building wheel for llama-cpp-python (pyproject.toml) did not run successfully.
#0 54.02 │ exit code: 1
#0 54.02 ╰─> [34 lines of output]
#0 54.02 *** scikit-build-core 0.10.7 using CMake 3.31.1 (wheel)
#0 54.02 *** Configuring CMake...
#0 54.02 Traceback (most recent call last):
#0 54.02 File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 363, in
#0 54.02 main()
#0 54.02 File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 345, in main
#0 54.02 json_out['return_val'] = hook(**hook_input['kwargs'])
#0 54.02 File "/usr/lib/python3/dist-packages/pip/_vendor/pep517/in_process/_in_process.py", line 261, in build_wheel
#0 54.02 return _build_backend().build_wheel(wheel_directory, config_settings,
#0 54.02 File "/tmp/pip-build-env-gvxo9xjm/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/__init__.py", line 33, in build_wheel
#0 54.02 return _build_wheel_impl(
#0 54.02 File "/tmp/pip-build-env-gvxo9xjm/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/wheel.py", line 175, in _build_wheel_impl
#0 54.02 return _build_wheel_impl_impl(
#0 54.02 File "/tmp/pip-build-env-gvxo9xjm/overlay/local/lib/python3.10/dist-packages/scikit_build_core/build/wheel.py", line 402, in _build_wheel_impl_impl
#0 54.02 builder.configure(
#0 54.02 File "/tmp/pip-build-env-gvxo9xjm/overlay/local/lib/python3.10/dist-packages/scikit_build_core/builder/builder.py", line 166, in configure
#0 54.02 local_def = set_environment_for_gen(
#0 54.02 File "/tmp/pip-build-env-gvxo9xjm/overlay/local/lib/python3.10/dist-packages/scikit_build_core/builder/generator.py", line 121, in set_environment_for_gen
#0 54.02 ninja = best_program(get_ninja_programs(), version=ninja_settings.version)
#0 54.02 File "/tmp/pip-build-env-gvxo9xjm/overlay/local/lib/python3.10/dist-packages/scikit_build_core/program_search.py", line 169, in best_program
#0 54.02 for program in programs:
#0 54.02 File "/tmp/pip-build-env-gvxo9xjm/overlay/local/lib/python3.10/dist-packages/scikit_build_core/program_search.py", line 136, in get_ninja_programs
#0 54.02 result = Run().capture(ninja_path, "--version")
#0 54.02 File "/tmp/pip-build-env-gvxo9xjm/overlay/local/lib/python3.10/dist-packages/scikit_build_core/_shutil.py", line 43, in capture
#0 54.02 return self._run(args, capture=True)
#0 54.02 File "/tmp/pip-build-env-gvxo9xjm/overlay/local/lib/python3.10/dist-packages/scikit_build_core/_shutil.py", line 71, in _run
#0 54.02 return subprocess.run(
#0 54.02 File "/usr/lib/python3.10/subprocess.py", line 503, in run
#0 54.02 with Popen(*popenargs, **kwargs) as process:
#0 54.02 File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
#0 54.02 self._execute_child(args, executable, preexec_fn, close_fds,
#0 54.02 File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
#0 54.02 raise child_exception_type(errno_num, err_msg, err_filename)
#0 54.02 FileNotFoundError: [Errno 2] No such file or directory: 'ninja'
#0 54.02 [end of output]
#0 54.02
#0 54.02 note: This error originates from a subprocess, and is likely not a problem with pip.
#0 54.02 ERROR: Failed building wheel for llama-cpp-python
#0 54.02 Building wheel for openai-whisper (pyproject.toml): started
#0 54.25 Building wheel for openai-whisper (pyproject.toml): finished with status 'done'
#0 54.25 Created wheel for openai-whisper: filename=openai_whisper-20240930-py3-none-any.whl size=803338 sha256=3fe6a790d061e0fd0fb7f67fab76b6662233ee67d68b41f45ba25df64f21df59
#0 54.25 Stored in directory: /tmp/pip-ephem-wheel-cache-y4xjqtu_/wheels/dd/4a/1f/d1c4bf3b9133c8168fe617ed979cab7b14fe381d059ffb9d83
#0 54.25 Successfully built khoj docx2txt openai-whisper
#0 54.26 ERROR: Could not build wheels for llama-cpp-python, which is required to install pyproject.toml-based projects
#0 54.26 Failed to build llama-cpp-python
------
```
Here's the `pyproject.toml` it's using to build: [link](https://github.com/khoj-ai/khoj/blob/master/pyproject.toml).
You can see the full error logs [in the GitHub Action workflow](https://github.com/khoj-ai/khoj/actions/runs/11990010386/job/33428489315).
I noticed the ninja project had a release recently, but the error is still consistent if I downgrade ninja to `1.11.1.1`.
Our workflow has been running smoothly, and this is the first time we encountered the error (about two hours ago, ~1:00 PM PST). Any help is much appreciated 🙏🏾.
貢獻指南
評估
這個 Issue 還沒有評估資料。