alsa-project / snd-firewire-ctl-services

A set of server programs for audio and music units on IEEE 1394 bus supported by Linux sound subsystem a.k.a. ALSA.
GNU General Public License v3.0
35 stars 5 forks source link

snd-firewire-ctl-services not building on cargo #176

Closed NakuMorita closed 1 year ago

NakuMorita commented 1 year ago

Greetings! Trying to install snd-firewire-digi00x-ctl-service using cargo install --runtime/digi00x, i have dependencies installed.

This is the error I'm having:

Compiling core v0.1.0 (/home/naku/ctrl/snd-firewire-ctl-services/runtime/core)
error[E0412]: cannot find type `Signal` in module `signal`
  --> runtime/core/src/dispatcher.rs:68:64
   |
68 |     pub fn attach_signal_handler<F>(&mut self, signum: signal::Signal, cb: F)
   |                                                                ^^^^^^ not found in `signal`
   |
help: consider importing this struct
   |
4  + use glib::subclass::Signal;
   |
help: if you import `Signal`, refer to it directly
   |
68 -     pub fn attach_signal_handler<F>(&mut self, signum: signal::Signal, cb: F)
68 +     pub fn attach_signal_handler<F>(&mut self, signum: Signal, cb: F)
   |

For more information about this error, try `rustc --explain E0412`.
error: could not compile `core` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
error: failed to compile `snd-firewire-digi00x-ctl-service v0.1.0 (/home/naku/ctrl/snd-firewire-ctl-services/runtime/digi00x)`, intermediate artifacts can be found at `/home/naku/ctrl/snd-firewire-ctl-services/target`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

I'm also having similar error when I'm building the snd-firewire-ctl-services folder using cargo build

Compiling firewire-bebob-protocols v0.2.0
error[E0412]: cannot find type `Signal` in module `signal`
  --> runtime/core/src/dispatcher.rs:68:64
   |
68 |     pub fn attach_signal_handler<F>(&mut self, signum: signal::Signal, cb: F)
   |                                                                ^^^^^^ not found in `signal`
   |
help: consider importing this struct
   |
4  + use glib::subclass::Signal;
   |
help: if you import `Signal`, refer to it directly
   |
68 -     pub fn attach_signal_handler<F>(&mut self, signum: signal::Signal, cb: F)
68 +     pub fn attach_signal_handler<F>(&mut self, signum: Signal, cb: F)
   |

For more information about this error, try `rustc --explain E0412`.
error: could not compile `core` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...

OS: Description: Ubuntu 22.04.3 LTS (Ubuntu Studio) Release: 22.04 Codename: jammy

Any advice?

Thank you in advance

takaswie commented 1 year ago

Hi,

Thanks for the report. Would I ask you to run cargo build just under the repository? It it fails, we have any issue in build process.

Greetings! Trying to install snd-firewire-digi00x-ctl-service using cargo install --runtime/digi00x, i have dependencies installed.

Anyway, the command line is invalid, I think.

Regards

takaswie commented 1 year ago

No reaction in a few weeks, so let me close the issue.

takaswie commented 1 year ago

Hi @NakuMorita,

I can regenerate the issue after executing cargo update. I'm sorry to catch it up...

The issue of signal comes from changes in nix crate. The crate introduces crate features to enable/disable the signal function at 0.24 release. In the time, all of the features are enabled as a default. The crate also changed its policy of features; disables as a default. As a result, nix applications should indicate feature flags by their own.

I guess that you can find nix 0.27 or later in your Cargo.lock, while I still used old version of the crate. It is the cause of issue.

takaswie commented 1 year ago

I pushed 30428313eacc33927125e7 to fix the issue. In my local, current master (d1602462) can be built with hinaw-rs v0.7.1 release.

Thanks for your report.