Skip to content

Pydantic-core 2.10.1 installation is failing in Python 3.12.4 and Rustc 1.79.0 #1366

Closed
@Soujanya459

Description

@Soujanya459

Hi
I'm seeing below error while installing pydantic-core==2.10.1 in OneFS(Custom OS from FreeBSD) with Python 3.12.4, But I'm able to install same version in Python 3.12.3 and Rustc 1.79.0

Used pydantic version is 2.4.2, pydantic-core 2.10.1

Can you please let me know what might be the issue here..

``

  • uname -a
    FreeBSD onefs97-soujanya-46-1 12.0-CURRENT FreeBSD 12.0-CURRENT amd64

  • rustup --version
    rustup 1.27.1 (54dd3d00f 2024-04-24)
    info: This is the version for the rustup toolchain manager, not the rustc compiler.
    info: The currently active rustc version is rustc 1.79.0 (129f3b996 2024-06-10)

  • rustc --version
    rustc 1.79.0 (129f3b996 2024-06-10)

  • python --version
    Python 3.12.4

  • openssl --version
    OpenSSL 3.3.0 9 Apr 2024 (Library: OpenSSL 3.3.0 9 Apr 2024)
    ``

Collecting pydantic-core==2.10.1
  Using cached pydantic_core-2.10.1.tar.gz (347 kB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: typing-extensions!=4.7.0,>=4.6.0 in ./ese_virtualenv/lib/python3.12/site-packages (from pydantic-core==2.10.1) (4.12.2)
Building wheels for collected packages: pydantic-core
  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
  ╰─> [108 lines of output]
      Running `maturin pep517 build-wheel -i /var/pipeline/ese_virtualenv/bin/python --compatibility off`
      📦 Including license file "/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a/LICENSE"
      🍹 Building a mixed python/rust project
      🔗 Found pyo3 bindings
      🐍 Found CPython 3.12 at /var/pipeline/ese_virtualenv/bin/python
      📡 Using build options features, bindings from pyproject.toml
         Compiling autocfg v1.1.0
         Compiling proc-macro2 v1.0.64
         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 pyo3-build-config v0.19.2
         Compiling libc v0.2.147
         Compiling syn v2.0.28
         Compiling num-traits v0.2.16
         Compiling version_check v0.9.4
         Compiling cfg-if v1.0.0
         Compiling syn v1.0.109
         Compiling rustversion v1.0.13
         Compiling pyo3-ffi v0.19.2
         Compiling num-integer v0.1.45
         Compiling lock_api v0.4.10
         Compiling tinyvec_macros v0.1.1
         Compiling parking_lot_core v0.9.8
         Compiling tinyvec v1.6.0
         Compiling num-bigint v0.4.4
         Compiling memoffset v0.9.0
         Compiling scopeguard v1.1.0
         Compiling memchr v2.6.3
         Compiling serde v1.0.188
         Compiling heck v0.4.1
         Compiling smallvec v1.11.1
         Compiling pyo3-macros-backend v0.19.2
         Compiling strum_macros v0.25.2
         Compiling aho-corasick v1.0.2
         Compiling serde_derive v1.0.188
         Compiling unicode-normalization v0.1.22
         Compiling ahash v0.8.3
         Compiling pyo3 v0.19.2
         Compiling regex-syntax v0.7.5
         Compiling serde_json v1.0.107
         Compiling unicode-bidi v0.3.13
         Compiling equivalent v1.0.1
         Compiling hashbrown v0.14.0
         Compiling percent-encoding v2.3.0
         Compiling form_urlencoded v1.2.0
         Compiling indexmap v2.0.0
         Compiling regex-automata v0.3.8
         Compiling idna v0.4.0
         Compiling parking_lot v0.12.1
         Compiling strum v0.25.0
         Compiling pyo3-macros v0.19.2
         Compiling getrandom v0.2.10
         Compiling pydantic-core v2.10.1 (/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a)
         Compiling indoc v1.0.9
         Compiling ryu v1.0.14
         Compiling unindent v0.1.11
         Compiling itoa v1.0.8
      error: failed to run custom build command for `pydantic-core v2.10.1 (/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a)`

      Caused by:
        process didn't exit successfully: `/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a/target/release/build/pydantic-core-d581da117573b997/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:rerun-if-changed=python/pydantic_core/core_schema.py
        cargo:rerun-if-changed=generate_self_schema.py

        --- stderr
        Traceback (most recent call last):
          File "/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a/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 "/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a/generate_self_schema.py", line 240, in <module>
            main()
          File "/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a/generate_self_schema.py", line 210, in main
            value = get_schema(s, definitions)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a/generate_self_schema.py", line 54, in get_schema
            return type_dict_schema(obj, definitions)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a/generate_self_schema.py", line 152, in type_dict_schema
            field_type = eval_forward_ref(field_type)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a/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' 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 PYO3_ENVIRONMENT_SIGNATURE="cpython-3.12-64bit" PYO3_PYTHON="/var/pipeline/ese_virtualenv/bin/python" PYTHON_SYS_EXECUTABLE="/var/pipeline/ese_virtualenv/bin/python" "cargo" "rustc" "--features" "pyo3/extension-module" "--message-format" "json-render-diagnostics" "--manifest-path" "/tmp/pip-install-0wwhnvl0/pydantic-core_42a8467bd6ad48c3981e70a855e3c28a/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
      Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/var/pipeline/ese_virtualenv/bin/python', '--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
Failed to build pydantic-core
ERROR: Could not build wheels for pydantic-core, which is required to install pyproject.toml-based projects

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions