https://pantsbuild.org/ logo
#development
Title
# development
c

curved-television-6568

11/15/2021, 7:57 AM
FYI, build wheels (Linux) failed on main (@hundreds-father-404 ?)
Copy code
[=== 00:13 Building native code... ===]
info: syncing channel updates for '1.56.1-x86_64-unknown-linux-gnu'
info: latest update on 2021-11-01, rust version 1.56.1 (59eed8a2a 2021-11-01)
info: downloading component 'cargo'
info: downloading component 'clippy'
info: downloading component 'rust-docs'
info: downloading component 'rust-std'
info: downloading component 'rustc'
info: downloading component 'rustfmt'
info: installing component 'cargo'
info: installing component 'clippy'
info: installing component 'rust-docs'
info: installing component 'rust-std'
info: installing component 'rustc'
info: installing component 'rustfmt'
    Updating git repository `<https://github.com/mitsuhiko/console>`
    Updating <http://crates.io|crates.io> index
    Updating git repository `<https://github.com/davidhewitt/pyo3.git>`
error: failed to get `pyo3` as a dependency of package `engine v0.0.1 (/__w/pants/pants/src/rust/engine)`

Caused by:
  failed to load source for dependency `pyo3`

Caused by:
  Unable to update <https://github.com/davidhewitt/pyo3.git?rev=51b6b947b82e61adad61524f9c58e3b1c89247a5#51b6b947>

Caused by:
  object not found - no match for id (51b6b947b82e61adad61524f9c58e3b1c89247a5); class=Odb (9); code=NotFound (-3)
Error: Process completed with exit code 1.
h

hundreds-father-404

11/15/2021, 7:58 AM
Thanks for the ping!
👍 1
So it's because we are building from a core maintainer's branch, and he force pushed a few minutes ago so the SHA is no longer available. But he enabled automerge so it will very soon be merged into pyo3/pyo3, meaning we can safely rely on that commit rather than his fork Are you trying to merge anything rn? I can put up a short-term fix to use the new version of his branch. Otherwise I will put up a more stable patch when I wake up to rely on the then-merged PyO3 commit
In case you're trying to build locally, this is the short-term fix:
Copy code
diff --git a/src/rust/engine/Cargo.toml b/src/rust/engine/Cargo.toml
index 1f2a1426a..065d0d70d 100644
--- a/src/rust/engine/Cargo.toml
+++ b/src/rust/engine/Cargo.toml
@@ -135,7 +135,7 @@ parking_lot = "0.11"
 petgraph = "0.5"
 process_execution = { path = "process_execution" }
 # TODO: Switch back to official PyO3 once <https://github.com/PyO3/pyo3/pull/1990> is released.
-pyo3 = { git = "<https://github.com/davidhewitt/pyo3.git>", rev = "51b6b947b82e61adad61524f9c58e3b1c89247a5" }
+pyo3 = { git = "<https://github.com/davidhewitt/pyo3.git>", branch = "allow-threads-unwind" }
 rand = "0.8"
 regex = "1"
 reqwest = { version = "0.11", default_features = false, features = ["stream", "rustls-tls"] }
👌 1
c

curved-television-6568

11/15/2021, 8:03 AM
Thanks, no it was my merges that found it 😉
Suspected it had to do with that (noticed the upstream maintainer fork refernce in your pyo3 work..)
👍 1
I think you can safely go to bed, and fix the stable patch when you wake up tomorrow
❤️ 1