由于试验需要,准备配置环境包括KLEE和Z3,KLEE网给出三种安装方式
1. dockcer image(fastest)
2. LLVM 3.4 (recommended)
3. LLVM 2.9
看了下感觉docker安装要的步骤和磁盘空间比较大就首先选择了LLVM3.4,
其实这是个坑……
1 首先遇到g++安装的与gcc版本依赖问题,更新了源修复了
2.要使用llvm-gcc,在安装了llvm后并没有,单独安装4.8版本。随后编译程序出现诡异的internal
compile
error,gcc可以通过llvmgcc不行。遇到条件语句就不行,google未找到原因。(也许应该试用clang代替llvm-gcc-4.8,klee官网说llvm3.4
要用clang…… 然而tutorial页并没有说明 T_T)
3. 换用llvm2.9版本,klee未能成功build
4. 最终用docker安装成功
1.llvm是个编译器框架,可以灵活替换前端后端,llvm-gcc可生成llvm的bitcodde,但默认以gcc方式编译c
2.
docker轻量级虚拟机,空间不大,安装方便。images维护的不错,klee的官方image可以下载。docker实现的并不是完全硬件到系统的虚拟,而只有运行环境的独立性(linux
namespace),可以
docker build
docker run
docker ps
docker start/rm/status
!!!!加sudo 有时需要
启动image后文件系统独立,可安装独立appilication