[Bug]: Build failure on MacOS 26.5.1 with Python 3.14.4

Author: boutellCreated Jun 19, 2026Updated Sep 18, 2026
Labelsbugstale

Issue

This project looks great! Unfortunately there seems to be a build issue with two of the wheels with newer python.

I'm running pip install -r requirements.txt in a venv.

Appreciate all you do!

Building wheels for collected packages: pydensecrf, numpy, pydantic-core, editdistance, antlr4-python3-runtime, langdetect, unidic_lite
  Building wheel for pydensecrf (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for pydensecrf (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [89 lines of output]
      /private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-build-env-yvn1m5of/overlay/lib/python3.14/site-packages/setuptools/dist.py:765: SetuptoolsDeprecationWarning: License classifiers are deprecated.
      !!
      
              ********************************************************************************
              Please consider removing the following classifiers in favor of a SPDX license expression:
      
              License :: OSI Approved :: MIT License
      
              See https://packaging.python.org/en/latest/guides/writing-pyproject-toml/#license for details.
              ********************************************************************************
      
      !!
        self._finalize_license_expression()
      running bdist_wheel
      running build
      running build_py
      creating build/lib.macosx-26.0-arm64-cpython-314/pydensecrf
      copying pydensecrf/__init__.py -> build/lib.macosx-26.0-arm64-cpython-314/pydensecrf
      copying pydensecrf/utils.py -> build/lib.macosx-26.0-arm64-cpython-314/pydensecrf
      running build_ext
      building 'pydensecrf.eigen' extension
      creating build/temp.macosx-26.0-arm64-cpython-314/pydensecrf
      clang++ -fno-strict-overflow -Wsign-compare -Wunreachable-code -fno-common -dynamic -DNDEBUG -g -O3 -Wall -Ipydensecrf/densecrf/include -Ipydensecrf -I/Users/boutell/boutell/manga-image-translator/venv/include -I/opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.14/include/python3.14 -c pydensecrf/eigen.cpp -o build/temp.macosx-26.0-arm64-cpython-314/pydensecrf/eigen.o
      pydensecrf/eigen.cpp:871:59: warning: 'Py_UNICODE' is deprecated [-Wdeprecated-declarations]
        871 | static CYTHON_INLINE size_t __Pyx_Py_UNICODE_strlen(const Py_UNICODE *u) {
            |                                                           ^
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.14/include/python3.14/cpython/unicodeobject.h:10:1: note: 'Py_UNICODE' has been explicitly marked deprecated here
         10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
            | ^
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.14/include/python3.14/pyport.h:281:54: note: expanded from macro 'Py_DEPRECATED'
        281 | #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
            |                                                      ^
      pydensecrf/eigen.cpp:872:11: warning: 'Py_UNICODE' is deprecated [-Wdeprecated-declarations]
        872 |     const Py_UNICODE *u_end = u;
            |           ^
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.14/include/python3.14/cpython/unicodeobject.h:10:1: note: 'Py_UNICODE' has been explicitly marked deprecated here
         10 | Py_DEPRECATED(3.13) typedef wchar_t Py_UNICODE;
            | ^
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.14/include/python3.14/pyport.h:281:54: note: expanded from macro 'Py_DEPRECATED'
        281 | #define Py_DEPRECATED(VERSION_UNUSED) __attribute__((__deprecated__))
            |                                                      ^
      pydensecrf/eigen.cpp:1758:22: error: use of undeclared identifier '_PyList_Extend'; did you mean 'PyList_Extend'?
       1758 |     PyObject* none = _PyList_Extend((PyListObject*)L, v);
            |                      ^~~~~~~~~~~~~~
            |                      PyList_Extend
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.14/include/python3.14/cpython/listobject.h:52:17: note: 'PyList_Extend' declared here
         52 | PyAPI_FUNC(int) PyList_Extend(PyObject *self, PyObject *iterable);
            |                 ^
      pydensecrf/eigen.cpp:1758:37: error: cannot initialize a parameter of type 'PyObject *' (aka '_object *') with an rvalue of type 'PyListObject *'
       1758 |     PyObject* none = _PyList_Extend((PyListObject*)L, v);
            |                                     ^~~~~~~~~~~~~~~~
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.14/include/python3.14/cpython/listobject.h:52:41: note: passing argument to parameter 'self' here
         52 | PyAPI_FUNC(int) PyList_Extend(PyObject *self, PyObject *iterable);
            |                                         ^
      pydensecrf/eigen.cpp:1796:39: error: use of undeclared identifier '_PyInterpreterState_GetConfig'
       1796 |     __pyx_assertions_enabled_flag = ! _PyInterpreterState_GetConfig(__Pyx_PyThreadState_Current->interp)->optimization_level;
            |                                       ^
      pydensecrf/eigen.cpp:21997:27: error: no matching function for call to '_PyLong_AsByteArray'
       21997 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.14/include/python3.14/cpython/longobject.h:84:17: note: candidate function not viable: requires 6 arguments, but 5 were provided
         84 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^                   ~~~~~~~~~~~~~~~~
         85 |     unsigned char* bytes, size_t n,
            |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         86 |     int little_endian, int is_signed, int with_exceptions);
            |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      pydensecrf/eigen.cpp:22193:27: error: no matching function for call to '_PyLong_AsByteArray'
       22193 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.14/include/python3.14/cpython/longobject.h:84:17: note: candidate function not viable: requires 6 arguments, but 5 were provided
         84 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^                   ~~~~~~~~~~~~~~~~
         85 |     unsigned char* bytes, size_t n,
            |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         86 |     int little_endian, int is_signed, int with_exceptions);
            |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      pydensecrf/eigen.cpp:22465:27: error: no matching function for call to '_PyLong_AsByteArray'
       22465 |                 int ret = _PyLong_AsByteArray((PyLongObject *)v,
             |                           ^~~~~~~~~~~~~~~~~~~
      /opt/homebrew/opt/[email protected]/Frameworks/Python.framework/Versions/3.14/include/python3.14/cpython/longobject.h:84:17: note: candidate function not viable: requires 6 arguments, but 5 were provided
         84 | PyAPI_FUNC(int) _PyLong_AsByteArray(PyLongObject* v,
            |                 ^                   ~~~~~~~~~~~~~~~~
         85 |     unsigned char* bytes, size_t n,
            |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
         86 |     int little_endian, int is_signed, int with_exceptions);
            |     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      2 warnings and 6 errors generated.
      error: command '/usr/bin/clang++' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pydensecrf
  Building wheel for numpy (pyproject.toml) ... done
  Created wheel for numpy: filename=numpy-1.26.4-cp314-cp314-macosx_26_0_arm64.whl size=4778974 sha256=c4d0ae0b5a1eff8d2ba8aee02f513e2125dab4974d3e09f8ef9135aa97e25240
  Stored in directory: /Users/boutell/Library/Caches/pip/wheels/9f/41/2d/41d9edbbdf1331835527392f3da54c7de611dc6ba3ef296215
  Building wheel for pydantic-core (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for pydantic-core (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [137 lines of output]
      Python reports SOABI: cpython-314-darwin
      Computed rustc target triple: aarch64-apple-darwin
      Installation directory: /Users/boutell/Library/Caches/puccinialin
      Rustup already downloaded
      Installing rust to /Users/boutell/Library/Caches/puccinialin/rustup
      warn: It looks like you have an existing rustup settings file at:
      warn: /Users/boutell/Library/Caches/puccinialin/rustup/settings.toml
      warn: Rustup will install the default toolchain as specified in the settings file,
      warn: instead of the one inferred from the default host triple.
      info: profile set to minimal
      info: setting default host triple to aarch64-apple-darwin
      warn: Updating existing toolchain, profile choice will be ignored
      info: syncing channel updates for stable-aarch64-apple-darwin
      info: default toolchain set to stable-aarch64-apple-darwin
      Checking if cargo is installed
      cargo 1.96.0 (30a34c682 2026-05-25)
      Rust not found, installing into a temporary directory
      Running `maturin pep517 build-wheel -i /Users/boutell/boutell/manga-image-translator/venv/bin/python3.14 --compatibility off`
       Including license file `LICENSE`
       Building a mixed python/rust project
       Found CPython 3.14 at /Users/boutell/boutell/manga-image-translator/venv/bin/python3.14
       Found pyo3 bindings
       Using build options features, bindings from pyproject.toml
       Using `MACOSX_DEPLOYMENT_TARGET=11.0` for aarch64-apple-darwin by default
         Compiling autocfg v1.1.0
         Compiling proc-macro2 v1.0.69
         Compiling quote v1.0.29
         Compiling unicode-ident v1.0.10
         Compiling target-lexicon v0.12.9
         Compiling python3-dll-a v0.2.9
         Compiling once_cell v1.18.0
         Compiling libc v0.2.147
         Compiling heck v0.4.1
         Compiling static_assertions v1.1.0
         Compiling cfg-if v1.0.0
         Compiling version_check v0.9.4
         Compiling lexical-util v0.8.5
         Compiling rustversion v1.0.13
         Compiling parking_lot_core v0.9.8
         Compiling scopeguard v1.1.0
         Compiling smallvec v1.11.1
         Compiling tinyvec_macros v0.1.1
         Compiling tinyvec v1.6.0
         Compiling ahash v0.8.6
         Compiling serde v1.0.190
         Compiling num-traits v0.2.16
         Compiling num-integer v0.1.45
         Compiling lock_api v0.4.10
         Compiling memoffset v0.9.0
         Compiling num-bigint v0.4.4
         Compiling lexical-parse-integer v0.8.6
         Compiling lexical-write-integer v0.8.5
         Compiling memchr v2.6.3
         Compiling lexical-write-float v0.8.5
         Compiling aho-corasick v1.0.2
         Compiling lexical-parse-float v0.8.5
         Compiling syn v2.0.38
         Compiling getrandom v0.2.10
         Compiling unicode-normalization v0.1.22
         Compiling pyo3-build-config v0.20.0
         Compiling percent-encoding v2.3.0
         Compiling zerocopy v0.7.20
         Compiling hashbrown v0.14.0
         Compiling indoc v2.0.4
         Compiling unicode-bidi v0.3.13
         Compiling unindent v0.2.3
         Compiling regex-syntax v0.8.2
         Compiling serde_json v1.0.108
         Compiling equivalent v1.0.1
         Compiling indexmap v2.0.0
         Compiling idna v0.4.0
         Compiling parking_lot v0.12.1
         Compiling form_urlencoded v1.2.0
         Compiling lexical-core v0.8.5
         Compiling ryu v1.0.14
         Compiling pyo3-macros-backend v0.20.0
         Compiling itoa v1.0.8
         Compiling url v2.4.1
         Compiling base64 v0.21.5
         Compiling uuid v1.5.0
         Compiling serde_derive v1.0.190
         Compiling strum_macros v0.25.3
         Compiling enum_dispatch v0.3.12
         Compiling regex-automata v0.4.3
         Compiling pyo3-ffi v0.20.0
         Compiling pyo3 v0.20.0
         Compiling pydantic-core v2.14.1 (/private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-install-t0ltydig/pydantic-core_d251837f3efd4ebca9956c8691627bf3)
         Compiling pyo3-macros v0.20.0
      error: failed to run custom build command for `pydantic-core v2.14.1 (/private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-install-t0ltydig/pydantic-core_d251837f3efd4ebca9956c8691627bf3)`
      
      Caused by:
        process didn't exit successfully: `/private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-install-t0ltydig/pydantic-core_d251837f3efd4ebca9956c8691627bf3/target/release/build/pydantic-core-973ce42fcc759afe/build-script-build` (exit status: 101)
        --- stdout
        cargo:rustc-cfg=Py_3_6
        cargo:rustc-cfg=Py_3_7
        cargo:rustc-cfg=Py_3_8
        cargo:rustc-cfg=Py_3_9
        cargo:rustc-cfg=Py_3_10
        cargo:rustc-cfg=Py_3_11
        cargo:rustc-cfg=Py_3_12
        cargo:rustc-cfg=Py_3_13
        cargo:rustc-cfg=Py_3_14
        cargo:rerun-if-changed=python/pydantic_core/core_schema.py
        cargo:rerun-if-changed=generate_self_schema.py
      
        --- stderr
        Traceback (most recent call last):
          File "/private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-install-t0ltydig/pydantic-core_d251837f3efd4ebca9956c8691627bf3/generate_self_schema.py", line 192, in eval_forward_ref
            return type_._evaluate(core_schema.__dict__, None, set())
                   ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: 'recursive_guard'
      
        During handling of the above exception, another exception occurred:
      
        Traceback (most recent call last):
          File "/private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-install-t0ltydig/pydantic-core_d251837f3efd4ebca9956c8691627bf3/generate_self_schema.py", line 240, in <module>
            main()
            ~~~~^^
          File "/private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-install-t0ltydig/pydantic-core_d251837f3efd4ebca9956c8691627bf3/generate_self_schema.py", line 210, in main
            value = get_schema(s, definitions)
          File "/private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-install-t0ltydig/pydantic-core_d251837f3efd4ebca9956c8691627bf3/generate_self_schema.py", line 54, in get_schema
            return type_dict_schema(obj, definitions)
          File "/private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-install-t0ltydig/pydantic-core_d251837f3efd4ebca9956c8691627bf3/generate_self_schema.py", line 152, in type_dict_schema
            field_type = eval_forward_ref(field_type)
          File "/private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-install-t0ltydig/pydantic-core_d251837f3efd4ebca9956c8691627bf3/generate_self_schema.py", line 195, in eval_forward_ref
            return type_._evaluate(core_schema.__dict__, None)
                   ~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: 'recursive_guard'
      
        thread 'main' (13033411) panicked at build.rs:29:9:
        generate_self_schema.py failed with exit status: 1
        note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
      warning: build failed, waiting for other jobs to finish...
       maturin failed
        Caused by: Failed to build a native library through cargo
        Caused by: Cargo build finished with "exit status: 101": `env -u CARGO MACOSX_DEPLOYMENT_TARGET="11.0" PYO3_BUILD_EXTENSION_MODULE="1" PYO3_ENVIRONMENT_SIGNATURE="cpython-3.14-64bit" PYO3_PYTHON="/Users/boutell/boutell/manga-image-translator/venv/bin/python3.14" PYTHON_SYS_EXECUTABLE="/Users/boutell/boutell/manga-image-translator/venv/bin/python3.14" "cargo" "rustc" "--profile" "release" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/private/var/folders/lg/7k83x5ys71d90nvc40mj1tbr0000gn/T/pip-install-t0ltydig/pydantic-core_d251837f3efd4ebca9956c8691627bf3/Cargo.toml" "--lib" "--crate-type" "cdylib" "--" "-C" "link-args=-Wl,-install_name,@rpath/pydantic_core._pydantic_core.cpython-314-darwin.so"`
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/Users/boutell/boutell/manga-image-translator/venv/bin/python3.14', '--compatibility', 'off'] returned non-zero exit status 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pydantic-core
  Building wheel for editdistance (pyproject.toml) ... done
  Created wheel for editdistance: filename=editdistance-0.8.1-cp314-cp314-macosx_26_0_arm64.whl size=97137 sha256=a23d6f2701d576984e374106b7016c7c6c77c1ecd74cf1804641b763ac4ebb4f
  Stored in directory: /Users/boutell/Library/Caches/pip/wheels/84/36/d4/b0c9cdd703d0e01177765e4824ae86d2a6f704175d8ea9abb8
  Building wheel for antlr4-python3-runtime (pyproject.toml) ... done
  Created wheel for antlr4-python3-runtime: filename=antlr4_python3_runtime-4.9.3-py3-none-any.whl size=144590 sha256=7cde03b03517c91985864dde310c44b1383ce77a7a3811a4202305bc379458f9
  Stored in directory: /Users/boutell/Library/Caches/pip/wheels/ea/ca/a6/5ad163e6c66e23b25d4e6a81dba06bce77047ef6257d643728
  Building wheel for langdetect (pyproject.toml) ... done
  Created wheel for langdetect: filename=langdetect-1.0.9-py3-none-any.whl size=993332 sha256=a919b609af1f694ce88ef720d489c4f19108e6467bb3adc1bac941f8240e91b9
  Stored in directory: /Users/boutell/Library/Caches/pip/wheels/13/60/5a/f2012969b3f7413b62b7b7063d6c9b45c93004a978cbe8ea2f
  Building wheel for unidic_lite (pyproject.toml) ... done
  Created wheel for unidic_lite: filename=unidic_lite-1.0.8-py3-none-any.whl size=47658912 sha256=97450776ffc1055896b0da9e677903bede7b088f66decfbbb25ad431d2acf8f7
  Stored in directory: /Users/boutell/Library/Caches/pip/wheels/bc/67/c3/d96c26055fce8b3c64f3cedbeb1303f32013460d2c4036d0ce
Successfully built numpy editdistance antlr4-python3-runtime langdetect unidic_lite
Failed to build pydensecrf pydantic-core

Command Line Arguments

bash

Console logs

bash

Source: zyddnys/manga-image-translator