|Anonymous | Login | Signup for a new account||2018-01-23 08:42 CET|
|Main | My View | View Issues | Change Log | Roadmap | Repositories|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0002335||Frama-C||Kernel||public||2017-12-07 12:17||2017-12-29 12:03|
|Priority||normal||Severity||minor||Reproducibility||have not tried|
|Status||closed||Resolution||unable to reproduce|
|Platform||Linux x86_64||OS||Fedora||OS Version||26|
|Target Version||Fixed in Version|
|Summary||0002335: opam upgrade/update failed to update frama-c|
|Description||opam refuses to upgrade from Frama-C Phosphorus to Sulfur because of dependency issues with the legacy frama-c-base package.|
|Steps To Reproduce||(previous version of frama-c installed with opam)|
|Additional Information||Workaround: opam remove frama-c-base|
|Tags||No tags attached.|
Thanks for the report.
Indeed this is an issue, and due to the handling of constraints by OPAM, it is not obvious how to prevent this from happening.
Even trying to reproduce it is not very easy, because OPAM easily gets confused by the constraints on Fedora, which does not have the aspcud solver.
For instance, I tried upgrading from 20170501 to 20171101 on OCaml 4.03.0, and OPAM wants to downgrade my ocamlfind (something completely unrelated to the Frama-C packages, which do not impose any constraints on it). This step fails, which forces me to manually retry and install frama-c.20171101, but in the end it works.
Could you please confirm if, with the mentioned workaround (manually removing frama-c-base), you were able to install the newest Frama-C?
If so, then it is likely just an OPAM issue, and it cannot be resolved currently (OPAM 2.0 is supposed to fix this in the future). Otherwise, please include your OCaml version, so that we can take a look into it.
I confirm that after removing frama-c-base with "opam remove frama-c-base" I have installed the newest Frama-C (Sulfur-20171101) with "opam install frama-c".
Here are the versions of opam and ocaml I use:
$ opam --version
$ ocaml --version
The OCaml toplevel, version 4.05.0
Ok, thanks for the version number and for confirming the workaround.
I tried reproducing it on my machine, by installing frama-c.20170501 on an OCaml 4.05.0, and then installing frama-c.20171101, and it worked, even though OPAM downgraded my ocamlfind and did some weird stuff. I had already updated my OPAM, so I could not obtain the exact same OPAM state that you had.
As I expected, this is very likely due to issues with constraint solving in OPAM and depends entirely on the current OPAM state in the machine, plus the available solvers, which means it is nearly impossible to reproduce and it's not fixable just by changing constraints in the Frama-C opam file.
In the long term, hopefully the new version of OPAM will prevent this from happening, and short term your workaround works fine, so I'll close the issue.
We'll consider adding the extra step to Frama-C's installation instructions, in case the new OPAM does not arrive soon enough.
|2017-12-07 12:17||cdelord||New Issue|
|2017-12-07 15:56||yakobowski||Assigned To||=> maroneze|
|2017-12-07 15:56||yakobowski||Status||new => assigned|
|2017-12-07 16:13||maroneze||Note Added: 0006479|
|2017-12-08 11:44||cdelord||Note Added: 0006480|
|2017-12-08 14:16||maroneze||Note Added: 0006482|
|2017-12-08 14:16||maroneze||Status||assigned => resolved|
|2017-12-08 14:16||maroneze||Resolution||open => unable to reproduce|
|2017-12-29 12:03||signoles||Status||resolved => closed|
|Copyright © 2000 - 2018 MantisBT Team|