【问题标题】:Frama-C Gui on mavericks not working小牛队的 Frama-C Gui 不起作用
【发布时间】:2014-07-17 22:23:15
【问题描述】:

有人在 Mavericks 上安装了 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

我该如何解决这个问题?

【问题讨论】:

    标签: ocaml osx-mavericks frama-c


    【解决方案1】:

    我刚刚使用 opam 和 homebrew 在 maverick 上成功安装了 Frama-c neon (with 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
    

    如果您更喜欢使用 macports 安装依赖项,请将 PKG_CONFIG_PATH 更改为 /opt/X11/lib/pkgconfig,如 here 所述

    希望有帮助

    【讨论】:

    • 提示:如果您不想要所有这些依赖项(或由于某种原因安装失败),请尝试安装 frama-c-base
    【解决方案2】:

    我已经成功地使用 brew 在 mavericks 上安装了带有 gui 的 frama-c Neon,以获取所有依赖项并使用 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 并安装在您的系统中。

    【讨论】:

    • 谢谢! :) 我在 Mavericks 上安装了 Carbon 版本,这就是为什么我现在不需要它 Neon 版本!但如果它有效,我真的很感谢你对我和其他想要在小牛上安装它的人的回答! :)
    【解决方案3】:

    Graph.Graphviz 来自OCamlGraph。两个最新版本之间似乎有一个incompatibility

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

    编辑-

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

    【讨论】:

    • 我该怎么做呢? ://
    • @Damiii,您正在使用port 命令安装几个库。您可以尝试通过 opam 安装它们吗?使用opam list -a| grep name 获取合适的 opam 包的名称
    • @Kakadu 我相信 opam 适用于 OCaml 库。我错了吗?在这种情况下,在开始安装 OCaml 绑定库之前使用 MacPorts 的 port 安装所有 Gtk 依赖项是完全正常的。另一方面,使用port 安装ocaml-ocamlgraph 可能无法与opam 很好地混合使用,(并且MacPorts 的软件包不是最新的,无法提供与Frama-C 兼容的OCamlgraph 软件包. 最好不要安装它,让 Frama-C 使用包含的 OCamlgraph 快照)。
    • 所以我做了这些安装: opam install lablgtk opam install conf-gnomecanvas opam install gtk-light opam install lablgtk-extras 并没有改变任何东西:/
    • "...让 Frama-C 使用包含的 OCamlgraph 快照)。"哪个是?我从哪里得到那个?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多