Skip to content

Cannot compile main #139

@leonardoalt

Description

@leonardoalt

When I try to compile (cargo check) the current main branch, I get

error[E0432]: unresolved import `crate::QuinticExtensionData`
  --> /home/leo/.cargo/git/checkouts/plonky3-aad943b14b27c697/87bad26/monty-31/src/x86_64_avx512/packing.rs:31:5
   |
31 |     QuinticExtensionData, RelativelyPrimePower, halve_avx512,
   |     ^^^^^^^^^^^^^^^^^^^^
   |     |
   |     no `QuinticExtensionData` in the root
   |     help: a similar name exists in the module: `BinomialExtensionData`

This seems to come from https://github.com/TomWambsgans/Plonky3/tree/lean-multisig#, which doesn't compile when AVX is enabled, though I don't know where leanMultisig enables AVX by default for P3.

RUSTFLAGS="-C target-feature=+avx512f" cargo +1.90 check
    Checking p3-field v0.3.0 (/home/leo/devel/plonky3-lean/field)
    Checking criterion v0.7.0
error[E0425]: cannot find value `WIDTH` in this scope
   --> field/src/packed/interleaves.rs:177:31
    |
177 |             transmute::<[u32; WIDTH], _>([
    |                               ^^^^^ not found in this scope
    |
help: you might be missing a const parameter
    |
175 |         const INTERLEAVE1_INDICES<const WIDTH: /* Type */>: __m512i = unsafe {
    |                                  +++++++++++++++++++++++++

For more information about this error, try `rustc --explain E0425`.
error: could not compile `p3-field` (lib) due to 1 previous error
warning: build failed, waiting for other jobs to finish...

Note that upstream Plonky3 does compile with the same command. I wanted to open an issue in the P3 fork instead, but it doesn't accept issues, so opening it here instead.

I assume the issue needs to be fixed in the P3 fork repo separately, but this repo could also wrap that logic so that the error doesn't propagate for users that do have AVX512.

OS: Arch Linux
Arch: x84_64 AVX512 AVX2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions