https://bugzilla.redhat.com/show_bug.cgi?id=2364625 Ben Beasley <code@xxxxxxxxxxxxxxxxxx> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |code@xxxxxxxxxxxxxxxxxx Depends On| |2350507 --- Comment #2 from Ben Beasley <code@xxxxxxxxxxxxxxxxxx> --- With the dependencies rust-triggered and rust-bmart provided, this FTBFS with a number of errors. The first one is: error[E0433]: failed to resolve: could not find `termios` in `rustix` --> src/lib.rs:195:30 | 195 | .set(rustix::termios::InputModes::IUTF8, true); | ^^^^^^^ could not find `termios` in `rustix` | note: found an item that was configured out --> /usr/share/cargo/registry/rustix-1.0.7/src/lib.rs:300:9 | 300 | pub mod termios; | ^^^^^^^ note: the item is gated behind the `termios` feature --> /usr/share/cargo/registry/rustix-1.0.7/src/lib.rs:298:7 | 298 | #[cfg(feature = "termios")] | ^^^^^^^^^^^^^^^^^^^ error[E0433]: failed to resolve: could not find `termios` in `rustix` Now, the error makes sense: the `termios` feature in `rustix` is supposed to be needed for `rustix::termios::*`[1], and `virtual-terminal` doesn’t ask for it[2]. However, I can’t reproduce the problem in a git checkout. So I tried "cargo tree -e features | less -RS" in the git checkout, and I found: ├── rustix-openpty feature "default" │ └── rustix-openpty v0.2.0 │ ├── rustix feature "alloc" (*) │ ├── rustix feature "fs" │ │ └── rustix v1.0.7 (*) │ ├── rustix feature "process" │ │ ├── rustix v1.0.7 (*) │ │ └── linux-raw-sys feature "prctl" │ │ └── linux-raw-sys v0.9.4 │ ├── rustix feature "pty" │ │ ├── rustix v1.0.7 (*) │ │ └── rustix feature "fs" (*) │ ├── rustix feature "stdio" │ │ └── rustix v1.0.7 (*) │ └── rustix feature "termios" │ └── rustix v1.0.7 (*) So that kind of makes sense: Rust feature unification means the feature will be enabled if it is requested anywhere in the dependency tree, and rustix-openpty 0.2.0 requires rustix/termios for its default features. We still have rust-rustix-openpty 0.1.1 in Fedora, and while I haven’t taken time to check, it’s likely that this changed in 0.2.0. In the dev-dependencies, there is an indirect dependency on rustix with the termios feature, ├── terminal_size feature "default" │ └── terminal_size v0.4.2 │ ├── rustix feature "default" (*) │ └── rustix feature "termios" (*) but per [3], “Dev-dependencies do not activate features unless building a Cargo target that needs them (like tests or examples).” You should send upstream a PR to directly require the "termios" feature in the rustix dependency, since virtual-terminal uses rustix::termios APIs; you can then patch it into Cargo.toml using "rust2rpm -p". I tried the above, and I still encountered more errors. The first is: error[E0308]: mismatched types --> src/lib.rs:185:54 | 185 | let pty = rustix_openpty::openpty(None, Some(&win_size))?; | ---- ^^^^^^^^^ expected `&winsize`, found `&Winsize` | | | arguments to this enum variant are incorrect | = note: expected reference `&linux_raw_sys::general::winsize` found reference `&Winsize` help: the type constructed contains `&Winsize` due to the type of the argument passed --> src/lib.rs:185:49 | 185 | let pty = rustix_openpty::openpty(None, Some(&win_size))?; | ^^^^^---------^ | | | this argument influences the type of `Some` note: tuple variant defined here --> /builddir/build/BUILD/rust-1.86.0-build/rustc-1.86.0-src/library/core/src/option.rs:580:5 I’m not taking time to dig into this deeply, but I am pretty sure it will turn out to mean that patching the rustix-openpty dependency to allow 0.1 was not correct, and this package actually does require the update to rustix-openpty 0.2, bug 2350507. [1] https://github.com/bytecodealliance/rustix/blob/92466d9860d95aa15b8ad0a5ea4cb88b39ccc63f/Cargo.toml#L152-L153 [2] https://github.com/roboplc/virtual-terminal/blob/967e6c9dea5455c7f7f3b9276b88abb445009a3a/Cargo.toml#L17 [3] https://doc.rust-lang.org/cargo/reference/features.html#feature-resolver-version-2 Referenced Bugs: https://bugzilla.redhat.com/show_bug.cgi?id=2350507 [Bug 2350507] rust-rustix-openpty-0.2.0 is available -- You are receiving this mail because: You are always notified about changes to this product and component You are on the CC list for the bug. https://bugzilla.redhat.com/show_bug.cgi?id=2364625 Report this comment as SPAM: https://bugzilla.redhat.com/enter_bug.cgi?product=Bugzilla&format=report-spam&short_desc=Report%20of%20Bug%202364625%23c2 -- _______________________________________________ package-review mailing list -- package-review@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to package-review-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/package-review@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue