Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build failure of pydantic-core 2.14.6 with Rust 1.68.2 and Python 3.11 #1202

Closed
hsteinhaus opened this issue Feb 22, 2024 · 2 comments
Closed

Comments

@hsteinhaus
Copy link

hsteinhaus commented Feb 22, 2024

I am trying to build pydantic-core 2.14.6 in Yocto, with Rust 1.68.2 and Python 3.11.

My toolchain is not completely up to the latest Yocto versions due to target system constraints. In other words: there is no easy way just to update Python or Rust. But, as far as I see, the minimum required versions of the dependecies of pydantic-core are met.

Any suggestions how to fix that problem? Not really familliar with Rust (yet)...

| DEBUG: Executing shell function do_compile
| * Getting build dependencies for wheel...
| * Building wheel...
| Running `maturin pep517 build-wheel -i /yocto/maaxboard/build/tmp/work/armv8a-poky-linux/python3-pydantic-core/2.14.6-r0/recipe-sysroot-native/usr/bin/nativepython3 --compatibility off`
| 📦 Including license file "/yocto/maaxboard/build/tmp/work/armv8a-poky-linux/python3-pydantic-core/2.14.6-r0/pydantic_core-2.14.6/LICENSE"
| 🍹 Building a mixed python/rust project
| 🔗 Found pyo3 bindings
| 🐍 Found CPython 3.11
| 📡 Using build options features, bindings from pyproject.toml
| warning: unused manifest key: lints
|    Compiling autocfg v1.1.0
|     Building [                           ] 0/106: autocfg
|    Compiling proc-macro2 v1.0.69
|    Compiling unicode-ident v1.0.10
|    Compiling quote v1.0.29
|    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 static_assertions v1.1.0
|    Compiling heck v0.4.1
|    Compiling version_check v0.9.4
|    Compiling cfg-if v1.0.0
|    Compiling parking_lot_core v0.9.8
|    Compiling rustversion v1.0.13
|    Compiling tinyvec_macros v0.1.1
|    Compiling scopeguard v1.1.0
|    Compiling smallvec v1.11.1
|    Compiling memchr v2.6.3
|    Compiling serde v1.0.190
|    Compiling unicode-bidi v0.3.13
|     Building [                           ] 0/106: libc(build.rs), target-le...
|    Compiling lexical-util v0.8.5
|     Building [                           ] 1/106: lexical-util, libc(build....
|    Compiling tinyvec v1.6.0
|     Building [                           ] 2/106: lexical-util, libc(build....
|    Compiling unindent v0.2.3
|     Building [                           ] 3/106: lexical-util, libc(build....
|    Compiling indoc v2.0.4
|     Building [>                          ] 4/106: lexical-util, libc(build....
|    Compiling regex-syntax v0.8.2
|     Building [>                          ] 5/106: lexical-util, libc(build....
|    Compiling percent-encoding v2.3.0
|     Building [>                          ] 6/106: lexical-util, libc(build....
|     Building [>                          ] 7/106: lexical-util, libc(build....
|    Compiling zerocopy v0.7.20
|     Building [=>                         ] 8/106: lexical-util, libc(build....
|    Compiling serde_json v1.0.108
|     Building [=>                         ] 9/106: lexical-util, libc(build....
|    Compiling equivalent v1.0.1
|     Building [=>                        ] 10/106: lexical-util, libc(build....
|     Building [=>                        ] 11/106: lexical-util, libc(build....
|    Compiling hashbrown v0.14.0
|     Building [=>                        ] 12/106: lexical-util, libc(build....
|    Compiling form_urlencoded v1.2.0
|     Building [==>                       ] 13/106: lexical-util, libc(build....
|     Building [==>                       ] 14/106: lexical-util, libc(build....
|     Building [==>                       ] 15/106: lexical-util, libc(build....
|    Compiling ryu v1.0.14
|     Building [==>                       ] 16/106: lexical-util, libc(build....
|     Building [===>                      ] 17/106: lexical-util, libc(build....
|     Building [===>                      ] 18/106: lexical-util, libc(build....
|    Compiling itoa v1.0.8
|     Building [===>                      ] 19/106: lexical-util, itoa, libc(...
|    Compiling uuid v1.5.0
|     Building [===>                      ] 20/106: lexical-util, itoa, uuid,...
|     Building [====>                     ] 21/106: lexical-util, itoa, uuid,...
|     Building [====>                     ] 22/106: lexical-util, itoa, uuid,...
|    Compiling num-traits v0.2.16
|     Building [====>                     ] 23/106: lexical-util, itoa, uuid,...
|    Compiling lock_api v0.4.10
|     Building [====>                     ] 24/106: lexical-util, itoa, uuid,...
|    Compiling num-integer v0.1.45
|     Building [=====>                    ] 25/106: lexical-util, itoa, uuid,...
|     Building [=====>                    ] 26/106: lexical-util, uuid, lock_...
|    Compiling memoffset v0.9.0
|     Building [=====>                    ] 27/106: lexical-util, uuid, lock_...
|    Compiling num-bigint v0.4.4
|     Building [=====>                    ] 28/106: lexical-util, uuid, lock_...
|    Compiling ahash v0.8.6
|     Building [======>                   ] 29/106: lexical-util, uuid, lock_...
|     Building [======>                   ] 30/106: lexical-util, uuid, lock_...
|     Building [======>                   ] 31/106: lexical-util, uuid, lock_...
|     Building [======>                   ] 32/106: lexical-util, uuid, lock_...
|     Building [=======>                  ] 33/106: lexical-util, uuid, lock_...
|     Building [=======>                  ] 34/106: lexical-util, uuid, lock_...
|    Compiling base64 v0.21.5
|     Building [=======>                  ] 35/106: lexical-util, uuid, lock_...
|     Building [=======>                  ] 36/106: lexical-util, uuid, lock_...
|     Building [========>                 ] 37/106: lexical-util, uuid, libc,...
|     Building [========>                 ] 38/106: lexical-util, target-lexi...
|     Building [========>                 ] 39/106: lexical-util, target-lexi...
|     Building [========>                 ] 40/106: lexical-util, target-lexi...
|     Building [=========>                ] 41/106: lexical-util, target-lexi...
|     Building [=========>                ] 42/106: lexical-util, target-lexi...
|     Building [=========>                ] 43/106: lexical-util, target-lexi...
|     Building [=========>                ] 44/106: lexical-util, target-lexi...
|     Building [==========>               ] 45/106: lexical-util, target-lexi...
|    Compiling aho-corasick v1.0.2
|     Building [==========>               ] 46/106: lexical-util, target-lexi...
|     Building [==========>               ] 47/106: lexical-util, target-lexi...
|     Building [==========>               ] 48/106: lexical-util, target-lexi...
|     Building [===========>              ] 49/106: lexical-util, target-lexi...
|     Building [===========>              ] 50/106: lexical-util, target-lexi...
|     Building [===========>              ] 51/106: lexical-util, target-lexi...
|    Compiling pyo3-build-config v0.20.0
|     Building [===========>              ] 52/106: lexical-util, quote, aho-...
|    Compiling lexical-parse-integer v0.8.6
|    Compiling lexical-write-integer v0.8.5
|     Building [============>             ] 53/106: lexical-util, quote, aho-...
|    Compiling getrandom v0.2.10
|     Building [============>             ] 53/106: lexical-util, getrandom, ...
|    Compiling syn v2.0.38
|     Building [============>             ] 54/106: lexical-util, getrandom, ...
|     Building [============>             ] 55/106: lexical-util, getrandom, ...
|     Building [============>             ] 56/106: getrandom, quote, aho-cor...
|     Building [============>             ] 57/106: getrandom, aho-corasick, ...
|     Building [=============>            ] 58/106: getrandom, aho-corasick, ...
|    Compiling indexmap v2.0.0
|    Compiling unicode-normalization v0.1.22
|    Compiling parking_lot v0.12.1
|     Building [=============>            ] 59/106: getrandom, aho-corasick, ...
|     Building [=============>            ] 60/106: getrandom, aho-corasick, ...
|     Building [=============>            ] 61/106: getrandom, aho-corasick, ...
|    Compiling lexical-write-float v0.8.5
|     Building [==============>           ] 62/106: aho-corasick, lexical-wri...
|    Compiling lexical-parse-float v0.8.5
|     Building [==============>           ] 62/106: lexical-parse-float, aho-...
|     Building [==============>           ] 63/106: lexical-parse-float, aho-...
|     Building [==============>           ] 64/106: lexical-parse-float, aho-...
|     Building [===============>          ] 66/106: lexical-parse-float, aho-...
|     Building [===============>          ] 67/106: lexical-parse-float, aho-...
|     Building [===============>          ] 68/106: pyo3-build-config(build),...
|     Building [===============>          ] 69/106: lexical-parse-float, aho-...
|     Building [================>         ] 70/106: lexical-parse-float, aho-...
|     Building [================>         ] 71/106: lexical-parse-float, aho-...
|     Building [================>         ] 72/106: lexical-parse-float, aho-...
|    Compiling idna v0.4.0
|     Building [================>         ] 73/106: lexical-parse-float, aho-...
|     Building [=================>        ] 74/106: lexical-parse-float, aho-...
|    Compiling lexical-core v0.8.5
|    Compiling pyo3-ffi v0.20.0
|    Compiling pyo3 v0.20.0
|    Compiling pydantic-core v2.14.6 (/yocto/maaxboard/build/tmp/work/armv8a-poky-linux/python3-pydantic-core/2.14.6-r0/pydantic_core-2.14.6)
|     Building [=================>        ] 75/106: lexical-parse-float, aho-...
|    Compiling url v2.4.1
|     Building [=================>        ] 76/106: lexical-parse-float, aho-...
|     Building [=================>        ] 77/106: aho-corasick, pyo3-ffi(bu...
|     Building [==================>       ] 78/106: aho-corasick, pyo3-ffi(bu...
|     Building [==================>       ] 79/106: aho-corasick, pyo3-ffi(bu...
|     Building [==================>       ] 80/106: pyo3-ffi(build), aho-cora...
|     Building [==================>       ] 81/106: pyo3(build), aho-corasick...
|     Building [===================>      ] 82/106: aho-corasick, pyo3-ffi, i...
|     Building [===================>      ] 83/106: aho-corasick, pyo3-ffi, i...
|     Building [===================>      ] 83/106: aho-corasick, pyo3-ffi, n...
|    Compiling regex-automata v0.4.3
|     Building [===================>      ] 84/106: aho-corasick, pyo3-ffi, n...
|     Building [===================>      ] 85/106: aho-corasick, num-integer...
|     Building [====================>     ] 86/106: aho-corasick, num-integer...
|     Building [====================>     ] 87/106: aho-corasick, num-bigint,...
|    Compiling pyo3-macros-backend v0.20.0
|     Building [====================>     ] 88/106: aho-corasick, num-bigint,...
|    Compiling regex v1.10.2
|     Building [====================>     ] 89/106: num-bigint, pyo3-macros-b...
|    Compiling strum_macros v0.25.3
|    Compiling serde_derive v1.0.190
|    Compiling enum_dispatch v0.3.12
|     Building [=====================>    ] 90/106: enum_dispatch, serde_deri...
|     Building [=====================>    ] 91/106: enum_dispatch, serde_deri...
|    Compiling pyo3-macros v0.20.0
|     Building [=====================>    ] 92/106: pyo3-macros, enum_dispatc...
|     Building [=====================>    ] 93/106: pyo3-macros, serde_derive...
|    Compiling strum v0.25.0
|     Building [======================>   ] 94/106: pyo3-macros, serde_derive...
|     Building [======================>   ] 95/106: pyo3-macros, serde_derive...
|    Compiling speedate v0.13.0
|     Building [======================>   ] 96/106: pyo3-macros, serde_derive...
|     Building [======================>   ] 97/106: serde_derive, speedate, r...
|     Building [=======================>  ] 98/106: serde_derive, regex-autom...
|     Building [=======================>  ] 99/106: serde_derive, regex-autom...
|     Building [======================>  ] 100/106: serde, regex-automata, pyo3
|    Compiling jiter v0.0.4
|     Building [======================>  ] 100/106: serde, regex-automata, ji...
| error[E0658]: use of unstable library feature 'once_cell'
|  --> /usr/src/debug/python3-pydantic-core/2.14.6-r0/cargo_home/bitbake/jiter-0.0.4/src/lazy_index_map.rs:6:5
|   |
| 6 | use std::sync::OnceLock;
|   |     ^^^^^^^^^^^^^^^^^^^
|   |
|   = note: see issue #74465 <https://github.com/rust-lang/rust/issues/74465> for more information
| 
| error[E0658]: use of unstable library feature 'once_cell'
|   --> /usr/src/debug/python3-pydantic-core/2.14.6-r0/cargo_home/bitbake/jiter-0.0.4/src/lazy_index_map.rs:15:10
|    |
| 15 |     map: OnceLock<AHashMap<K, usize>>,
|    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|    |
|    = note: see issue #74465 <https://github.com/rust-lang/rust/issues/74465> for more information
| 
| error[E0658]: use of unstable library feature 'once_cell'
|   --> /usr/src/debug/python3-pydantic-core/2.14.6-r0/cargo_home/bitbake/jiter-0.0.4/src/lazy_index_map.rs:37:18
|    |
| 37 |             map: OnceLock::new(),
|    |                  ^^^^^^^^
|    |
|    = note: see issue #74465 <https://github.com/rust-lang/rust/issues/74465> for more information
| 
| error[E0658]: use of unstable library feature 'once_cell'
|   --> /usr/src/debug/python3-pydantic-core/2.14.6-r0/cargo_home/bitbake/jiter-0.0.4/src/lazy_index_map.rs:37:18
|    |
| 37 |             map: OnceLock::new(),
|    |                  ^^^^^^^^^^^^^
|    |
|    = note: see issue #74465 <https://github.com/rust-lang/rust/issues/74465> for more information
| 
| error[E0658]: use of unstable library feature 'once_cell'
|   --> /usr/src/debug/python3-pydantic-core/2.14.6-r0/cargo_home/bitbake/jiter-0.0.4/src/lazy_index_map.rs:42:37
|    |
| 42 |         if let Some(map) = self.map.get_mut() {
|    |                                     ^^^^^^^
|    |
|    = note: see issue #74465 <https://github.com/rust-lang/rust/issues/74465> for more information
| 
| error[E0658]: use of unstable library feature 'once_cell'
|   --> /usr/src/debug/python3-pydantic-core/2.14.6-r0/cargo_home/bitbake/jiter-0.0.4/src/lazy_index_map.rs:61:28
|    |
| 61 |         let map = self.map.get_or_init(|| {
|    |                            ^^^^^^^^^^^
|    |
|    = note: see issue #74465 <https://github.com/rust-lang/rust/issues/74465> for more information
| 
| error[E0658]: use of unstable library feature 'once_cell'
|   --> /usr/src/debug/python3-pydantic-core/2.14.6-r0/cargo_home/bitbake/jiter-0.0.4/src/lazy_index_map.rs:88:18
|    |
| 88 |         self.map.get_or_init(|| {
|    |                  ^^^^^^^^^^^
|    |
|    = note: see issue #74465 <https://github.com/rust-lang/rust/issues/74465> for more information
| 
| For more information about this error, try `rustc --explain E0658`.
| error: could not compile `jiter` due to 7 previous errors
| warning: build failed, waiting for other jobs to finish...
|     Building [======================>  ] 101/106: serde, regex-automata, pyo3
|     Building [=======================> ] 102/106: regex-automata, pyo3
|     Building [=======================> ] 103/106: pyo3
| 💥 maturin failed
|   Caused by: Failed to build a native library through cargo
|   Caused by: Cargo build finished with "exit status: 101": `CARGO_ENCODED_RUSTFLAGS="-L\u{1f}/yocto/maaxboard/build/tmp/work/armv8a-poky-linux/python3-pydantic-core/2.14.6-r0/recipe-sysroot/usr/lib/rustlib/aarch64-poky-linux-gnu/lib\u{1f}--remap-path-prefix=/yocto/maaxboard/build/tmp/work/armv8a-poky-linux/python3-pydantic-core/2.14.6-r0=/usr/src/debug/python3-pydantic-core/2.14.6-r0" "cargo" "rustc" "--features" "pyo3/extension-module" "--target" "aarch64-poky-linux-gnu" "--message-format" "json-render-diagnostics" "--manifest-path" "/yocto/maaxboard/build/tmp/work/armv8a-poky-linux/python3-pydantic-core/2.14.6-r0/pydantic_core-2.14.6/Cargo.toml" "--release" "--lib" "--crate-type" "cdylib"`
| Error: command ['maturin', 'pep517', 'build-wheel', '-i', '/yocto/maaxboard/build/tmp/work/armv8a-poky-linux/python3-pydantic-core/2.14.6-r0/recipe-sysroot-native/usr/bin/nativepython3', '--compatibility', 'off'] returned non-zero exit status 1
| 
@hsteinhaus hsteinhaus changed the title Build failure of pydantic-core 2.14.6 with Rust 1.68 and Python 3.11 Build failure of pydantic-core 2.14.6 with Rust 1.68.2 and Python 3.11 Feb 22, 2024
@davidhewitt
Copy link
Contributor

This is primarily a duplicate of #1176, will note this back there.

@davidhewitt davidhewitt closed this as not planned Won't fix, can't repro, duplicate, stale Feb 22, 2024
@hsteinhaus
Copy link
Author

For the record: pydantic-core 2.14.6 plays nicely with (at least) Rust 1.72.0.

Or in terms of Yocto: nanbield plus just enough backported patches from scarthgap to get Rust 1.72.0.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants