Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Please don't require exact version of zstd-safe #147

Closed
nazar-pc opened this issue Mar 16, 2022 · 0 comments · Fixed by #148
Closed

Please don't require exact version of zstd-safe #147

nazar-pc opened this issue Mar 16, 2022 · 0 comments · Fixed by #148

Comments

@nazar-pc
Copy link
Contributor

Semantic versioning is a good thing, but zstd causes problems by using it incorrectly.

We were updating some dependencies and got into this awkward situation:

error: failed to select a version for `zstd-safe`.
    ... required by package `zstd v0.9.0+zstd.1.5.0`
    ... which satisfies dependency `zstd = "^0.9.0"` of package `sp-maybe-compressed-blob v4.1.0-dev (https://github.com/paritytech/substrate?rev=e6def65920d30029e42d498cb07cec5dd433b927#e6def659)`
    ... which satisfies git dependency `sp-maybe-compressed-blob` (locked to 4.1.0-dev) of package `polkadot-node-collation-generation v0.9.13 (https://github.com/subspace/subspace?rev=042302ed2c86abd765be56c93b6f3ee535a1573a#042302ed)`
    ... which satisfies git dependency `polkadot-node-collation-generation` (locked to 0.9.13) of package `subspace-service v0.1.0 (https://github.com/subspace/subspace?rev=042302ed2c86abd765be56c93b6f3ee535a1573a#042302ed)`
    ... which satisfies git dependency `subspace-service` (locked to 0.1.0) of package `subspace-desktop v0.2.1 (/Users/ozgunozerk/IdeaProjects/subspace-desktop/src-tauri)`
versions that meet the requirements `=4.1.1` are: 4.1.1+zstd.1.5.0

all possible versions conflict with previously selected packages.

  previously selected package `zstd-safe v4.1.4+zstd.1.5.2`
    ... which satisfies dependency `zstd-safe = "=4.1.4"` of package `zstd v0.10.0+zstd.1.5.2`
    ... which satisfies dependency `zstd = "^0.10"` of package `tauri-codegen v1.0.0-rc.3`
    ... which satisfies dependency `tauri-codegen = "^1.0.0-rc.3"` of package `tauri-macros v1.0.0-rc.3`
    ... which satisfies dependency `tauri-macros = "^1.0.0-rc.3"` of package `tauri v1.0.0-rc.4`
    ... which satisfies dependency `tauri = "^1.0.0-rc.4"` of package `subspace-desktop v0.2.1 (/Users/ozgunozerk/IdeaProjects/subspace-desktop/src-tauri)`

failed to select a version for `zstd-safe` which could resolve this conflict

As you can see, somewhere in dependencies there are both zstd 0.10 and zstd 0.9, which is fine. But they enforce specific patch versions of zstd-safe as =4.1.1 and =4.1.4. Since both have the same major version 4, Cargo will refuse to include both, but it also can't find a version that will satisfy both either, making it impossible to actually upgrade software without upstream changes.

Please consider replacing current =5.0.1 with just 5.0.1 to avoid this issue going forward.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant