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

Error reporting: Repeated direct dependency with incompatible versions #149

Open
zanieb opened this issue Nov 10, 2023 · 4 comments
Open

Comments

@zanieb
Copy link
Member

zanieb commented Nov 10, 2023

Example at https://github.com/zanieb/pubgrub/blob/zanie/examples/examples/unsat_direct_dependency_conflict.rs

When the root package depends multiple versions of the same package e.g. foo==1.0.0 and foo==2.0.0, the PubGrub user is required to merge versions via intersection to provide a single package and version pair. This results in a requirement on an empty set giving the unhelpful error message:

root 0.0.0 depends on foo ∅

Ideally the solver would accept multiple versions per package so the incompatibility can be tracked in the derivation tree.

Ideally the reporter would display both provided versions with a note that they are incompatible

Because root depends on foo==1.0.0 and root depends on foo==2.0.0 which cannot be satisfied, version solving failed.
@zanieb zanieb changed the title Error reporting: Repeated dependency with incompatible versions Error reporting: Repeated direct dependency with incompatible versions Nov 10, 2023
@zanieb
Copy link
Member Author

zanieb commented Nov 10, 2023

https://github.com/pubgrub-rs/pubgrub/tree/RPITIT is proving helpful for this — that's what I used in our prototypes to produce the "ideal" message.

@konstin
Copy link
Member

konstin commented Jun 7, 2024

Are we still seeing ∅-errors?

@zanieb
Copy link
Member Author

zanieb commented Jun 8, 2024

We shouldn't be seeing null sets in errors. I'm not sure about the direct dependency conflict thing.

@zanieb
Copy link
Member Author

zanieb commented Jun 8, 2024

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

No branches or pull requests

2 participants