2017-06-04 148 views
0

我已经使用opam按说明成功安装了frama-c-Silicon,但是当我想升级到磷时,opam不起作用。无法使用opam安装frama-c-phosphorus

我使用的命令:

OPAM销附加邮资-C下载/邮资-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. 

回答

2

我认为您的问题与使用OPAM本身(特别是)相比更多地与Frama-C相关。

此行特别指出您有pin定义一个邮资-C包在你的OPAM安装:

[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是可用之前。您应该删除它,然后通过“标准”(非固定)的方式安装它还原到默认配置:

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的约束存在问题。

磷释放版本号为20170501。除此之外的任何其他意味着你不会得到磷,但是一个旧版本。这不值得继续:问题必须事先得到解决。

+0

这工作!但我已经从源代码安装!谢谢! – user5784597