arkworks-rs / sumcheck

linear-time sumcheck protocol for multilinear polynomials and related addends
Apache License 2.0
51 stars 29 forks source link

Compatibility problem between latest ark-linear-sumcheck and ark-serialize #63

Open drobissout opened 1 year ago

drobissout commented 1 year ago

Hello,

First of all thank you for this great crate, it's really helping me a lot.

I had a remark concerning the latest version of the crate available on github. When I try to use it and build my project, I have some errors connected to the crate ark-serialize. The content of my Cargo.tolm is the following:

[package]
name = "test_sumcheck"
version = "0.1.0"
edition = "2021"

[dependencies]
ark-linear-sumcheck = { version = "^0.3.0" }

[patch.crates-io]
ark-linear-sumcheck = { git = "https://github.com/arkworks-rs/sumcheck" }

And when I run cargo build I get several errors of the form:

error[E0412]: cannot find type `SerializationError` in this scope
  --> /home/XXXXX/.cargo/git/checkouts/sumcheck-2b3187b65cdc1384/91bde9a/src/ml_sumcheck/data_structures.rs:47:30
   |
47 | #[derive(CanonicalSerialize, CanonicalDeserialize, Clone)]
   |                              ^^^^^^^^^^^^^^^^^^^^ not found in this scope
   |
   = note: this error originates in the derive macro `CanonicalDeserialize` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider importing this enum
   |
3  | use ark_serialize::SerializationError;
   |

Some errors have detailed explanations: E0405, E0412.
For more information about an error, try `rustc --explain E0405`.
error: could not compile `ark-linear-sumcheck` due to 12 previous errors

However, this problem does not arise when using the latest release of the crate, i.e. by commenting the line of [patch.crates-io].

I wanted to know if it was a setup error on my part or a problem linked with updates in the ark crates? For now I will keep using the previous full release as it is working great.

Thank you for your time!

mmagician commented 1 year ago

Yes, it's possible that the master branch of this repo hasn't caught up with changes in other arkworks repositories it depends on.