Skip to content
This repository was archived by the owner on Apr 18, 2025. It is now read-only.
This repository was archived by the owner on Apr 18, 2025. It is now read-only.

Dependencies version conflict error when import zkevm-circuits to local project #1436

@timimm

Description

@timimm

What command(s) is the bug in?

cargo run

Describe the bug

I want to use some gadgets and utils from zkevm-circuits package in my PoC project. Once I added it to the Cargo.toml like this:

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

[dependencies]
zkevm-circuits = { git = "https://github.com/scroll-tech/zkevm-circuits" }

then simply ran the hellow world demo in main.rs, it panic with error info:

error: failed to select a version for `halo2_proofs`.
    ... required by package `poseidon-circuit v0.1.0 (https://github.com/scroll-tech/poseidon-circuit.git?branch=main#d52fa404)`
    ... which satisfies git dependency `hash-circuit` of package `zkevm-circuits v0.14.0 (https://github.com/scroll-tech/zkevm-circuits#e19504c0)`
    ... which satisfies git dependency `zkevm-circuits` of package `PoC v0.1.0 (/Users/xor0v0/PoC)`
versions that meet the requirements `*` are: 0.2.0

the package `poseidon-circuit` depends on `halo2_proofs`, with features: `parallel_syn` but `halo2_proofs` does not have these features.

failed to select a version for `halo2_proofs` which could resolve this conflict

It seems like the repo has multiple dependencies using incompatible versions of halo2_proofs.

Concrete steps to reproduce the bug. If it's able reproduce via testool, please share test_id from jenkins report

  1. Adding dependency in Cargo.toml:
[package]
name = "PoC"
version = "0.1.0"
edition = "2021"

[dependencies]
zkevm-circuits = { git = "https://github.com/scroll-tech/zkevm-circuits" }
  1. Run hello world demo
cargo run

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