dpc / rdedup

Data deduplication engine, supporting optional compression and public key encryption.
834 stars 43 forks source link

instalation via cargo does not work for me in ubuntu 20.04 #198

Closed aemiranda7 closed 3 years ago

aemiranda7 commented 3 years ago

After doing all steps that were mentioned in the ubuntu 20.04 and when i do cargo install rdedup the instaltion gives the folowing error: Updating crates.io index Installing rdedup v3.1.1 error: failed to compile rdedup v3.1.1, intermediate artifacts can be found at /tmp/cargo-installxHlhJS

Caused by: failed to select a version for the requirement crypto-mac = "^0.5" candidate versions found which didn't match: 0.11.1, 0.11.0, 0.10.1, ... location searched: crates.io index required by package blake2 v0.7.0 ... which is depended on by rdedup-lib v3.1.0 ... which is depended on by rdedup v3.1.1

dpc commented 3 years ago

:S

Some yanked dep versions probably. Some dependency updates are going to be required.

dimitarvp commented 3 years ago

Exactly the same here on latest macOS and stable Rust. You might indeed have to bump your dependency versions a bit.

Really want to start using rdedup. 😃 It would be nice if you fix the build.

dpc commented 3 years ago

Please help, fill a PR. :pray:

azzamsa commented 3 years ago

The strange thing is I am able to build from the source code locally.

rdedup on  master is 📦 v3.1.1 via 🦀 v1.54.0
❯ ./target/debug/rdedup --version
rdedup

I think we should make a new release.

Update 1:

Even though I can build the binary, it can't be installed.

❯ cargo install --path .
  Installing rdedup v3.1.1 (/home/user/playground/rdedup)
    Updating crates.io index
   Compiling rdedup v3.1.1 (/home/user/playground/rdedup)
error[E0433]: failed to resolve: could not find `Args` in `clap`
   --> src/bin.rs:316:17
    |
316 | #[derive(Debug, Clap)]
    |                 ^^^^ could not find `Args` in `clap`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `into_app_for_update` is not a member of trait `clap::IntoApp`
   --> src/bin.rs:316:17
    |
316 | #[derive(Debug, Clap)]
    |                 ^^^^ not a member of trait `clap::IntoApp`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)
dpc commented 3 years ago

I've published v3.2.0

dimitarvp commented 3 years ago

This is still failing on Rust 1.54.0:

cargo install rdedup
    Updating crates.io index
  Downloaded rdedup v3.2.0
  Downloaded 1 crate (23.8 KB) in 1.18s
  Installing rdedup v3.2.0
  Downloaded rpassword v4.0.5
  Downloaded ed25519 v1.2.0
  Downloaded slog-term v2.8.0
  Downloaded blake2 v0.9.2
  Downloaded slog-async v2.7.0
  Downloaded slog v2.7.0
  Downloaded rust-lzma v0.5.1
  Downloaded take_mut v0.2.2
  Downloaded sodiumoxide v0.2.7
  Downloaded serde_yaml v0.8.20
  Downloaded signature v1.3.1
  Downloaded libsodium-sys v0.2.7
  Downloaded dangerous_option v0.2.0
  Downloaded bytevec v0.2.0
  Downloaded sgdata v0.2.0
  Downloaded rdedup-cdc v0.1.0
  Downloaded slog-perf v0.2.0
  Downloaded rdedup-lib v3.2.0
  Downloaded 18 crates (7.2 MB) in 1.07s (largest was `libsodium-sys` at 4.6 MB)
   Compiling libc v0.2.101
   Compiling autocfg v1.0.1
   Compiling version_check v0.9.3
   Compiling proc-macro2 v1.0.29
   Compiling unicode-xid v0.2.2
   Compiling cfg-if v1.0.0
   Compiling syn v1.0.76
   Compiling pkg-config v0.3.19
   Compiling lazy_static v1.4.0
   Compiling serde_derive v1.0.130
   Compiling typenum v1.14.0
   Compiling serde v1.0.130
   Compiling maybe-uninit v2.0.0
   Compiling cfg-if v0.1.10
   Compiling getrandom v0.1.16
   Compiling slog v2.7.0
   Compiling same-file v1.0.6
   Compiling tinyvec_macros v0.1.0
   Compiling zstd-safe v4.1.1+zstd.1.5.0
   Compiling scopeguard v1.1.0
   Compiling hashbrown v0.11.2
   Compiling crc32fast v1.2.1
   Compiling ryu v1.0.5
   Compiling crossbeam-utils v0.8.5
   Compiling once_cell v1.8.0
   Compiling subtle v2.4.1
   Compiling stable_deref_trait v1.2.0
   Compiling matches v0.1.9
   Compiling signature v1.3.1
   Compiling ppv-lite86 v0.2.10
   Compiling adler v1.0.2
   Compiling linked-hash-map v0.5.4
   Compiling opaque-debug v0.3.0
   Compiling unicode-segmentation v1.8.0
   Compiling serde_json v1.0.67
   Compiling unicode-bidi v0.3.6
   Compiling percent-encoding v1.0.1
   Compiling log v0.4.14
   Compiling slog-async v2.7.0
   Compiling unicode-width v0.1.8
   Compiling cpufeatures v0.2.1
   Compiling itoa v0.4.8
   Compiling dtoa v0.4.8
   Compiling take_mut v0.2.2
   Compiling bitflags v1.3.2
   Compiling os_str_bytes v2.4.0
   Compiling base64 v0.12.3
   Compiling vec_map v0.8.2
   Compiling rdedup-cdc v0.1.0
   Compiling bytevec v0.2.0
   Compiling strsim v0.10.0
   Compiling dangerous_option v0.2.0
   Compiling termcolor v1.1.2
   Compiling hex v0.4.3
   Compiling tinyvec v1.3.1
   Compiling walkdir v2.3.2
   Compiling owning_ref v0.4.1
   Compiling generic-array v0.14.4
   Compiling proc-macro-error-attr v1.0.4
   Compiling proc-macro-error v1.0.4
   Compiling crossbeam-utils v0.7.2
   Compiling num-traits v0.2.14
   Compiling memoffset v0.5.6
   Compiling num-integer v0.1.44
   Compiling indexmap v1.7.0
   Compiling crossbeam-epoch v0.8.2
   Compiling miniz_oxide v0.4.4
   Compiling ed25519 v1.2.0
   Compiling thread_local v1.1.3
   Compiling rust-lzma v0.5.1
   Compiling textwrap v0.12.1
   Compiling yaml-rust v0.4.5
   Compiling sgdata v0.2.0
   Compiling heck v0.3.3
   Compiling slog-perf v0.2.0
   Compiling dirs-sys-next v0.1.2
   Compiling time v0.1.43
   Compiling atty v0.2.14
   Compiling num_cpus v1.13.0
   Compiling fs2 v0.4.3
   Compiling rpassword v4.0.5
   Compiling jobserver v0.1.24
   Compiling crossbeam-channel v0.5.1
   Compiling unicode-normalization v0.1.19
   Compiling quote v1.0.9
   Compiling dirs-next v2.0.0
   Compiling rand_core v0.5.1
   Compiling cc v1.0.70
   Compiling term v0.7.0
   Compiling rand_chacha v0.2.2
   Compiling crossbeam-channel v0.4.4
   Compiling crossbeam-queue v0.2.3
   Compiling flate2 v1.0.21
   Compiling rand v0.7.3
   Compiling digest v0.9.0
   Compiling crypto-mac v0.8.0
   Compiling block-buffer v0.9.0
   Compiling crossbeam-deque v0.7.4
   Compiling idna v0.1.5
   Compiling blake2 v0.9.2
   Compiling sha2 v0.9.6
   Compiling zstd-sys v1.6.1+zstd.1.5.0
   Compiling bzip2-sys v0.1.11+1.0.8
   Compiling libsodium-sys v0.2.7
   Compiling crossbeam v0.7.3
   Compiling url v1.7.2
   Compiling bzip2 v0.4.3
   Compiling clap_derive v3.0.0-beta.4
   Compiling clap v3.0.0-beta.2
   Compiling chrono v0.4.19
   Compiling serde_yaml v0.8.20
   Compiling slog-term v2.8.0
   Compiling zstd v0.9.0+zstd.1.5.0
   Compiling sodiumoxide v0.2.7
   Compiling rdedup-lib v3.2.0
   Compiling rdedup v3.2.0
error[E0433]: failed to resolve: could not find `Args` in `clap`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:316:17
    |
316 | #[derive(Debug, Clap)]
    |                 ^^^^ could not find `Args` in `clap`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `into_app_for_update` is not a member of trait `clap::IntoApp`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:316:17
    |
316 | #[derive(Debug, Clap)]
    |                 ^^^^ not a member of trait `clap::IntoApp`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `update_from_arg_matches` is not a member of trait `clap::FromArgMatches`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:316:17
    |
316 | #[derive(Debug, Clap)]
    |                 ^^^^ not a member of trait `clap::FromArgMatches`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `into_app_for_update` is not a member of trait `clap::IntoApp`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:344:17
    |
344 | #[derive(Debug, Clap)]
    |                 ^^^^ not a member of trait `clap::IntoApp`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `update_from_arg_matches` is not a member of trait `clap::FromArgMatches`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:344:17
    |
344 | #[derive(Debug, Clap)]
    |                 ^^^^ not a member of trait `clap::FromArgMatches`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `augment_subcommands_for_update` is not a member of trait `clap::Subcommand`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:344:17
    |
344 | #[derive(Debug, Clap)]
    |                 ^^^^ not a member of trait `clap::Subcommand`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0407]: method `has_subcommand` is not a member of trait `clap::Subcommand`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:344:17
    |
344 | #[derive(Debug, Clap)]
    |                 ^^^^ not a member of trait `clap::Subcommand`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0576]: cannot find method or associated constant `update_from_arg_matches` in trait `clap::FromArgMatches`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:341:14
    |
341 |     command: Command,
    |              ^^^^^^^ help: an associated function with a similar name exists: `from_arg_matches`
    |
   ::: /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/clap-3.0.0-beta.2/src/derive.rs:156:5
    |
156 |     fn from_arg_matches(matches: &ArgMatches) -> Self;
    |     -------------------------------------------------- similarly named associated function `from_arg_matches` defined here

error[E0404]: expected trait, found derive macro `clap::Args`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:316:17
    |
316 | #[derive(Debug, Clap)]
    |                 ^^^^ not a trait
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0576]: cannot find method or associated constant `augment_subcommands_for_update` in trait `clap::Subcommand`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:316:17
    |
316 | #[derive(Debug, Clap)]
    |                 ^^^^ not found in `clap::Subcommand`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error[E0576]: cannot find method or associated constant `augment_subcommands_for_update` in trait `clap::Subcommand`
   --> /Users/dimi/.cargo/registry/src/github.com-1ecc6299db9ec823/rdedup-3.2.0/src/bin.rs:344:17
    |
344 | #[derive(Debug, Clap)]
    |                 ^^^^ not found in `clap::Subcommand`
    |
    = note: this error originates in the derive macro `Clap` (in Nightly builds, run with -Z macro-backtrace for more info)

error: aborting due to 11 previous errors

Some errors have detailed explanations: E0404, E0407, E0433, E0576.
For more information about an error, try `rustc --explain E0404`.
error: failed to compile `rdedup v3.2.0`, intermediate artifacts can be found at `/var/folders/kw/x1xjdlfj08g62bsnxplpgz700000gn/T/cargo-installQwus5D`

Caused by:
  could not compile `rdedup`

To learn more, run the command again with --verbose.

rustc -V
rustc 1.54.0 (a178d0322 2021-07-26)

I am using sccache though, I'll check if it builds fine without it.

dimitarvp commented 3 years ago

Nope, the same problem is present when disabling sccache as well (and emptying its cache).

@dpc Any suggestions how to further troubleshoot this?

dimitarvp commented 3 years ago

Looking at @azzamsa's comment above, I tried building rdedup locally (after a git clone). It succeeded. cargo install --path . did indeed fail with the same error as above however.

If that helps, here are the contents of my ~/.cargo/config:

[build]
rustflags=["-C", "target-cpu=native"]

[profile.dev]
split-debuginfo = "unpacked"
dpc commented 3 years ago

Published v3.2.1 . clap version was pinned to beta2 and resolution of version between clap and clap_derive went wrong. When building locally for some reason this is not happeniung.

dimitarvp commented 3 years ago

Yep, now it installed correctly through cargo install rdedup. Thanks!