-
Notifications
You must be signed in to change notification settings - Fork 2.6k
Closed
Labels
A-dependency-resolutionArea: dependency resolution and the resolverArea: dependency resolution and the resolverA-lockfileArea: Cargo.lock issuesArea: Cargo.lock issuesC-bugCategory: bugCategory: bug
Description
Problem
On the first run, cargo fails to select a version. on any following run it succeeds.
Updating crates.io index
error: failed to select a version for `openblas-src`.
... required by package `blas-src v0.2.1`
... which is depended on by `ndarray v0.13.1`
... which is depended on by `ndarray-linalg v0.12.0`
... which is depended on by `verbug v0.1.0 (/tmp/verbug)`
versions that meet the requirements `^0.6` are: 0.6.1, 0.6.0
the package `openblas-src` links to the native library `openblas`, but it conflicts with a previous package which links to `openblas` as well:
package `openblas-src v0.9.0`
... which is depended on by `verbug v0.1.0 (/tmp/verbug)`
failed to select a version for `openblas-src` which could resolve this conflict
Steps
- clone https://github.com/M1cha/rust-verbug
cargo build
- this will failcargo build
- this will succeed
if you want to create your own project:
- create a new (binary) project
- add these dependencies:
blas-src = { version = "*", features = ["openblas"] }
openblas-src = { version = "*", features = ["static"] }
cargo build
- add this dependency:
ndarray-linalg = "0.12"
cargo build
- this will failcargo build
- this will succeed
Notes
You don't have to actually finish building. the part where cargo regenerates Cargo.lock
is important. (building openblas takes a long time)
Output of cargo version
:
cargo 1.43.0 (2cbe904 2020-05-03), installed using rustup.
Metadata
Metadata
Assignees
Labels
A-dependency-resolutionArea: dependency resolution and the resolverArea: dependency resolution and the resolverA-lockfileArea: Cargo.lock issuesArea: Cargo.lock issuesC-bugCategory: bugCategory: bug