-
Notifications
You must be signed in to change notification settings - Fork 349
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
Cycle after resolution of compiler upgrade (2.1.0~beta2) #4357
Comments
Fun fact: this doesn't happen without The algorithm to delay package removals handles the case of no-op removals, in order to optimise the delay: if a package removall/reinstall does nothing, it's not required to do all the cascading removals before reinstalling it. Supposing If fixing this optimisation, we should double-check that package configuration files and |
Fixes ocaml#4357, but not the fact that the optim is generally not applied.
Corrected action graph after #4358 |
Ideally, we should compile the new compiler before doing any removals, but the current fix keeps a conservative approach and just avoids the issue. |
The question is more general though: if we have a conflict between A and B, do we allow B to be built while A is still installed ? I am pretty sure that would break some packages, even if that's exactly what we do for different versions of the same package... |
I believe this is a bug in the function that alters the action graph in orde to push uninstall to the latest possible moment (
OpamCudf.ActionGraph.explicit
).; logging the case here so we can reproduce later.repo revision: 3c21183
Base action graph
Expanded action graph
Presumably, the edge from
build ocaml-base-compiler.4.11.1
toremove ocaml.4.10.0
was wrongly added by this function.The text was updated successfully, but these errors were encountered: