Fractal fails to build because PipeWire crate doesn't compile due to upstream change
When building Fractal (5.alpha1.r55.g92692649) from source (Arch/AUR) the build fails when compiling the PipeWire crate with error message:
error[E0425]: cannot find value `PW_KEY_NODE_TARGET` in crate `pw_sys`
--> /home/username/.cache/yay/fractal-git/src/fractal/_build/cargo-home/registry/src/github.com-1ecc6299db9ec823/pipewire-0.5.0/src/auto/keys.rs:164:28
|
164 | key_constant!(NODE_TARGET, PW_KEY_NODE_TARGET,
| ^^^^^^^^^^^^^^^^^^ help: a constant with a similar name exists: `PW_KEY_NODE_NAME`
|
::: /home/username/.cache/yay/fractal-git/src/fractal/_build/src/release/build/pipewire-sys-848c7aa33920bf05/out/bindings.rs:151:1
|
151 | pub const PW_KEY_NODE_NAME: &[u8; 10usize] = b"node.name\0";
| ------------------------------------------ similarly named constant `PW_KEY_NODE_NAME` defined here
For more information about this error, try `rustc --explain E0425`.
error: could not compile `pipewire` due to previous error
warning: build failed, waiting for other jobs to finish...
FAILED: src/fractal
/usr/bin/env CARGO_HOME=/home/username/.cache/yay/fractal-git/src/fractal/_build/cargo-home /usr/bin/cargo build --manifest-path /home/username/.cache/yay/fractal-git/src/fractal/Cargo.toml --target-dir /home/username/.cache/yay/fractal-git/src/fractal/_build/src --release && cp src/release/fractal src/fractal
ninja: build stopped: subcommand failed.
I found this PipeWire issue #2952 that suggests, as far as I understand, a change is needed in how the crate is compiled:
At the moment, you need to define
PW_ENABLE_DEPRECATED
before including any pipewire headers to makePW_KEY_NODE_TARGET
available.
Not sure if that's the solution or even a change that can be done on the Fractal side.
Edit: title
Edited by somepaulo