2017-06-04 154 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