crev-dev / cargo-crev

A cryptographically verifiable code review system for the cargo (Rust) package manager.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`No such file or directory` when accessing non existent `ids` directory

nick-mobilecoin opened this issue · comments

On a new install of 0.24.0, if one runs cargo crev trust ... it will try to access the ids directory before it is created and fail with an IO error.
A new install of 0.23.0 works fine under the same constraints

The error chain:

If you want to report an issue, please go through the following checklist:

  • If a command is failing try running it with RUST_BACKTRACE=1
    No new information provided

  • Paste the exact command and error and/or outputs (along with the backtrace)

    cargo crev trust --level high --no-commit https://github.com/mobilecoinfoundation/crev-proofs
    I/O: No such file or directory (os error 2)
    
    Caused by:
        No such file or directory (os error 2)
  • Please let us know:

    • Which version are you using (eg. cargo crev --version)
      0.24.0
    • How did you install crev (git?, cargo?, your distribution?)
      • Installing by downloading the binary
      • Building locally with cargo run ... or cargo build && ./target ...
    • What OS/platform are you running on
      • Ubuntu 22.04 (github actions)
      • Mac OS (m2)

I am also having this issue with the exact same behavior chain.

Also ran into this issue going through the getting started guide:

  • cargo install cargo-crev on MasOs(m1)
  • cargo crev -version -> 0.24.0
  • Any cargo crev command fails with I/O: No such file or directory (os error 2) error

Reverting to 0.23.3 fixes the issue for me.

Building 0.23.0 failed for me.

$ rustup run stable cargo install cargo-crev --version 0.23.0
...
   Compiling cargo-crev v0.23.0
error[E0063]: missing fields `distrust_distance` and `none_trust_distance` in initializer of `crev_lib::TrustDistanceParams`
   --> /home/jayvdb/.cargo/registry/src/index.crates.io-6f17d22bba15001f/cargo-crev-0.23.0/src/opts.rs:168:9
    |
168 |         crev_lib::TrustDistanceParams {
    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `distrust_distance` and `none_trust_distance`

For more information about this error, try `rustc --explain E0063`.
error: could not compile `cargo-crev` (bin "cargo-crev") due to previous error
error: failed to compile `cargo-crev v0.23.0`, intermediate artifacts can be found at `/tmp/cargo-installAjpJc4`

v 0.23.5 builds for me.