cargo-disasm icon indicating copy to clipboard operation
cargo-disasm copied to clipboard

Error on cargo install cargo-disasm

Open nico-abram opened this issue 4 years ago • 3 comments

Running cargo install cargo-disasm on my machine (Windows 10 64bit x86) results on the following errors:


   Compiling cargo-disasm v0.5.0
error[E0432]: unresolved import `clap::Clap`
 --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:1:5
  |
1 | use clap::Clap;
  |     ^^^^^^^^^^ no `Clap` in the root

error[E0432]: unresolved import `clap::Clap`
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\mod.rs:11:5
   |
11 | use clap::Clap as _;
   |     ^^^^^^^^^^^^^^^ no `Clap` in the root

error: cannot determine resolution for the derive macro `Clap`
 --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:5:10
  |
5 | #[derive(Clap)]
  |          ^^^^
  |
  = note: import resolution is stuck, try simplifying macro imports

error: cannot find attribute `clap` in this scope
 --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:6:3
  |
6 | #[clap(name = "cargo-disasm", version = env!("CARGO_PKG_VERSION"), author = "Marc C.")]
  |   ^^^^
  |
  = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:22:7
   |
22 |     #[clap(
   |       ^^^^
   |
   = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:31:7
   |
31 |     #[clap(long = "manifest-path")]
   |       ^^^^
   |
   = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:36:7
   |
36 |     #[clap(short = 'p', long = "package")]
   |       ^^^^
   |
   = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:41:7
   |
41 |     #[clap(short = 't', long = "target")]
   |       ^^^^
   |
   = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:45:7
   |
45 |     #[clap(long = "release")]
   |       ^^^^
   |
   = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:50:7
   |
50 |     #[clap(short, long, parse(from_occurrences))]
   |       ^^^^
   |
   = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:54:7
   |
54 |     #[clap(short, long)]
   |       ^^^^
   |
   = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:58:7
   |
58 |     #[clap(long = "color", default_value = "auto", parse(try_from_str = parse_colorchoice))]
   |       ^^^^
   |
   = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:62:7
   |
62 |     #[clap(short = 'S', long = "show-source")]
   |       ^^^^
   |
   = note: `clap` is in scope, but it is a crate, not an attribute

error: cannot find attribute `clap` in this scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:66:7
   |
66 |     #[clap(short = 'B', long = "show-bytes")]
   |       ^^^^
   |
   = note: `clap` is in scope, but it is a crate, not an attribute

error[E0599]: no function or associated item named `parse_from` found for struct `Opts` in the current scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\mod.rs:24:19
   |
24 |             Opts::parse_from(args)
   |                   ^^^^^^^^^^ function or associated item not found in `Opts`
   |
  ::: D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:7:1
   |
7  | pub struct Opts {
   | --------------- function or associated item `parse_from` not found for this
   |
   = help: items from traits can only be used if the trait is implemented and in scope
   = note: the following trait defines an item `parse_from`, perhaps you need to implement it:
           candidate #1: `Parser`

error[E0599]: no function or associated item named `parse_from` found for struct `Opts` in the current scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\mod.rs:26:19
   |
26 |             Opts::parse_from(args)
   |                   ^^^^^^^^^^ function or associated item not found in `Opts`
   |
  ::: D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:7:1
   |
7  | pub struct Opts {
   | --------------- function or associated item `parse_from` not found for this
   |
   = help: items from traits can only be used if the trait is implemented and in scope
   = note: the following trait defines an item `parse_from`, perhaps you need to implement it:
           candidate #1: `Parser`

error[E0599]: no function or associated item named `parse` found for struct `Opts` in the current scope
  --> D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\mod.rs:29:15
   |
29 |         Opts::parse()
   |               ^^^^^ function or associated item not found in `Opts`
   |
  ::: D:\.cargo\registry\src\github.com-1ecc6299db9ec823\cargo-disasm-0.5.0\src\app\cli.rs:7:1
   |
7  | pub struct Opts {
   | --------------- function or associated item `parse` not found for this
   |
   = help: items from traits can only be used if the trait is implemented and in scope
   = note: the following traits define an item `parse`, perhaps you need to implement one of them:
           candidate #1: `Parser`
           candidate #2: `pest::parser::Parser`
           candidate #3: `Parse`

Some errors have detailed explanations: E0432, E0599.
For more information about an error, try `rustc --explain E0432`.
error: failed to compile `cargo-disasm v0.5.0`, intermediate artifacts can be found at `C:\Users\Nick\AppData\Local\Temp\cargo-installMWJtNM`

Caused by:
  could not compile `cargo-disasm` due to 17 previous errors

nico-abram avatar Dec 18 '21 02:12 nico-abram

Also on Linux.

andy-thomason avatar Oct 03 '22 12:10 andy-thomason

Also on Linux.

+1

Strange21 avatar Oct 04 '22 07:10 Strange21

Looks like one of the dependencies causes a compile error in a newer version. I have been successful with using cargo install cargo-disasm --locked on Windows. This should take the cargo.lock file into account.

A solution to this issue would probably require updating the dependency (definitely clap, not sure if more...) and fixing the compile error, but this workaround is also not too bad I think!