user5784597
user5784597

Reputation: 1

could not install frama-c-Phosphorus using opam

I had successfully installed frama-c-Silicon using opam by the instructions, but when I want to upgrade to Phosphorus, opam does not work.

I used the command:

opam pin add frama-c Downloads/frama-c-Phosphorus20170501.tar.gz

it said that:

[NOTE] Package frama-c is already path-pinned to
       /home/talos/Downloads/frama-c-Phosphorus-20170501.tar.gz.
       This will erase any previous custom definition.
Proceed ? [Y/n] y

[frama-c] /home/talos/Downloads/frama-c-Phosphorus-20170501.tar.gz synchronized

frama-c needs to be installed.
The following actions will be performed:
  ∗  install frama-c-base 20161101*           [required by frama-c]
       Why3 can be used by the WP plug-in for running additional automatic solvers
       Coq can be used with the WP plug-in for proving interactively proof obligations
  ∗  install frama-c      20161101*
       Alt-Ergo Graphical Interface can be used by the WP plug-in
===== ∗  2 =====
Do you want to continue ? [Y/n] y

=-=- Gathering sources =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[frama-c.20161101] /home/talos/Downloads/frama-c-Phosphorus-20170501.tar.gz already up-to-date
[frama-c-base.20161101] /home/talos/Downloads/frama-c-Phosphorus-20170501.tar.gz already up-to-date

=-=- Processing actions -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#=== ERROR while installing frama-c-base.20161101 =============================#
These patches didn't apply at /home/talos/.opam/system/build/frama-c-base.20161101:
  - 4.05-support.patch



=-=- Error report -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
The following actions were aborted
  ∗  install frama-c 20161101
The following actions failed
  ∗  install frama-c-base 20161101
No changes have been performed
[NOTE] Pinning command successful, but your installed packages may be out of
       sync.

Upvotes: 0

Views: 130

Answers (1)

anol
anol

Reputation: 8953

I think your problem is related more to the usage of OPAM itself (opam pin in particular) than Frama-C.

This line in particular indicates that you have pinned a Frama-C package in your OPAM installation:

[NOTE] Package frama-c is already path-pinned to
       /home/talos/Downloads/frama-c-Phosphorus-20170501.tar.gz.
       This will erase any previous custom definition.

This was only necessary before the Phosphorus package was available in OPAM. You should revert to a default configuration by removing it and then installing it via the "standard" (non-pinned) way:

opam pin remove frama-c
# just in case, you may want to unpin the frama-c-base package, if it is pinned
opam pin remove frama-c-base
# then install the package normally; you may need to update OPAM to make
# sure the package is available in your repository
opam update
opam install frama-c

Note that, if you still have a message displayed such as:

The following actions will be performed:
  ∗  install frama-c-base 20161101*           [required by frama-c]

That might indicate an issue with OPAM's constraints.

The version number of the Phosphorus release is 20170501. Anything other than that means you won't get Phosphorus, but an older version. It is not worth continuing: the issue must be fixed beforehand.

Upvotes: 2

Related Questions