-
Notifications
You must be signed in to change notification settings - Fork 365
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
Cannot install irmin-unix.1.3.3 in a ocaml-base-compiler.4.05.0 switch #4203
Comments
The solver take too much time find a solution.
To reduce this time, you can also fix some dependencies version. |
Thanks @rjbou for your quick reply and suggestion! actually I am a bit puzzled to notice this behavior, given the installation attempt was done in a fresh switch… (it didn't work either in a non-empty switch anyway) Do you think we can find a better solution than this workaround?
|
We have some upcoming solver improvements in a future version of opam that will resolve these, but the current workaround in a released opam is indeed to tighten the specifications. You could have a go at tightening the bounds on some of the dependencies and submitting that to opam-repository, where we could merge it as a workaround. (for historical versions of packages, tightening bounds is no big deal). As a higher level question, is there any reason you can't use irmin.2.1 for learn-ocaml? There are significant improvements from the last few years that you'll miss with irmin.1.x. cc @samoht @craigfe |
Thanks @avsm for your feedback!
the main reason was just that learn-ocaml is tied to ocaml 4.05.0 currently (notably as its ppx codebase relies on the 4.05 AST) so a possible strategy would have been to add irmin.1.4 for now to address ocaml-sf/learn-ocaml#348, then later migrate to irmin 2.1 (as soon as the ocaml-version is bumped) Otherwise, another solution (that would avoid this irmin migration) would be to use irmin 2.1 from now on, making learn-ocaml master require, say, ocaml @yurug do you have an opinion / objection on this idea? |
Thanks for providing a failure case, and sorry for the trouble. I'll record it for our solver benches. |
Cudf file for the solver request: https://gist.github.com/AltGr/7d7bc4544dc53a1e28f52b25ac80d282 |
Using the z3 solver variant, the resolution succeeds in 15s. You need opam compiled with z3 installed ( |
href: ocaml/opam#4203 (comment) With this patch, time bash -c 'yes n | opam install irmin-unix.1.3.3' in an ocaml-base-compiler.4.05.0 switch only takes 17.9s (i/o ~10mn).
Hi @AltGr
OK! so I've just opened PR ocaml/opam-repository#16508 following @avsm's suggestion. FYI after the proposed pinnings, the constraints resolution with the default solver only takes 17.9s:
|
Thanks for the feedback! |
This is hopefully improved both with opam 2.1.0 and with the recompiled solver in opam 2.0.9. It was also mitigated in opam-repository. Please re-open if not! |
With @Aleridia, we try to install irmin in a OCaml 4.05.0 switch, but we get the following issue:
Any ideas? some other infos I should provide to make this report more complete?
The text was updated successfully, but these errors were encountered: