特立独行的Frama-C Gui无法正常工作

时间:2014-04-28 13:06:47

标签: ocaml osx-mavericks frama-c

是否有人在小牛队中安装了Frama-C? 因为我无法安装它或者不知道如何安装它(Gui版本)!

我已经在我的电脑上安装了ocaml,但对于Gui版本,我需要安装这些库:Gtk,GtkSourceView,GnomeCanvas和Lablgtk2。

所以我看到了之前的帖子并且做到了:

export PKG_CONFIG_PATH=/opt/local/lib/pkgconfig
sudo port install opam
opam init
  Y
eval `opam config env`
sudo port install gtksourceview2 lablgtk2 ocaml-ocamlgraph
opam install frama-c

我在使用frama-c制作“make”时遇到了问题:

Ocamlc       src/logic/property_status.cmo
File "src/logic/property_status.ml", line 1444, characters 4-2027:
Error: Signature mismatch:
   ...
   Values do not match:
     val vertex_attributes :
       v ->
       [> `Color of int
        | `Label of string
        | `Shape of [> `Box | `Diamond ]
        | `Style of [> `Bold | `Filled ] list
        | `Width of float ]
       list
   is not included in
     val vertex_attributes :
       V.t -> Graph.Graphviz.DotAttributes.vertex list
   File "src/logic/property_status.ml", line 1479, characters 16-33:
     Actual declaration
make: *** [src/logic/property_status.cmo] Error 2

我怎么能解决这个问题?

3 个答案:

答案 0 :(得分:4)

我使用opam和自制软件在特立独行时成功安装了Frama-c neon(和Gui)。

这是我的演练。 (感谢上面的提示)

1)安装自制软件

$ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"

2)安装opam:

$ brew install opam
$ opam init

(我必须使用f选项修改.profile而不是.bashrc)

$ eval `opam config env`

3)安装所有依赖项

$ brew install gtk+
$ brew install gtksourceview
$ brew install libgnomecanvasmm libgnomecanvas
$ brew install lablgtk

4)安装Frama-c

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ opam install frama-c

如果您更喜欢使用macport安装依赖项,请按照说明here

将PKG_CONFIG_PATH更改为/ opt / X11 / lib / pkgconfig。

希望这个帮助

答案 1 :(得分:1)

我已经使用brew成功安装frama-c Neon和gui on mavericks来获取所有依赖项并使用http://frama-c.com/download.html中的源代码。如果您尝试使用brew执行此操作,则应该从此存储库(https://github.com/mht208/homebrew-formal)安装lablgtk,并且仅在所有其他依赖项之后安装,因此使用gui安装的命令将是(在源文件夹中):

  brew install ocaml
  brew install gtk
  brew install gtksourceview
  brew install gnomecanvasmm gnomecanvas
  brew tap mht208/formal
  brew install lmht208/formal/lablgtk -with-gnomecanvas -with-gtksourceview2 
  ./configure
  make

你也可以用opam安装ocamlgraph,你可以编译Zarith并安装在你的系统中。

答案 2 :(得分:0)

Graph.Graphviz来自OCamlGraph。每个版本的两个最新版本似乎都有incompatibility

您必须在frama-c库中添加版本约束,或者更改Style属性以获得多态变体集的列表。

编辑 -

你不需要通过端口安装ocamlgraph,你也应该通过opam安装它。