hyperledger / indy-vdr

A library and proxy server for interacting with Hyperledger Indy Node ledger instances
Apache License 2.0
54 stars 71 forks source link

build failing v0.3.4, v0.3.3, v0.3.2 #78

Open 0xArdi opened 2 years ago

0xArdi commented 2 years ago

Running cargo build --lib fails with errors E0277, E0599. I initially noticed the error on alpine/x86_64 (docker build). Removing Cargo.lock also caused the compilation to start failing on my main machine as well, so I assume it has to be something with the dependencies. I also tested on MacOS with an M1 chip, it also fails there. I have tested with version v0.3.4, v0.3.3, v0.3.2.

For a quick fix right now, I checked out the latest commit to main 07f03c4609ceed34bc163f83160c609562c34997, that seemed to work on both my main machine and on the docker builds.

Any idea for a better solution?

Full logs of warning and errors (MacOS M1) :

#10 192.7    Compiling indy-vdr v0.3.3 (/indy-vdr/libindy_vdr)
#10 193.3 warning: trailing semicolon in macro used in expression position
#10 193.3    --> libindy_vdr/src/utils/macros.rs:78:10
#10 193.3     |
#10 193.3 78  |         };
#10 193.3     |          ^
#10 193.3     |
#10 193.3    ::: libindy_vdr/src/pool/genesis.rs:157:24
#10 193.3     |
#10 193.3 157 |         let vec_json = unwrap_or_return!(self.encode_json(), Err(std::fmt::Error {}));
#10 193.3     |                        -------------------------------------------------------------- in this macro invocation
#10 193.3     |
#10 193.3     = note: `#[warn(semicolon_in_expressions_from_macros)]` on by default
#10 193.3     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
#10 193.3     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
#10 193.3     = note: this warning originates in the macro `unwrap_or_return` (in Nightly builds, run with -Z macro-backtrace for more info)
#10 193.3
#10 193.3 warning: trailing semicolon in macro used in expression position
#10 193.3    --> libindy_vdr/src/utils/macros.rs:69:10
#10 193.3     |
#10 193.3 69  |           };
#10 193.3     |            ^
#10 193.3     |
#10 193.3    ::: libindy_vdr/src/state_proof/mod.rs:299:48
#10 193.3     |
#10 193.3 299 |           let (signature, participants, value) = unwrap_opt_or_return!(
#10 193.3     |  ________________________________________________-
#10 193.3 300 | |             _parse_reply_for_proof_signature_checking(&parsed_sp.multi_signature),
#10 193.3 301 | |             {
#10 193.3 302 | |                 debug!("Reply parsing failed");
#10 193.3 303 | |                 false
#10 193.3 304 | |             }
#10 193.3 305 | |         );
#10 193.3     | |_________- in this macro invocation
#10 193.3     |
#10 193.3     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
#10 193.3     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
#10 193.3     = note: this warning originates in the macro `unwrap_opt_or_return` (in Nightly builds, run with -Z macro-backtrace for more info)
#10 193.3
#10 193.3 warning: trailing semicolon in macro used in expression position
#10 193.3    --> libindy_vdr/src/utils/macros.rs:78:10
#10 193.3     |
#10 193.3 78  |           };
#10 193.3     |            ^
#10 193.3     |
#10 193.3    ::: libindy_vdr/src/state_proof/mod.rs:313:27
#10 193.3     |
#10 193.3 313 |           let proof_nodes = unwrap_or_return!(base64::decode(&parsed_sp.proof_nodes), {
#10 193.3     |  ___________________________-
#10 193.3 314 | |             debug!("Error decoding proof nodes from state proof");
#10 193.3 315 | |             false
#10 193.3 316 | |         });
#10 193.3     | |__________- in this macro invocation
#10 193.3     |
#10 193.3     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
#10 193.3     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
#10 193.3     = note: this warning originates in the macro `unwrap_or_return` (in Nightly builds, run with -Z macro-backtrace for more info)
#10 193.3
#10 193.3 warning: trailing semicolon in macro used in expression position
#10 193.3    --> libindy_vdr/src/utils/macros.rs:78:10
#10 193.3     |
#10 193.3 78  |           };
#10 193.3     |            ^
#10 193.3     |
#10 193.3    ::: libindy_vdr/src/state_proof/mod.rs:317:25
#10 193.3     |
#10 193.3 317 |           let root_hash = unwrap_or_return!(base58::decode(parsed_sp.root_hash), {
#10 193.3     |  _________________________-
#10 193.3 318 | |             debug!("Error decoding root hash from state proof");
#10 193.3 319 | |             false
#10 193.3 320 | |         });
#10 193.3     | |__________- in this macro invocation
#10 193.3     |
#10 193.3     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
#10 193.3     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
#10 193.3     = note: this warning originates in the macro `unwrap_or_return` (in Nightly builds, run with -Z macro-backtrace for more info)
#10 193.3
#10 193.3 warning: trailing semicolon in macro used in expression position
#10 193.3    --> libindy_vdr/src/utils/macros.rs:78:10
#10 193.3     |
#10 193.3 78  |           };
#10 193.3     |            ^
#10 193.3     |
#10 193.3    ::: libindy_vdr/src/state_proof/mod.rs:325:35
#10 193.3     |
#10 193.3 325 |                           let key = unwrap_or_return!(base64::decode(&k), {
#10 193.3     |  ___________________________________-
#10 193.3 326 | |                             debug!("Error decoding proof key");
#10 193.3 327 | |                             false
#10 193.3 328 | |                         });
#10 193.3     | |__________________________- in this macro invocation
#10 193.3     |
#10 193.3     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
#10 193.3     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
#10 193.3     = note: this warning originates in the macro `unwrap_or_return` (in Nightly builds, run with -Z macro-backtrace for more info)
#10 193.3
#10 193.3 warning: trailing semicolon in macro used in expression position
#10 193.3    --> libindy_vdr/src/utils/macros.rs:87:10
#10 193.3     |
#10 193.3 87  |           };
#10 193.3     |            ^
#10 193.3     |
#10 193.3    ::: libindy_vdr/src/state_proof/mod.rs:947:18
#10 193.3     |
#10 193.3 947 |       let seq_no = unwrap_or_map_return!(seq_no, |err| {
#10 193.3     |  __________________-
#10 193.3 948 | |         debug!("Error while parsing merkle tree seq_no: {}", err);
#10 193.3 949 | |         false
#10 193.3 950 | |     });
#10 193.3     | |______- in this macro invocation
#10 193.3     |
#10 193.3     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
#10 193.3     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
#10 193.3     = note: this warning originates in the macro `unwrap_or_map_return` (in Nightly builds, run with -Z macro-backtrace for more info)
#10 193.3
#10 193.3 warning: trailing semicolon in macro used in expression position
#10 193.3    --> libindy_vdr/src/utils/macros.rs:87:10
#10 193.3     |
#10 193.3 87  |           };
#10 193.3     |            ^
#10 193.3     |
#10 193.3    ::: libindy_vdr/src/state_proof/mod.rs:972:20
#10 193.3     |
#10 193.3 972 |       let mut hash = unwrap_or_map_return!(hash, |err| {
#10 193.3     |  ____________________-
#10 193.3 973 | |         debug!("Error while hashing merkle tree leaf: {:?}", err);
#10 193.3 974 | |         return false;
#10 193.3 975 | |     });
#10 193.3     | |______- in this macro invocation
#10 193.3     |
#10 193.3     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
#10 193.3     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
#10 193.3     = note: this warning originates in the macro `unwrap_or_map_return` (in Nightly builds, run with -Z macro-backtrace for more info)
#10 193.3
#10 193.3 warning: trailing semicolon in macro used in expression position
#10 193.3    --> libindy_vdr/src/utils/macros.rs:78:10
#10 193.3     |
#10 193.3 78  |           };
#10 193.3     |            ^
#10 193.3     |
#10 193.3    ::: libindy_vdr/src/state_proof/mod.rs:980:26
#10 193.3     |
#10 193.3 980 |           let _next_hash = unwrap_or_return!(base58::decode(next_hash), {
#10 193.3     |  __________________________-
#10 193.3 981 | |             debug!("Error decoding next hash as base58");
#10 193.3 982 | |             false
#10 193.3 983 | |         });
#10 193.3     | |__________- in this macro invocation
#10 193.3     |
#10 193.3     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
#10 193.3     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
#10 193.3     = note: this warning originates in the macro `unwrap_or_return` (in Nightly builds, run with -Z macro-backtrace for more info)
#10 193.3
#10 193.3 warning: trailing semicolon in macro used in expression position
#10 193.3    --> libindy_vdr/src/utils/macros.rs:87:10
#10 193.3     |
#10 193.3 87  |           };
#10 193.3     |            ^
#10 193.3     |
#10 193.3    ::: libindy_vdr/src/state_proof/mod.rs:989:16
#10 193.3     |
#10 193.3 989 |           hash = unwrap_or_map_return!(turned_hash, |err| {
#10 193.3     |  ________________-
#10 193.3 990 | |             debug!("Error while hashing: {:?}", err);
#10 193.3 991 | |             return false;
#10 193.3 992 | |         })
#10 193.3     | |__________- in this macro invocation
#10 193.3     |
#10 193.3     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
#10 193.3     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
#10 193.3     = note: this warning originates in the macro `unwrap_or_map_return` (in Nightly builds, run with -Z macro-backtrace for more info)
#10 193.3
#10 193.9 error[E0599]: no function or associated item named `from_str` found for struct `CredentialDefinitionId` in the current scope
#10 193.9    --> libindy_vdr/src/ffi/ledger.rs:205:51
#10 193.9     |
#10 193.9 205 |         let cred_def_id = CredentialDefinitionId::from_str(cred_def_id.as_str())?;
#10 193.9     |                                                   ^^^^^^^^ function or associated item not found in `CredentialDefinitionId`
#10 193.9     |
#10 193.9     = help: items from traits can only be used if the trait is in scope
#10 193.9 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 193.9     |
#10 193.9 1   | use indy_utils::qualifiable::Qualifiable;
#10 193.9     |
#10 193.9
#10 193.9 error[E0599]: no function or associated item named `from_str` found for struct `RevocationRegistryId` in the current scope
#10 193.9    --> libindy_vdr/src/ffi/ledger.rs:247:50
#10 193.9     |
#10 193.9 247 |         let revoc_reg_id = RevocationRegistryId::from_str(revoc_reg_id.as_str())?;
#10 193.9     |                                                  ^^^^^^^^ function or associated item not found in `RevocationRegistryId`
#10 193.9     |
#10 193.9     = help: items from traits can only be used if the trait is in scope
#10 193.9 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 193.9     |
#10 193.9 1   | use indy_utils::qualifiable::Qualifiable;
#10 193.9     |
#10 193.9
#10 193.9 error[E0599]: no function or associated item named `from_str` found for struct `RevocationRegistryId` in the current scope
#10 193.9    --> libindy_vdr/src/ffi/ledger.rs:269:50
#10 193.9     |
#10 193.9 269 |         let revoc_reg_id = RevocationRegistryId::from_str(revoc_reg_id.as_str())?;
#10 193.9     |                                                  ^^^^^^^^ function or associated item not found in `RevocationRegistryId`
#10 193.9     |
#10 193.9     = help: items from traits can only be used if the trait is in scope
#10 193.9 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 193.9     |
#10 193.9 1   | use indy_utils::qualifiable::Qualifiable;
#10 193.9     |
#10 193.9
#10 193.9 error[E0599]: no function or associated item named `from_str` found for struct `RevocationRegistryId` in the current scope
#10 193.9    --> libindy_vdr/src/ffi/ledger.rs:292:50
#10 193.9     |
#10 193.9 292 |         let revoc_reg_id = RevocationRegistryId::from_str(revoc_reg_id.as_str())?;
#10 193.9     |                                                  ^^^^^^^^ function or associated item not found in `RevocationRegistryId`
#10 193.9     |
#10 193.9     = help: items from traits can only be used if the trait is in scope
#10 193.9 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 193.9     |
#10 193.9 1   | use indy_utils::qualifiable::Qualifiable;
#10 193.9     |
#10 193.9
#10 193.9 error[E0599]: no function or associated item named `from_str` found for struct `SchemaId` in the current scope
#10 193.9    --> libindy_vdr/src/ffi/ledger.rs:314:35
#10 193.9     |
#10 193.9 314 |         let schema_id = SchemaId::from_str(schema_id.as_str())?;
#10 193.9     |                                   ^^^^^^^^ function or associated item not found in `SchemaId`
#10 193.9     |
#10 193.9     = help: items from traits can only be used if the trait is in scope
#10 193.9 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 193.9     |
#10 193.9 1   | use indy_utils::qualifiable::Qualifiable;
#10 193.9     |
#10 193.9
#10 193.9 error[E0599]: no function or associated item named `from_str` found for struct `RevocationRegistryId` in the current scope
#10 193.9    --> libindy_vdr/src/ffi/ledger.rs:454:54
#10 193.9     |
#10 193.9 454 |         let revoc_reg_def_id = RevocationRegistryId::from_str(revoc_reg_def_id.as_str())?;
#10 193.9     |                                                      ^^^^^^^^ function or associated item not found in `RevocationRegistryId`
#10 193.9     |
#10 193.9     = help: items from traits can only be used if the trait is in scope
#10 193.9 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 193.9     |
#10 193.9 1   | use indy_utils::qualifiable::Qualifiable;
#10 193.9     |
#10 193.9
#10 193.9 error[E0277]: `?` couldn't convert the error to `common::error::VdrError`
#10 193.9    --> libindy_vdr/src/ffi/ledger.rs:455:85
#10 193.9     |
#10 193.9 455 |         let revoc_reg_def_type = RegistryType::from_str(revoc_reg_def_type.as_str())?;
#10 193.9     |                                                                                     ^ the trait `From<indy_data_types::ConversionError>` is not implemented for `common::error::VdrError`
#10 193.9     |
#10 193.9     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
#10 193.9     = help: the following implementations were found:
#10 193.9               <common::error::VdrError as From<(common::error::VdrErrorKind, M)>>
#10 193.9               <common::error::VdrError as From<common::error::VdrErrorKind>>
#10 193.9               <common::error::VdrError as From<indy_utils::ConversionError>>
#10 193.9               <common::error::VdrError as From<indy_utils::ValidationError>>
#10 193.9               <common::error::VdrError as From<zmq::Error>>
#10 193.9     = note: required because of the requirements on the impl of `FromResidual<Result<Infallible, indy_data_types::ConversionError>>` for `Result<_, common::error::VdrError>`
#10 193.9 note: required by `from_residual`
#10 193.9
#10 194.0 error[E0599]: no method named `to_unqualified` found for reference `&SchemaId` in the current scope
#10 194.0    --> libindy_vdr/src/ledger/request_builder.rs:418:21
#10 194.0     |
#10 194.0 418 |         let id = id.to_unqualified();
#10 194.0     |                     ^^^^^^^^^^^^^^ method not found in `&SchemaId`
#10 194.0     |
#10 194.0     = help: items from traits can only be used if the trait is in scope
#10 194.0 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 194.0     |
#10 194.0 1   | use indy_utils::qualifiable::Qualifiable;
#10 194.0     |
#10 194.0
#10 194.0 error[E0599]: no method named `to_unqualified` found for reference `&CredentialDefinitionId` in the current scope
#10 194.0    --> libindy_vdr/src/ledger/request_builder.rs:445:21
#10 194.0     |
#10 194.0 445 |         let id = id.to_unqualified();
#10 194.0     |                     ^^^^^^^^^^^^^^ method not found in `&CredentialDefinitionId`
#10 194.0     |
#10 194.0     = help: items from traits can only be used if the trait is in scope
#10 194.0 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 194.0     |
#10 194.0 1   | use indy_utils::qualifiable::Qualifiable;
#10 194.0     |
#10 194.0
#10 194.0 error[E0599]: no method named `to_unqualified` found for reference `&RevocationRegistryId` in the current scope
#10 194.0    --> libindy_vdr/src/ledger/request_builder.rs:464:21
#10 194.0     |
#10 194.0 464 |         let id = id.to_unqualified();
#10 194.0     |                     ^^^^^^^^^^^^^^ method not found in `&RevocationRegistryId`
#10 194.0     |
#10 194.0     = help: items from traits can only be used if the trait is in scope
#10 194.0 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 194.0     |
#10 194.0 1   | use indy_utils::qualifiable::Qualifiable;
#10 194.0     |
#10 194.0
#10 194.0 error[E0599]: no method named `to_unqualified` found for reference `&RevocationRegistryId` in the current scope
#10 194.0    --> libindy_vdr/src/ledger/request_builder.rs:475:49
#10 194.0     |
#10 194.0 475 |         let revoc_reg_def_id = revoc_reg_def_id.to_unqualified();
#10 194.0     |                                                 ^^^^^^^^^^^^^^ method not found in `&RevocationRegistryId`
#10 194.0     |
#10 194.0     = help: items from traits can only be used if the trait is in scope
#10 194.0 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 194.0     |
#10 194.0 1   | use indy_utils::qualifiable::Qualifiable;
#10 194.0     |
#10 194.0
#10 194.0 error[E0599]: no method named `to_unqualified` found for reference `&RevocationRegistryId` in the current scope
#10 194.0    --> libindy_vdr/src/ledger/request_builder.rs:490:49
#10 194.0     |
#10 194.0 490 |         let revoc_reg_def_id = revoc_reg_def_id.to_unqualified();
#10 194.0     |                                                 ^^^^^^^^^^^^^^ method not found in `&RevocationRegistryId`
#10 194.0     |
#10 194.0     = help: items from traits can only be used if the trait is in scope
#10 194.0 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 194.0     |
#10 194.0 1   | use indy_utils::qualifiable::Qualifiable;
#10 194.0     |
#10 194.0
#10 194.0 error[E0599]: no method named `to_unqualified` found for reference `&RevocationRegistryId` in the current scope
#10 194.0    --> libindy_vdr/src/ledger/request_builder.rs:517:49
#10 194.0     |
#10 194.0 517 |         let revoc_reg_def_id = revoc_reg_def_id.to_unqualified();
#10 194.0     |                                                 ^^^^^^^^^^^^^^ method not found in `&RevocationRegistryId`
#10 194.0     |
#10 194.0     = help: items from traits can only be used if the trait is in scope
#10 194.0 help: the following trait is implemented but not in scope; perhaps add a `use` for it:
#10 194.0     |
#10 194.0 1   | use indy_utils::qualifiable::Qualifiable;
#10 194.0     |
#10 194.0
#10 194.0 error[E0277]: `?` couldn't convert the error to `common::error::VdrError`
#10 194.0    --> libindy_vdr/src/pool/genesis.rs:111:52
#10 194.0     |
#10 194.0 111 |         Ok(MerkleTree::from_vec(self.inner.clone())?)
#10 194.0     |                                                    ^ the trait `From<indy_data_types::ValidationError>` is not implemented for `common::error::VdrError`
#10 194.0     |
#10 194.0     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
#10 194.0     = help: the following implementations were found:
#10 194.0               <common::error::VdrError as From<(common::error::VdrErrorKind, M)>>
#10 194.0               <common::error::VdrError as From<common::error::VdrErrorKind>>
#10 194.0               <common::error::VdrError as From<indy_utils::ConversionError>>
#10 194.0               <common::error::VdrError as From<indy_utils::ValidationError>>
#10 194.0               <common::error::VdrError as From<zmq::Error>>
#10 194.0     = note: required because of the requirements on the impl of `FromResidual<Result<Infallible, indy_data_types::ValidationError>>` for `Result<MerkleTree, common::error::VdrError>`
#10 194.0 note: required by `from_residual`
#10 194.0
#10 194.0 error[E0277]: `?` couldn't convert the error to `common::error::VdrError`
#10 194.0    --> libindy_vdr/src/pool/genesis.rs:116:44
#10 194.0     |
#10 194.0 116 |         Ok(MerkleTree::from_vec(self.inner)?)
#10 194.0     |                                            ^ the trait `From<indy_data_types::ValidationError>` is not implemented for `common::error::VdrError`
#10 194.0     |
#10 194.0     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
#10 194.0     = help: the following implementations were found:
#10 194.0               <common::error::VdrError as From<(common::error::VdrErrorKind, M)>>
#10 194.0               <common::error::VdrError as From<common::error::VdrErrorKind>>
#10 194.0               <common::error::VdrError as From<indy_utils::ConversionError>>
#10 194.0               <common::error::VdrError as From<indy_utils::ValidationError>>
#10 194.0               <common::error::VdrError as From<zmq::Error>>
#10 194.0     = note: required because of the requirements on the impl of `FromResidual<Result<Infallible, indy_data_types::ValidationError>>` for `Result<MerkleTree, common::error::VdrError>`
#10 194.0 note: required by `from_residual`
#10 194.0
#10 194.0 error[E0277]: `?` couldn't convert the error to `common::error::VdrError`
#10 194.0    --> libindy_vdr/src/pool/handlers/catchup.rs:74:35
#10 194.0     |
#10 194.0 71  | ) -> VdrResult<Vec<Vec<u8>>> {
#10 194.0     |      ----------------------- expected `common::error::VdrError` because of this
#10 194.0 ...
#10 194.0 74  |         merkle.append(txn.clone())?;
#10 194.0     |                                   ^ the trait `From<indy_data_types::ValidationError>` is not implemented for `common::error::VdrError`
#10 194.0     |
#10 194.0     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
#10 194.0     = help: the following implementations were found:
#10 194.0               <common::error::VdrError as From<(common::error::VdrErrorKind, M)>>
#10 194.0               <common::error::VdrError as From<common::error::VdrErrorKind>>
#10 194.0               <common::error::VdrError as From<indy_utils::ConversionError>>
#10 194.0               <common::error::VdrError as From<indy_utils::ValidationError>>
#10 194.0               <common::error::VdrError as From<zmq::Error>>
#10 194.0     = note: required because of the requirements on the impl of `FromResidual<Result<Infallible, indy_data_types::ValidationError>>` for `Result<Vec<Vec<u8>>, common::error::VdrError>`
#10 194.0 note: required by `from_residual`
#10 194.0
#10 194.0 error[E0277]: `?` couldn't convert the error to `indy_utils::ValidationError`
#10 194.0    --> libindy_vdr/src/pool/handlers/mod.rs:191:76
#10 194.0     |
#10 194.0 179 | ) -> Result<(), ValidationError> {
#10 194.0     |      --------------------------- expected `indy_utils::ValidationError` because of this
#10 194.0 ...
#10 194.0 191 |     if !mt.consistency_proof(target_mt_root, target_mt_size, &bytes_proofs)? {
#10 194.0     |                                                                            ^ the trait `From<indy_data_types::ValidationError>` is not implemented for `indy_utils::ValidationError`
#10 194.0     |
#10 194.0     = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait
#10 194.0     = help: the following implementations were found:
#10 194.0               <indy_utils::ValidationError as From<&str>>
#10 194.0               <indy_utils::ValidationError as From<(M, E)>>
#10 194.0               <indy_utils::ValidationError as From<indy_utils::ConversionError>>
#10 194.0               <indy_utils::ValidationError as From<std::option::Option<std::string::String>>>
#10 194.0               <indy_utils::ValidationError as From<std::string::String>>
#10 194.0     = note: required because of the requirements on the impl of `FromResidual<Result<Infallible, indy_data_types::ValidationError>>` for `Result<(), indy_utils::ValidationError>`
#10 194.0 note: required by `from_residual`
#10 194.0
#10 194.5 warning: unused import: `crate::utils::Qualifiable`
#10 194.5  --> libindy_vdr/src/ledger/request_builder.rs:8:5
#10 194.5   |
#10 194.5 8 | use crate::utils::Qualifiable;
#10 194.5   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
#10 194.5   |
#10 194.5   = note: `#[warn(unused_imports)]` on by default
#10 194.5
#10 194.5 Some errors have detailed explanations: E0277, E0599.
#10 194.5 For more information about an error, try `rustc --explain E0277`.
#10 194.5 warning: `indy-vdr` (lib) generated 10 warnings
#10 194.9 error: could not compile `indy-vdr` due to 17 previous errors; 10 warnings emitted
dbluhm commented 2 years ago

Getting the same errors with the following Dockerfile:

FROM rust:1.60.0-slim-buster AS indy-vdr
WORKDIR /indy-vdr
ADD https://github.com/hyperledger/indy-vdr/archive/refs/tags/v0.3.4.tar.gz indy-vdr.tar.gz
RUN apt-get update && apt-get install -y libssl-dev pkg-config cmake g++ && apt-get clean
RUN tar xzf indy-vdr.tar.gz --strip-components=1
RUN sh build.sh
0xArdi commented 2 years ago

@dbluhm Did you try checking out '07f03c4609ceed34bc163f83160c609562c34997'?

dbluhm commented 2 years ago

I tried building from current main (36b2bd9) and that worked fine; I haven't tried that specific commit though.