我正在尝试安装 STAC 来执行污点分析。我已经安装了 STAC 的必要条件,即 frama-c。然后我从 http://code.google.com/p/tanalysis/ 结帐 svn
当我从 tanalysis 目录中运行 make 时。它遇到了一些难以为 Cil 包含库的问题。
Unbound Cil
我通过添加修复路径
-I /usr/local/share/frama-c/lib -I /usr/local/lib/ocaml/3.12.1/cil/
但是当我再次运行make时,它给出了一个错误
b/ocaml/3.12.1/cil/ -I /usr/lib/frama-c/ -c ptranal.ml
File "ptranal.ml", line 135, characters 36-43:
Error: This expression has type Cil_types.lhost * Cil_types.offset
but an expression was expected of type
Cil.lval = Cil.lhost * Cil.offset
make: *** [ptranal] Error 2
请帮助我构建 STAC 并进行污点分析。
最佳答案
看起来像是 STAC 的 Makefile 中的一个错误。
CFLAGS=-I $(FRAMAC_SHARE)/lib -c
应替换为(未测试)
FRAMAC_LIBDIR:=$(shell frama-c -print-lib-path)
CFLAGS=-I $(FRAMAC_LIBDIR) -c
FRAMAC_LIBDIR 绝对没有理由应该是 FRAMAC_SHARE 的子目录。
关于ubuntu - 在 Ubuntu 上安装 STAC,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12656461/