Bug 2295405

Summary: breezy FTBFS in Fedora Rawhide with rust-pyo3 0.22
Product: [Fedora] Fedora Reporter: Miro Hrončok <mhroncok>
Component: breezyAssignee: Ondřej Pohořelský <opohorel>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: decathorpe, mhroncok, opohorel, python-packagers-sig, rust-sig
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://koschei.fedoraproject.org/package/breezy
Whiteboard:
Fixed In Version: breezy-3.3.7-4.fc41 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2024-07-25 13:15:30 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2260875    

Description Miro Hrončok 2024-07-03 12:40:37 UTC
Description of problem:
Package breezy fails to build from source in Fedora Rawhide.

I suspect this is since rust-pyo3 0.21 -> 0.22 update.

     Running `/usr/bin/rustc --crate-name pyo3 --edition=2021 /usr/share/cargo/registry/pyo3-0.22.0/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no --warn=rust_2018_idioms '--warn=clippy::useless_transmute' '--warn=clippy::used_underscore_binding' --warn=unused_lifetimes '--warn=clippy::unnecessary_wraps' '--warn=clippy::todo' --warn=rust_2021_prelude_collisions '--warn=clippy::manual_ok_or' '--warn=clippy::manual_assert' '--warn=clippy::let_unit_value' --warn=invalid_doc_attributes '--warn=clippy::flat_map_option' '--warn=clippy::filter_map_next' '--warn=clippy::explicit_iter_loop' '--warn=clippy::explicit_into_iter_loop' --warn=elided_lifetimes_in_paths '--warn=clippy::dbg_macro' '--warn=clippy::checked_conversions' '--warn=rustdoc::broken_intra_doc_links' '--warn=rustdoc::bare_urls' --cfg 'feature="default"' --cfg 'feature="extension-module"' --cfg 'feature="indoc"' --cfg 'feature="macros"' --cfg 'feature="pyo3-macros"' --cfg 'feature="unindent"' -C metadata=70df2dc7f5cf6554 -C extra-filename=-70df2dc7f5cf6554 --out-dir /builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps --extern cfg_if=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libcfg_if-97d4e4bf8dbf3bf1.rmeta --extern indoc=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libindoc-1852d06fe5eabd58.so --extern libc=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/liblibc-2cae8d6fa8f99409.rmeta --extern memoffset=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libmemoffset-d7abe755bdffb50a.rmeta --extern once_cell=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libonce_cell-ed9d8002c045011f.rmeta --extern pyo3_ffi=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libpyo3_ffi-a2687233daebb8a7.rmeta --extern pyo3_macros=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libpyo3_macros-9ef55fa6008d72bd.so --extern unindent=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libunindent-db22ba6a9ddfc279.rmeta --cap-lints allow -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn --cfg Py_3_6 --cfg Py_3_7 --cfg Py_3_8 --cfg Py_3_9 --cfg Py_3_10 --cfg Py_3_11 --cfg Py_3_12 --cfg Py_3_13 --cfg invalid_from_utf8_lint --cfg c_str_lit --cfg diagnostic_namespace`
   Compiling rio-py v3.3.7 (/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/lib-rio)
     Running `/usr/bin/rustc --crate-name rio --edition=2018 lib-rio/pyrio.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type cdylib --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=2d3f560b3839e66d --out-dir /builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps --extern lazy_static=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/liblazy_static-054d069918e9ccc2.rlib --extern pyo3=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libpyo3-70df2dc7f5cf6554.rlib --extern regex=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libregex-9bfe07b8823e0af5.rlib -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn`
error[E0599]: no method named `add_wrapped` found for reference `&pyo3::prelude::PyModule` in the current scope
  --> lib-rio/pyrio.rs:17:7
   |
17 |     m.add_wrapped(wrap_pyfunction!(_valid_tag)).unwrap();
   |       ^^^^^^^^^^^ method not found in `&PyModule`
error[E0277]: the trait bound `&pyo3::prelude::PyModule: From<BoundRef<'_, '_, pyo3::prelude::PyModule>>` is not satisfied
  --> lib-rio/pyrio.rs:15:1
   |
15 | #[pymodule]
   | ^^^^^^^^^^^ the trait `From<BoundRef<'_, '_, pyo3::prelude::PyModule>>` is not implemented for `&pyo3::prelude::PyModule`, which is required by `BoundRef<'_, '_, pyo3::prelude::PyModule>: Into<_>`
   |
   = note: required for `BoundRef<'_, '_, pyo3::prelude::PyModule>` to implement `Into<&pyo3::prelude::PyModule>`
   = note: this error originates in the attribute macro `pymodule` (in Nightly builds, run with -Z macro-backtrace for more info)
Some errors have detailed explanations: E0277, E0599.
For more information about an error, try `rustc --explain E0277`.
error: could not compile `rio-py` (lib) due to 2 previous errors
Caused by:
  process didn't exit successfully: `/usr/bin/rustc --crate-name rio --edition=2018 lib-rio/pyrio.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type cdylib --emit=dep-info,link -C opt-level=3 -C embed-bitcode=no -C metadata=2d3f560b3839e66d --out-dir /builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps -C strip=debuginfo -L dependency=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps --extern lazy_static=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/liblazy_static-054d069918e9ccc2.rlib --extern pyo3=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libpyo3-70df2dc7f5cf6554.rlib --extern regex=/builddir/build/BUILD/breezy-3.3.7-build/breezy-3.3.7/target/release/deps/libregex-9bfe07b8823e0af5.rlib -Copt-level=3 -Cdebuginfo=2 -Ccodegen-units=1 -Cstrip=none -Cforce-frame-pointers=yes -Clink-arg=-specs=/usr/lib/rpm/redhat/redhat-package-notes --cap-lints=warn` (exit status: 1)
error: `cargo rustc --lib --message-format=json-render-diagnostics --manifest-path lib-rio/Cargo.toml --release -v --features pyo3/extension-module --crate-type cdylib --` failed with code 101
error: Bad exit status from /var/tmp/rpm-tmp.28LKIJ (%build)


Version-Release number of selected component (if applicable):
3.3.7-2.fc41

Steps to Reproduce:
fedpkg build

Additional info:
This package is tracked by Koschei. See:
https://koschei.fedoraproject.org/package/breezy

Comment 1 Fabio Valentini 2024-07-03 14:30:35 UTC
breezy should probably change its pyo3 dependency from ">=0.14" to ">=0.14,<0.22" then if it's not compatible with pyo3 v0.22.

Comment 2 Ondřej Pohořelský 2024-07-09 10:36:55 UTC
I reported this issue on upstream mailing list.

Comment 3 Miro Hrončok 2024-07-19 11:19:27 UTC
(In reply to Ondřej Pohořelský from comment #2)
> I reported this issue on upstream mailing list.

Ondřej, where exactly is that? I was unable to find the upstream mailing list. https://www.breezy-vcs.org/ says "You can also reach us on the Bazaar mailing list" which leads to https://lists.ubuntu.com/mailman/listinfo/bazaar which has no posts from 2024 in the archives.

Comment 4 Ondřej Pohořelský 2024-07-19 11:45:47 UTC
(In reply to Miro Hrončok from comment #3)
> (In reply to Ondřej Pohořelský from comment #2)
> > I reported this issue on upstream mailing list.
> 
> Ondřej, where exactly is that? I was unable to find the upstream mailing
> list. https://www.breezy-vcs.org/ says "You can also reach us on the Bazaar
> mailing list" which leads to
> https://lists.ubuntu.com/mailman/listinfo/bazaar which has no posts from
> 2024 in the archives.

I reported the issue on their mailing list, which I used before. When their website was up, it mentioned it.
I'm not sure if it is publicly visible without joining, but here is a link to the mail I sent.

Overall, it seems like the development of Breezy has stalled.

https://groups.google.com/g/breezy-vcs/c/1LTvw9b3j-4/m/559j0cpzAwAJ

Comment 5 Fedora Update System 2024-07-25 13:13:16 UTC
FEDORA-2024-2aadf7351b (breezy-3.3.7-4.fc41) has been submitted as an update to Fedora 41.
https://bodhi.fedoraproject.org/updates/FEDORA-2024-2aadf7351b

Comment 6 Fedora Update System 2024-07-25 13:15:30 UTC
FEDORA-2024-2aadf7351b (breezy-3.3.7-4.fc41) has been pushed to the Fedora 41 stable repository.
If problem still persists, please make note of it in this bug report.