-
Notifications
You must be signed in to change notification settings - Fork 27
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
Fix misleading error message #390
base: main
Are you sure you want to change the base?
Conversation
9cd5075
to
aa73915
Compare
Note that I'm still not satisfied that I understand why changing the order of the packages causes the diagnostics to change when the solver fails to find a solution. The docs don't mention the order of package names holding any meaning and I haven't dug through the 0install source to find out why this works yet, but it seems to fix the immediate problem. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As far as I know the order of the packages matters in as much as 0install goes through them in priority order when picking up a solution.
So it could be that it wants to pick up the compiler before the non-dune package but it fails so it attributes the failure to the compiler as it cannot pick that one then, instead of the package. But this is just an attempt to explain it and I wish the solver wouldn't need this.
Nice workaround, thanks!
Oh, I noticed that the CI failed, because it seems to have picked a beta compiler. That is a legitimate regression and likely to affect users. So maybe the code needs to be aware of the |
Rather than demoting packages with avoid-version flag, attempt to run the solver with these packages excluded, and then re-run the solver allowing avoid-version packages to be included only if the initial solve fails.
aa73915
to
a3f9c9d
Compare
I've changed it so it now runs the solver with |
I feel like excluding the The thing I wonder about is, why does it even pick a compiler from the We do a lot of input processing to get the solver to do what we want it to do (already now, the sorting code is basically implementing |
Good point. I think the correct solution here is for |
Fixes #385