kermitfrog / Amiga-Re-Engineering

GNU General Public License v3.0
14 stars 1 forks source link

Building dump analyzer fails #2

Open knochenhans opened 6 months ago

knochenhans commented 6 months ago

Hi, I realize this is already a couple of years old, so I guess there’ve been some changes in some Rust projects this is based on. Trying to build this with a current setup leads to the following errors for me:

error[E0599]: no variant or associated item named `VersionlessSubcommands` found for enum `AppSettings` in the current scope
 --> src/cli.rs:6:31
  |
6 |         .setting(AppSettings::VersionlessSubcommands)
  |                               ^^^^^^^^^^^^^^^^^^^^^^ variant or associated item not found in `AppSettings`

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:14:14
   |
13 |           .arg(Arg::new("compact").short('s').global(true)
   |  ______________-
14 | |             .about("use compact mode for summary")
   | |             -^^^^^ method not found in `Arg<'_>`
   | |_____________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:17:14
   |
16 |           .arg(Arg::new("colors").short('c').global(true)
   |  ______________-
17 | |             .about("use console colors")
   | |             -^^^^^ method not found in `Arg<'_>`
   | |_____________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:20:14
   |
19 |           .arg(Arg::new("no-colors").short('b').global(true)
   |  ______________-
20 | |             .about("disable console colors").conflicts_with("colors")
   | |             -^^^^^ method not found in `Arg<'_>`
   | |_____________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:23:14
   |
22 |           .arg(Arg::new("indent").short('i').global(true)
   |  ______________-
23 | |             .about("intent by [num] spaces")
   | |             -^^^^^ method not found in `Arg<'_>`
   | |_____________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:27:14
   |
26 |           .arg(Arg::new("offset-mode").short('o').global(true)
   |  ______________-
27 | |             .about("print program counters as..")
   | |             -^^^^^ method not found in `Arg<'_>`
   | |_____________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:31:14
   |
30 |           .arg(Arg::new("function-names").short('n').global(true)
   |  ______________-
31 | |             .about("print function names if possible")
   | |             -^^^^^ method not found in `Arg<'_>`
   | |_____________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:35:14
   |
34 |           .arg(Arg::new("traps").short('t').global(true)
   |  ______________-
35 | |             .about("show interrupts (traps)")
   | |             -^^^^^ method not found in `Arg<'_>`
   | |_____________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:42:18
   |
41 |   ...   .arg(Arg::new("dir val").multiple(true).min_values(2).required(t...
   |  ____________-
42 | | ...       .about("pairs of directory with dump and a search value in d...
   | |           -^^^^^ method not found in `Arg<'_>`
   | |___________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:54:18
   |
52 |               .arg(Arg::new("dir").required(true).index(1)
   |  __________________-
53 | |                 .value_hint(ValueHint::DirPath)
54 | |                 .about("directory containing memory dump")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:58:18
   |
56 |               .arg(Arg::new("pc").required(true).index(2)
   |  __________________-
57 | |                 .value_hint(ValueHint::Other)
58 | |                 .about("program counter (hex)")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:62:18
   |
60 |               .arg(Arg::new("count").required(true).index(3)
   |  __________________-
61 | |                 .value_hint(ValueHint::Other)
62 | |                 .about("lines of memory around the actual data")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:71:18
   |
69 |               .arg(Arg::new("dir").required(true).index(1)
   |  __________________-
70 | |                 .value_hint(ValueHint::DirPath)
71 | |                 .about("directory containing the dump")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:74:18
   |
73 |               .arg(Arg::new("pc").required(true).index(2)
   |  __________________-
74 | |                 .about("program counter (hex)")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:78:18
   |
77 |               .arg(Arg::new("count").required(true).index(3)
   |  __________________-
78 | |                 .about("number of instructions to print before pc")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:82:18
   |
81 |               .arg(Arg::new("val").multiple(true).index(4)
   |  __________________-
82 | |                 .about("values to highlight; format is as printed (hex)")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:92:18
   |
90 |               .arg(Arg::new("dir").required(true).index(1)
   |  __________________-
91 | |                 .value_hint(ValueHint::DirPath)
92 | |                 .about("directory containing the dump")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:95:18
   |
94 |               .arg(Arg::new("pc").required(true).index(2)
   |  __________________-
95 | |                 .about("program counter (hex)")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
  --> src/cli.rs:99:18
   |
98 |               .arg(Arg::new("count").required(true).index(3)
   |  __________________-
99 | |                 .about("number of instructions to print before pc")
   | |                 -^^^^^ method not found in `Arg<'_>`
   | |_________________|
   | 

   Compiling bincode v1.3.3
error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:103:18
    |
102 |   ...   .arg(Arg::new("val").multiple(true).index(4)
    |  ____________-
103 | | ...       .about("values to highlight; format is as printed (hex)")
    | |           -^^^^^ method not found in `Arg<'_>`
    | |___________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:112:18
    |
111 |               .arg(Arg::new("dir").required(true).index(1)
    |  __________________-
112 | |                 .about("directory containing the dump")
    | |                 -^^^^^ method not found in `Arg<'_>`
    | |_________________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:116:18
    |
115 |               .arg(Arg::new("pc").required(true).index(2)
    |  __________________-
116 | |                 .about("program counter (hex)")
    | |                 -^^^^^ method not found in `Arg<'_>`
    | |_________________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:120:18
    |
119 |   ...   .arg(Arg::new("count").index(3)
    |  ____________-
120 | | ...       .about("number of instructions to print after pc (default: ...
    | |           -^^^^^ method not found in `Arg<'_>`
    | |___________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:129:18
    |
128 |               .arg(Arg::new("dir").required(true).index(1)
    |  __________________-
129 | |                 .about("directory containing the dump")
    | |                 -^^^^^ method not found in `Arg<'_>`
    | |_________________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:138:18
    |
137 |               .arg(Arg::new("dir").required(true).index(1)
    |  __________________-
138 | |                 .about("directory containing the memory dump")
    | |                 -^^^^^ method not found in `Arg<'_>`
    | |_________________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:150:18
    |
149 |               .arg(Arg::new("dir").required(true).index(1)
    |  __________________-
150 | |                 .about("directory containing the dump")
    | |                 -^^^^^ method not found in `Arg<'_>`
    | |_________________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:154:18
    |
153 |               .arg(Arg::new("pc").required(true).index(2)
    |  __________________-
154 | |                 .about("program counter (hex)")
    | |                 -^^^^^ method not found in `Arg<'_>`
    | |_________________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:163:18
    |
162 |               .arg(Arg::new("dir").required(true).index(1)
    |  __________________-
163 | |                 .about("directory containing the dump")
    | |                 -^^^^^ method not found in `Arg<'_>`
    | |_________________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:167:18
    |
166 |               .arg(Arg::new("pc_start").required(true).index(2)
    |  __________________-
167 | |                 .about("program counter at start of a function (hex)")
    | |                 -^^^^^ method not found in `Arg<'_>`
    | |_________________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:171:18
    |
170 |               .arg(Arg::new("pc_end").required(true).index(3)
    |  __________________-
171 | |                 .about("program counter at end of a function (hex)")
    | |                 -^^^^^ method not found in `Arg<'_>`
    | |_________________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:180:18
    |
179 |   ...   .arg(Arg::new("set_dir").required(true).index(1)
    |  ____________-
180 | | ...       .about("dir containing directories named set_id (see help-f...
    | |           -^^^^^ method not found in `Arg<'_>`
    | |___________|
    | 

error[E0599]: no method named `about` found for struct `Arg` in the current scope
   --> src/cli.rs:189:18
    |
188 |               .arg(Arg::new("dir").required(true).index(1)
    |  __________________-
189 | |                 .about("directory containing the dump")
    | |                 -^^^^^ method not found in `Arg<'_>`
    | |_________________|
    | 

error[E0061]: this function takes 4 arguments but 3 arguments were supplied
  --> build.rs:13:5
   |
13 |     generate_to::<Zsh, _, _>(&mut app, "dump-analyzer", &outdir);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^ -------- an argument of type `clap_generate::generators::Zsh` is missing
   |
note: function defined here
  --> /home/andre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/clap_generate-3.0.3/src/lib.rs:23:8
   |
23 | pub fn generate_to<G, S, T>(
   |        ^^^^^^^^^^^
help: provide the argument
   |
13 |     generate_to::<Zsh, _, _>(/* clap_generate::generators::Zsh */, &mut app, &outdir, "dump-analyzer");
   |                             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error[E0061]: this function takes 4 arguments but 3 arguments were supplied
  --> build.rs:14:5
   |
14 |     generate_to::<Bash, _, _>(&mut app, "dump-analyzer", &outdir);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ -------- an argument of type `clap_generate::generators::Bash` is missing
   |
note: function defined here
  --> /home/andre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/clap_generate-3.0.3/src/lib.rs:23:8
   |
23 | pub fn generate_to<G, S, T>(
   |        ^^^^^^^^^^^
help: provide the argument
   |
14 |     generate_to::<Bash, _, _>(/* clap_generate::generators::Bash */, &mut app, &outdir, "dump-analyzer");
   |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error[E0061]: this function takes 4 arguments but 3 arguments were supplied
  --> build.rs:15:5
   |
15 |     generate_to::<Elvish, _, _>(&mut app, "dump-analyzer", &outdir);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ -------- an argument of type `clap_generate::generators::Elvish` is missing
   |
note: function defined here
  --> /home/andre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/clap_generate-3.0.3/src/lib.rs:23:8
   |
23 | pub fn generate_to<G, S, T>(
   |        ^^^^^^^^^^^
help: provide the argument
   |
15 |     generate_to::<Elvish, _, _>(/* clap_generate::generators::Elvish */, &mut app, &outdir, "dump-analyzer");
   |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error[E0061]: this function takes 4 arguments but 3 arguments were supplied
  --> build.rs:16:5
   |
16 |     generate_to::<PowerShell, _, _>(&mut app, "dump-analyzer", &outdir);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -------- an argument of type `clap_generate::generators::PowerShell` is missing
   |
note: function defined here
  --> /home/andre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/clap_generate-3.0.3/src/lib.rs:23:8
   |
23 | pub fn generate_to<G, S, T>(
   |        ^^^^^^^^^^^
help: provide the argument
   |
16 |     generate_to::<PowerShell, _, _>(/* clap_generate::generators::PowerShell */, &mut app, &outdir, "dump-analyzer");
   |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

error[E0061]: this function takes 4 arguments but 3 arguments were supplied
  --> build.rs:17:5
   |
17 |     generate_to::<Fish, _, _>(&mut app, "dump-analyzer", &outdir);
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^ -------- an argument of type `clap_generate::generators::Fish` is missing
   |
note: function defined here
  --> /home/andre/.cargo/registry/src/index.crates.io-6f17d22bba15001f/clap_generate-3.0.3/src/lib.rs:23:8
   |
23 | pub fn generate_to<G, S, T>(
   |        ^^^^^^^^^^^
help: provide the argument
   |
17 |     generate_to::<Fish, _, _>(/* clap_generate::generators::Fish */, &mut app, &outdir, "dump-analyzer");
   |                              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Some errors have detailed explanations: E0061, E0599.
For more information about an error, try `rustc --explain E0061`.
warning: `dump-analyzer` (build script) generated 7 warnings
error: could not compile `dump-analyzer` (build script) due to 37 previous errors; 7 warnings emitted
warning: build failed, waiting for other jobs to finish...
cargo build --release  83,84s user 5,80s system 629% cpu 14,240 total
kermitfrog commented 6 months ago

Hi, I realize this is already a couple of years old ..

It was my first non-trivial rust programm - back then I didn't know that Cargo.lock should be commited to the repository to prevent that type of issue.

I added it now, along with a more specific Cargo.toml and a few minor changes, I seem to have forgotten to commit back then..

Now it should compile for you, too.