Open
Conversation
Bing-su
commented
Mar 26, 2026
| strategy: | ||
| matrix: | ||
| os: [ubuntu-22.04, windows-2022, macos-14, macos-15] | ||
| os: [ubuntu-22.04, windows-2022, macos-15] |
Author
There was a problem hiding this comment.
macos-15-intel failed to build, so it was excluded.
https://github.com/Bing-su/llama-cpp-python/actions/runs/23578504562/job/68656271494
Bing-su
commented
Mar 26, 2026
| @@ -1,5 +1,5 @@ | |||
| [build-system] | |||
| requires = ["scikit-build-core[pyproject]>=0.9.2"] | |||
| requires = ["scikit-build-core[wheels]>=0.12.2"] | |||
Author
There was a problem hiding this comment.
scikit-build-core[pyproject] is now a backward-compatibility-only extra.
[project.optional-dependencies]
pyproject = [
]
wheels = [
"cmake",
"ninja; sys_platform!='win32'",
]
wheel-free-setuptools = [
'setuptools>=70.1; python_version>="3.8"',
]
Bing-su
commented
Mar 26, 2026
|
|
||
| [tool.scikit-build] | ||
| wheel.packages = ["llama_cpp"] | ||
| wheel.py-api = "py3" |
Author
There was a problem hiding this comment.
This option generates tags like py3-none-manylinux_2_34_x86_64.whl.
https://scikit-build-core.readthedocs.io/en/latest/reference/configs.html#confval-wheel.py-api
Bing-su
commented
Mar 26, 2026
| # see all manylinux images here: https://github.com/pypa/manylinux | ||
| manylinux-x86_64-image = "manylinux_2_34" | ||
| manylinux-aarch64-image = "manylinux_2_34" | ||
| skip = "*musllinux*" # Segmentation fault occurs on musllinux python 3.10+ |
Author
There was a problem hiding this comment.
Successfully installed MarkupSafe-3.0.3 annotated-doc-0.0.4 annotated-types-0.7.0 anyio-4.13.0 certifi-2026.2.25 click-8.3.1 diskcache-5.6.3 exceptiongroup-1.3.1 fastapi-0.135.2 filelock-3.25.2 fsspec-2026.2.0 h11-0.16.0 hf-xet-1.4.2 httpcore-1.0.9 httpx-0.28.1 huggingface-hub-1.8.0 idna-3.11 iniconfig-2.3.0 jinja2-3.1.6 llama-cpp-python-0.3.19 markdown-it-py-4.0.0 mdurl-0.1.2 numpy-2.2.6 packaging-26.0 pluggy-1.6.0 pydantic-2.12.5 pydantic-core-2.41.5 pydantic-settings-2.13.1 pygments-2.19.2 pytest-9.0.2 python-dotenv-1.2.2 pyyaml-6.0.3 rich-14.3.3 scipy-1.15.3 shellingham-1.5.4 sse-starlette-3.3.3 starlette-1.0.0 starlette-context-0.3.6 tomli-2.4.1 tqdm-4.67.3 typer-0.24.1 typing-extensions-4.15.0 typing-inspection-0.4.2
+ mkdir -p /tmp/tmp.ACiMCD/test_cwd
+ mkdir -p /tmp/tmp.ACiMCD/test_cwd/tests
+ mkdir -p /tmp/tmp.ACiMCD/test_cwd/vendor
+ sh -c 'pytest -v ./tests'
============================= test session starts ==============================
platform linux -- Python 3.10.19, pytest-9.0.2, pluggy-1.6.0 -- /tmp/tmp.ACiMCD/venv/bin/python
cachedir: .pytest_cache
rootdir: /tmp/tmp.ACiMCD/test_cwd
plugins: anyio-4.13.0
collecting ... collected 11 items
tests/test_llama.py::test_llama_cpp_version PASSED [ 9%]
tests/test_llama.py::test_llama_cpp_tokenization PASSED [ 18%]
tests/test_llama.py::test_real_model PASSED [ 27%]
Fatal Python error: Segmentation fault
Thread 0x00007fe9f04f6b30 (most recent call first):
File "/opt/python/cp310-cp310/lib/python3.10/threading.py", line 324 in wait
File "/opt/python/cp310-cp310/lib/python3.10/threading.py", line 607 in wait
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/tqdm/_monitor.py", line 60 in run
File "/opt/python/cp310-cp310/lib/python3.10/threading.py", line 1016 in _bootstrap_inner
File "/opt/python/cp310-cp310/lib/python3.10/threading.py", line 973 in _bootstrap
Current thread 0x00007fea0c0bab28 (most recent call first):
Garbage-collecting
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/llama_cpp/_internals.py", line 273 in free_ctx
File "/opt/python/cp310-cp310/lib/python3.10/contextlib.py", line 449 in _exit_wrapper
File "/opt/python/cp310-cp310/lib/python3.10/contextlib.py", line 561 in __exit__
File "/opt/python/cp310-cp310/lib/python3.10/contextlib.py", line 584 in close
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/llama_cpp/_internals.py", line 279 in close
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/llama_cpp/_internals.py", line 282 in __del__
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 721 in parse
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 731 in parse_tuple
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 1021 in subparse
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 214 in parse_statements
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 260 in parse_if
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 177 in parse_statement
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 1030 in subparse
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 214 in parse_statements
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 260 in parse_if
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 177 in parse_statement
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 1030 in subparse
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 214 in parse_statements
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 248 in parse_for
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 177 in parse_statement
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 1030 in subparse
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 214 in parse_statements
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 260 in parse_if
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 177 in parse_statement
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 1030 in subparse
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 214 in parse_statements
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 447 in parse_macro
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 177 in parse_statement
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 1030 in subparse
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/parser.py", line 1047 in parse
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/environment.py", line 622 in _parse
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/environment.py", line 763 in compile
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/jinja2/environment.py", line 1111 in from_string
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/llama_cpp/llama_chat_format.py", line 216 in __init__
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/llama_cpp/llama.py", line 516 in __init__
File "/tmp/tmp.ACiMCD/test_cwd/tests/test_llama.py", line 135 in test_real_llama
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/python.py", line 166 in pytest_pyfunc_call
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 121 in _multicall
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 512 in __call__
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/python.py", line 1720 in runtest
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/runner.py", line 179 in pytest_runtest_call
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 121 in _multicall
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 512 in __call__
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/runner.py", line 245 in <lambda>
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/runner.py", line 353 in from_call
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/runner.py", line 244 in call_and_report
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/runner.py", line 137 in runtestprotocol
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/runner.py", line 118 in pytest_runtest_protocol
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 121 in _multicall
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 512 in __call__
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/main.py", line 396 in pytest_runtestloop
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 121 in _multicall
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 512 in __call__
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/main.py", line 372 in _main
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/main.py", line 318 in wrap_session
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/main.py", line 365 in pytest_cmdline_main
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_callers.py", line 121 in _multicall
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_manager.py", line 120 in _hookexec
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/pluggy/_hooks.py", line 512 in __call__
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 199 in main
File "/tmp/tmp.ACiMCD/venv/lib/python3.10/site-packages/_pytest/config/__init__.py", line 223 in console_main
File "/tmp/tmp.ACiMCD/venv/bin/pytest", line 6 in <module>
Extension modules: numpy._core._multiarray_umath, numpy.linalg._umath_linalg, scipy._lib._ccallback_c, scipy.special._ufuncs_cxx, scipy.special._ufuncs, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg64, numpy.random._sfc64, numpy.random._generator, scipy.special._specfun, scipy.special._comb, scipy.linalg._fblas, scipy.linalg._flapack, scipy.linalg.cython_lapack, scipy.linalg._cythonized_array_utils, scipy.linalg._solve_toeplitz, scipy.linalg._decomp_lu_cython, scipy.linalg._matfuncs_sqrtm_triu, scipy.linalg._matfuncs_expm, scipy.linalg._linalg_pythran, scipy.linalg.cython_blas, scipy.linalg._decomp_update, scipy.sparse._sparsetools, _csparsetools, scipy.sparse._csparsetools, scipy.sparse.linalg._dsolve._superlu, scipy.sparse.linalg._eigen.arpack._arpack, scipy.sparse.linalg._propack._spropack, scipy.sparse.linalg._propack._dpropack, scipy.sparse.linalg._propack._cpropack, scipy.sparse.linalg._propack._zpropack, scipy.sparse.csgraph._tools, scipy.sparse.csgraph._shortest_path, scipy.sparse.csgraph._traversal, scipy.sparse.csgraph._min_spanning_tree, scipy.sparse.csgraph._flow, scipy.sparse.csgraph._matching, scipy.sparse.csgraph._reordering, scipy.special._ellip_harm_2, yaml._yaml, markupsafe._speedups (total: 46)
/bin/bash: line 258: 1252 Segmentation fault (core dumped) env CIBUILDWHEEL=1 PKG_CONFIG_PATH=/usr/local/lib/pkgconfig HOSTNAME=168e6e417a38 LANGUAGE=en_US.UTF-8 AUDITWHEEL_POLICY=musllinux_1_2 AUDITWHEEL_ARCH=x86_64 *** HOME=/root LANG=en_US.UTF-8 SHLVL=1 LD_LIBRARY_PATH='' SSL_CERT_FILE=/opt/_internal/certs.pem AUDITWHEEL_PLAT=musllinux_1_2_x86_64 LC_ALL=en_US.UTF-8 PATH=/tmp/tmp.ACiMCD/venv/bin:/opt/python/cp310-cp310/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin DEVTOOLSET_ROOTPATH='' OLDPWD=/ _=/usr/bin/env PIP_DISABLE_PIP_VERSION_CHECK=1 PIP_ROOT_USER_ACTION=ignore CMAKE_ARGS='-DGGML_NATIVE=off -DBUILD_SHARED_LIBS=OFF' VIRTUAL_ENV=/tmp/tmp.ACiMCD/venv sh -c 'pytest -v ./tests'
tests/test_llama.py::test_real_llama ::endgroup::Testing wheel...
Bing-su
commented
Mar 26, 2026
|
|
||
| [tool.cibuildwheel] | ||
| archs = ["auto64"] | ||
| # llama.cpp requires glibc 2.31+. manylinux_2_34 is the oldest manylinux image with glibc 2.31. |
Author
There was a problem hiding this comment.
INFO:auditwheel.wheel_abi:setting libc to glibc
llama_cpp_python-0.3.19-py3-none-linux_x86_64.whl is consistent with
the following platform tag: "linux_x86_64".
The wheel references external versioned symbols in these
system-provided shared libraries: libgcc_s.so.1 with versions
{'GCC_3.0', 'GCC_3.4'}, libm.so.6 with versions {'GLIBC_2.27',
'GLIBC_2.2.5'}, libstdc++.so.6 with versions {'GLIBCXX_3.4.17',
'CXXABI_1.3.8', 'CXXABI_1.3.5', 'GLIBCXX_3.4.19', 'CXXABI_1.3',
'GLIBCXX_3.4.18', 'GLIBCXX_3.4.25', 'CXXABI_1.3.11', 'GLIBCXX_3.4.22',
'GLIBCXX_3.4.9', 'GLIBCXX_3.4.14', 'GLIBCXX_3.4.21', 'GLIBCXX_3.4.15',
'CXXABI_1.3.2', 'CXXABI_1.3.9', 'GLIBCXX_3.4', 'GLIBCXX_3.4.20',
'GLIBCXX_3.4.11', 'CXXABI_1.3.3'}, libc.so.6 with versions
{'GLIBC_2.17', 'GLIBC_2.16', 'GLIBC_2.14', 'GLIBC_2.3', 'GLIBC_2.6',
'GLIBC_2.4', 'GLIBC_2.7', 'GLIBC_2.2.5'}, libpthread.so.0 with
versions {'GLIBC_2.3.4', 'GLIBC_2.2.5'}, libgomp.so.1 with versions
{'GOMP_1.0', 'GOMP_4.0', 'OMP_1.0'}, libdl.so.2 with versions
{'GLIBC_2.2.5'}
This constrains the platform tag to "manylinux_2_31_x86_64". In order
to achieve a more compatible tag, you would need to recompile a new
wheel from source on a system with earlier versions of these
libraries, such as a recent manylinux image.
INFO:auditwheel.main_repair:Repairing llama_cpp_python-0.3.19-py3-none-linux_x86_64.whl
usage: auditwheel [-h] [-V] [-v] command ...
auditwheel: error: cannot repair "/tmp/cibuildwheel/built_wheel/llama_cpp_python-0.3.19-py3-none-linux_x86_64.whl" to "manylinux_2_28_x86_64" ABI because of the presence of too-recent versioned symbols. You'll need to compile the wheel on an older toolchain.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
fixes #2163
Builds widely reusable wheels.
In fact, since llama-cpp-python uses ctypes, there is no need to specify a Python ABI. Therefore, tags like
py3-none-manylinux_2_34_x86_64.whlcan be used.Please check the build success log at this link:
https://github.com/Bing-su/llama-cpp-python/actions/runs/23591453286