Frama-C Bug Tracking System

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0002335Frama-CKernelpublic2017-12-07 12:172017-12-29 12:03
Assigned Tomaroneze 
PrioritynormalSeverityminorReproducibilityhave not tried
StatusclosedResolutionunable to reproduce 
PlatformLinux x86_64OSFedoraOS Version26
Product Version 
Target VersionFixed in Version 
Summary0002335: opam upgrade/update failed to update frama-c
Descriptionopam 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)
opam update
opam upgrade
Additional InformationWorkaround: opam remove frama-c-base
TagsNo tags attached.
Attached Files

- Relationships

-  Notes
maroneze (developer)
2017-12-07 16:13

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.
cdelord (reporter)
2017-12-08 11:44

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
maroneze (developer)
2017-12-08 14:16

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.

- Issue History
Date Modified Username Field Change
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
Powered by Mantis Bugtracker