Skip to content

Build failure: p256/p384 v0.14.0-rc.8 incompatible with elliptic-curve v0.14.0-rc.31 #192

@L-jasmine

Description

@L-jasmine

Problem

When depending on `rustls-rustcrypto`, the build fails due to incompatible version constraints in the dependency tree:

Error:
```
error[E0277]: the trait bound `for<'a> primeorder::AffinePoint: MulVartime<&'a Scalar>` is not satisfied
--> p256-0.14.0-rc.8/src/arithmetic.rs:24:24
```

Root Cause

The dependency chain pulls incompatible versions:

  • `rustls-rustcrypto` → `ecdsa v0.17.0-rc.17` → `elliptic-curve v0.14.0-rc.31`
  • `rustls-rustcrypto` → `p256 v0.14.0-rc.8` (requires `elliptic-curve` v0.14.0-rc.29 API)

`p256 v0.14.0-rc.8` and `p384 v0.14.0-rc.8` were released against `elliptic-curve v0.14.0-rc.29`, but `ecdsa v0.17.0-rc.17` pulls `elliptic-curve v0.14.0-rc.31` which has breaking API changes.

Working Configuration

Using `ecdsa v0.17.0-rc.16` (which pulls `elliptic-curve v0.14.0-rc.29`) works correctly.

Dependency Tree (failing)

```
elliptic-curve v0.14.0-rc.31
├── ecdsa v0.17.0-rc.17
│ ├── p256 v0.14.0-rc.8 ← incompatible with rc.31
│ └── p384 v0.14.0-rc.8 ← incompatible with rc.31
```

Suggested Fix

  1. Pin `ecdsa` to `0.17.0-rc.16` in `Cargo.toml` until `p256`/`p384` are updated
  2. Or update `p256`/`p384` to versions compatible with `elliptic-curve` rc.31

Environment

  • Rust: 1.77+
  • Commit: `aecee37208823f6a4ffabeb7c0a1227015b131cb`

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