JojiiOfficial / LiveBudsCli

A tool to control your Galaxy buds+, Live, Buds Pro and Buds 2 Pro
https://crates.io/crates/earbuds
GNU General Public License v3.0
193 stars 15 forks source link

fails to compile on LMDE6 #106

Open PlexSheep opened 7 months ago

PlexSheep commented 7 months ago

When I try to cargo install, I get multiple errors. I have installed dbus-devel: apt install libdbus-1-dev. The errors are in the crate itself, not from dependencies.

   Compiling earbuds v0.1.9
error[E0432]: unresolved import `clap::crate_version`
 --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/cli.rs:1:12
  |
1 | use clap::{crate_version, App, AppSettings, Arg, ValueHint};
  |            ^^^^^^^^^^^^^ no `crate_version` in the root

error: cannot determine resolution for the macro `crate_version`
 --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/cli.rs:8:18
  |
8 |         .version(crate_version!())
  |                  ^^^^^^^^^^^^^
  |
  = note: import resolution is stuck, try simplifying macro imports

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/cli.rs:16:18
   |
12 | /             Arg::new("verbose")
13 | |                 .short('v')
14 | |                 .long("verbose")
15 | |                 .global(true)
16 | |                 .about("Prints informations verbosely"),
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/cli.rs:28:18
   |
26 | /             Arg::new("generator")
27 | |                 .long("generate")
28 | |                 .about("Generate completion scripts for a given type of shell")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/cli.rs:33:18
   |
32 | /             Arg::new("daemon")
33 | |                 .about("Starts the daemon")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/cli.rs:39:18
   |
38 | /             Arg::new("no-fork")
39 | |                 .about("Don't fork the daemon")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/cli.rs:44:18
   |
43 | /             Arg::new("kill-daemon")
44 | |                 .about("Kill the daemon. If used together with -d, the daemon will get restarted")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/cli.rs:50:18
   |
49 | /             Arg::new("quiet")
50 | |                 .about("Don't print extra output")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/cli.rs:58:18
   |
56 | /             Arg::new("device")
57 | |                 .global(true)
58 | |                 .about("Specify the device to use")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/cli.rs:91:26
   |
90 | /                     Arg::new("opt")
91 | |                         .about("Provide additional input for some keys")
   | |                         -^^^^^ method not found in `Arg<'_>`
   | |_________________________|
   | 

error[E0277]: the trait bound `std::string::String: From<&mut std::io::Stdout>` is not satisfied
   --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/main.rs:156:19
    |
156 |     generate::<G, _>(app, app.get_name().to_string(), &mut std::io::stdout());
    |                   ^ the trait `From<&mut std::io::Stdout>` is not implemented for `std::string::String`
    |
    = help: the following other types implement trait `From<T>`:
              <std::string::String as From<char>>
              <std::string::String as From<Box<str>>>
              <std::string::String as From<Cow<'a, str>>>
              <std::string::String as From<TrackID>>
              <std::string::String as From<zbus::guid::Guid>>
              <std::string::String as From<zvariant::signature::Signature<'a>>>
              <std::string::String as From<zvariant::str::Str<'a>>>
              <std::string::String as From<&zvariant::signature::Signature<'a>>>
            and 3 others
    = note: required for `&mut std::io::Stdout` to implement `Into<std::string::String>`
note: required by a bound in `clap_generate::generate`
   --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/clap_generate-3.0.3/src/lib.rs:41:8
    |
38  | pub fn generate<G, S>(gen: G, app: &mut clap::App, bin_name: S, buf: &mut dyn Write)
    |        -------- required by a bound in this function
...
41  |     S: Into<String>,
    |        ^^^^^^^^^^^^ required by this bound in `generate`

error[E0061]: this function takes 4 arguments but 3 arguments were supplied
   --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/main.rs:156:5
    |
156 |     generate::<G, _>(app, app.get_name().to_string(), &mut std::io::stdout());
    |     ^^^^^^^^^^^^^^^^ --- an argument of type `G` is missing
    |
note: expected `&mut dyn Write`, found `String`
   --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/earbuds-0.1.9/src/main.rs:156:27
    |
156 |     generate::<G, _>(app, app.get_name().to_string(), &mut std::io::stdout());
    |                           ^^^^^^^^^^^^^^^^^^^^^^^^^^
    = note: expected mutable reference `&mut dyn std::io::Write`
                          found struct `std::string::String`
note: function defined here
   --> /home/plex/.cargo/registry/src/index.crates.io-6f17d22bba15001f/clap_generate-3.0.3/src/lib.rs:38:8
    |
38  | pub fn generate<G, S>(gen: G, app: &mut clap::App, bin_name: S, buf: &mut dyn Write)
    |        ^^^^^^^^
help: provide the argument
    |
156 |     generate::<G, _>(/* G */, app, &mut std::io::stdout(), /* &mut dyn std::io::Write */);
    |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Some errors have detailed explanations: E0061, E0277, E0432, E0599.
For more information about an error, try `rustc --explain E0061`.
error: could not compile `earbuds` (bin "earbuds") due to 12 previous errors
error: failed to compile `earbuds v0.1.9`, intermediate artifacts can be found at `/tmp/cargo-installaOaAAJ`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.
JojiiOfficial commented 7 months ago

Is this also the case if you compile the latest git commit directly?

PlexSheep commented 7 months ago

Compiling the repo works, after installing the deps. Seems like you just need to make another release? cargo install still fails with these compiler errors.