我已按照说明使用opam成功安装了frama-c-Silicon,但是当我想升级到Phosphorus时,opam不起作用。
我使用了命令:
它说:opam pin添加frama-c下载/ frama-c-Phosphorus20170501.tar.gz
[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.
答案 0 :(得分:2)
我认为您的问题更多地与OPAM本身(特别是opam pin
)的使用相关,而不是与Frama-C相关。
这一行特别表明您在OPAM安装中pin
了一个Frama-C包:
[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.
只有在OPAM中提供Phosphorus软件包之前,才需要这样做。您应该通过删除它然后通过“标准”(非固定)方式安装它来恢复默认配置:
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
请注意,如果仍然显示消息,例如:
The following actions will be performed:
∗ install frama-c-base 20161101* [required by frama-c]
这可能表明OPAM的限制存在问题。
Phosphorus版本号为20170501
。除此之外的任何东西意味着你不会得到Phosphorus,而是旧版本。不值得继续:这个问题必须事先解决。