Skip to content
This repository has been archived by the owner on Apr 6, 2022. It is now read-only.

Cannot build plumo-prover #3

Open
semaraugusto opened this issue Mar 4, 2022 · 0 comments
Open

Cannot build plumo-prover #3

semaraugusto opened this issue Mar 4, 2022 · 0 comments

Comments

@semaraugusto
Copy link

semaraugusto commented Mar 4, 2022

When cloning the repo and following the build command provided I got an error both on the release version and on the debug version of the prover:

image

I included both the print and the copy of the output to allow for better visualization on the syntax highlighting.

   Compiling tokio-native-tls v0.1.0
error[E0277]: cannot multiply-assign `<P as fields::models::fp2::Fp2Parameters>::Fp` by `&&<P as fields::models::fp2::Fp2Parameters>::Fp`
  --> /home/semar/.local/share/cargo/git/checkouts/zexe-f74c42809fa6cfe1/6ec533f/algebra-core/src/fields/models/fp2.rs:77:28
   |
77 |         self.c0.mul_assign(&element);
   |                 ---------- ^^^^^^^^ no implementation for `<P as fields::models::fp2::Fp2Parameters>::Fp *= &&<P as fields::models::fp2::Fp2Parameters>::Fp`
   |                 |
   |                 required by a bound introduced by this call
   |
   = help: the trait `MulAssign<&&<P as fields::models::fp2::Fp2Parameters>::Fp>` is not implemented for `<P as fields::models::fp2::Fp2Parameters>::Fp`
help: consider further restricting the associated type
   |
76 |     pub fn mul_assign_by_fp(&mut self, element: &P::Fp) where <P as fields::models::fp2::Fp2Parameters>::Fp: MulAssign<&&<P as fields::models::fp2::Fp2Parameters>::Fp> {
   |                                                         +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0277]: cannot multiply-assign `<P as fields::models::fp2::Fp2Parameters>::Fp` by `&&<P as fields::models::fp2::Fp2Parameters>::Fp`
  --> /home/semar/.local/share/cargo/git/checkouts/zexe-f74c42809fa6cfe1/6ec533f/algebra-core/src/fields/models/fp2.rs:78:28
   |
78 |         self.c1.mul_assign(&element);
   |                 ---------- ^^^^^^^^ no implementation for `<P as fields::models::fp2::Fp2Parameters>::Fp *= &&<P as fields::models::fp2::Fp2Parameters>::Fp`
   |                 |
   |                 required by a bound introduced by this call
   |
   = help: the trait `MulAssign<&&<P as fields::models::fp2::Fp2Parameters>::Fp>` is not implemented for `<P as fields::models::fp2::Fp2Parameters>::Fp`
help: consider further restricting the associated type
   |
76 |     pub fn mul_assign_by_fp(&mut self, element: &P::Fp) where <P as fields::models::fp2::Fp2Parameters>::Fp: MulAssign<&&<P as fields::models::fp2::Fp2Parameters>::Fp> {
   |                                                         +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0277]: cannot add `&mut <P as ModelParameters>::BaseField` to `<P as ModelParameters>::BaseField`
   --> /home/semar/.local/share/cargo/git/checkouts/zexe-f74c42809fa6cfe1/6ec533f/algebra-core/src/curves/models/short_weierstrass_jacobian.rs:426:23
    |
426 |             let e = a + a.double_in_place();
    |                       ^ no implementation for `<P as ModelParameters>::BaseField + &mut <P as ModelParameters>::BaseField`
    |
    = help: the trait `Add<&mut <P as ModelParameters>::BaseField>` is not implemented for `<P as ModelParameters>::BaseField`
help: consider further restricting the associated type
    |
407 |     fn double_in_place(&mut self) -> &mut Self where <P as ModelParameters>::BaseField: Add<&mut <P as ModelParameters>::BaseField> {
    |                                                ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0277]: cannot subtract `&mut <P as ModelParameters>::BaseField` from `<P as ModelParameters>::BaseField`
   --> /home/semar/.local/share/cargo/git/checkouts/zexe-f74c42809fa6cfe1/6ec533f/algebra-core/src/curves/models/short_weierstrass_jacobian.rs:439:41
    |
439 |             self.y = (d - &self.x) * &e - c.double_in_place().double_in_place().double_in_place();
    |                                         ^ no implementation for `<P as ModelParameters>::BaseField - &mut <P as ModelParameters>::BaseField`
    |
    = help: the trait `Sub<&mut <P as ModelParameters>::BaseField>` is not implemented for `<P as ModelParameters>::BaseField`
help: consider further restricting the associated type
    |
407 |     fn double_in_place(&mut self) -> &mut Self where <P as ModelParameters>::BaseField: Sub<&mut <P as ModelParameters>::BaseField> {
    |                                                ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0277]: cannot subtract `&mut <P as ModelParameters>::BaseField` from `<P as ModelParameters>::BaseField`
   --> /home/semar/.local/share/cargo/git/checkouts/zexe-f74c42809fa6cfe1/6ec533f/algebra-core/src/curves/models/short_weierstrass_jacobian.rs:468:36
    |
468 |             self.y = m * &(s - &t) - yyyy.double_in_place().double_in_place().double_in_place();
    |                                    ^ no implementation for `<P as ModelParameters>::BaseField - &mut <P as ModelParameters>::BaseField`
    |
    = help: the trait `Sub<&mut <P as ModelParameters>::BaseField>` is not implemented for `<P as ModelParameters>::BaseField`
help: consider further restricting the associated type
    |
407 |     fn double_in_place(&mut self) -> &mut Self where <P as ModelParameters>::BaseField: Sub<&mut <P as ModelParameters>::BaseField> {
    |                                                ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

error[E0277]: cannot subtract `&mut <P as ModelParameters>::BaseField` from `<P as ModelParameters>::BaseField`
   --> /home/semar/.local/share/cargo/git/checkouts/zexe-f74c42809fa6cfe1/6ec533f/algebra-core/src/curves/models/short_weierstrass_jacobian.rs:629:41
    |
629 |             self.y = r * &(v - &self.x) - (s1 * &j).double_in_place();
    |                                         ^ no implementation for `<P as ModelParameters>::BaseField - &mut <P as ModelParameters>::BaseField`
    |
    = help: the trait `Sub<&mut <P as ModelParameters>::BaseField>` is not implemented for `<P as ModelParameters>::BaseField`
help: consider further restricting the associated type
    |
573 |     fn add_assign(&mut self, other: &'a Self) where <P as ModelParameters>::BaseField: Sub<&mut <P as ModelParameters>::BaseField> {
    |                                               ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

For more information about this error, try `rustc --explain E0277`.
error: could not compile `algebra-core` due to 6 previous errors
warning: build failed, waiting for other jobs to finish...
error: build failed

I'm on arch linux 5.16.11-arch1-1. I just cloned and ran cargo build --release and got this output

$ cargo --version
cargo 1.57.0 (b2e52d7ca 2021-10-21)
$ rustc --version
rustc 1.57.0 (f1edd0429 2021-11-29)
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant