在Mac OS X上安装Frama-C

时间:2013-08-08 04:13:11

标签: macos frama-c

如何在Mac上安装当前的Frama-C版本及其先决条件?

我有一台运行Mac OS X 10.6.8的笔记本电脑和一台运行Mac OS X 10.7.5的台式机 我可以安装软件。我也可以使用机器实验室 我们的技术支持人员将安装Mac OS X 10.8 如果我问得好。

我有一个对程序分析感兴趣并需要一些东西的学生 我们有一个理解和增加的战斗机会。我已经 了解Frama-C,另一所大学的同事推荐了它。

我之前曾尝试过安装Frama-C而且失败了。同事 评论说他有同样的经历。好吧,时代变了。所以我参观了 Frama-C网站比以往任何时候都更令人印象深刻,更加热衷于此 着想它。

frama-c.com下载页面没有指向任何二进制文件的链接 任何平台的当前(Flourine 3)版本。安装链接 指令带我到一个页面,说下载自动安装程序。 什么是自动安装程序?

有旧版Mac OS X的说明,但遵循它们 没用;根据指示生成一个先决条件 下一个先决条件(gtksourceview)不会安装的状态。

当然我检查了旧版本,我发现有氮气 适用于Mac OS X Leopard的版本,但“请以root身份解压缩归档/” 要求我执行不可能的事情。我没有root帐户 永远不会给一个(机器都属于大学)。它是 完全可以在任何你喜欢的地方安装gcc和clang;为什么 Frama-C想要进入/?

3 个答案:

答案 0 :(得分:5)

除了Pascal的答案之外,您还可以查看opam,它是OCaml应用程序的源包管理器。它似乎在MacOS X上运行,并且有Frama-C的氧气和氟气包装。

答案 1 :(得分:4)

所有Frama-C二进制包都希望安装在/(确切地说,在/ usr / local / Frama-C中),因为Frama-C使用GTK +和各种GTK +相关的库,这些库从未被设计为从除了固定的位置。它们从编译时硬编码的路径加载配置文件和资源。 GCC和Clang安装在任何地方,因为他们不依赖于GTK +。与它们一样,Frama-C的命令行版本可以通过列出here列出的各种环境变量进行重定位。

请注意,要利用二进制包,您只需要一个指向/ usr / local / Frama-C的符号链接到您真正提取文件的位置,如果您的管理员可以授予您。二进制包仅适用于一个OS X版本。对于官方网站提供的软件包,此版本通常为10.6(Snow Leopard)。


我已经停止制作Frama-C二进制包,原因有两个:

  1. 通过删除最近两个OS X版本中的硬件配置的功能和支持,Apple以我没有时间处理的方式分散了OS X格局。你在提问中提到10.6,10.7和10.8。我还有Mac分别运行10.6,10.7和10.8。它们都是不兼容的(当试图构建包含编译器的软件包时)。
  2. 现在,我参与创建一个为感兴趣的工业用户提供基于Frama-C的静态分析的初创公司的时间要少得多。
  3. 这就是说,开源高级研究原型Frama-C继续开发和维护,并且仍然是一个很好的试验平台。您可以通过两种方式在Mac上安装没有root访问权限的Frama-C从你已经尝试过的:

    1. 仅安装命令行版本。然后唯一的依赖是OCaml编译器的最新版本。 Frama-C的configure将检测到您没有GTK库,并且不会尝试使用它们。对于最近的OCaml +最新的Frama-C,安装最多需要20分钟。
    2. 在虚拟机中安装最新的Linux发行版。使用该发行版的包管理器获取所有GTK +依赖项。如果发行版的OCaml包足够新,请使用它然后使用lablgtk-2包,否则,从源代码编译OCaml然后编译lablgtk-2。然后编译Frama-C。
    3. 对于Fluorine,支持最早的OCaml版本是3.12.1。

答案 2 :(得分:1)

使用macports:

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