Bitblaze环境搭建之vine的编译和安装
来源:互联网 发布:软件回归测试 编辑:程序博客网 时间:2024/06/08 14:29
安装环境为ubuntu 12.04 LTS(32位和64位皆可)
1.在对vine源码进行编译之前需要安装一些库文件和编译器,步骤比较繁琐,但这些步骤已经被写在了脚本中,我们可以通过执行脚本来完成这些步骤:
bash docs/install-vine-release.sh
#!/bin/bash# Instructions for installing Vine release 1.0 on Ubuntu 9.04 Linux 32-bit# Commands that require root access are preceded with "sudo".# The prerequisite packages are about 300MB of downloads, and require# 1.1GB once installed; Vine itself requires about 320MB.# Last tested 2009-08-17# This script will build Vine in a "$HOME/bitblaze" directory,# assuming that vine-1.0.tar.gz is in /tmp.cd ~mkdir bitblazecd bitblaze# Prerequisite packages:# For compiling C++ code:sudo apt-get install g++# For OCaml support:sudo apt-get install ocaml ocaml-findlib libgdome2-ocaml-dev camlidl \ libextlib-ocaml-dev ocaml-native-compilers# Ocamlgraph >= 0.99c is required; luckily the version in Ubuntu 9.04# is now new enough.sudo apt-get install libocamlgraph-ocaml-dev# For the BFD library:sudo apt-get install binutils-dev# For building documentation:sudo apt-get install texlive texlive-latex-extra transfig hevea# Vine itself:tar xvzf /tmp/vine-1.0.tar.gz(cd vine-1.0 && ./configure)(cd vine-1.0 && make)(cd vine-1.0/doc/howto && make doc)
2.make 过程中遇到的问题及解决方法:
问题一:
error: new declaration ‘char*
basename(const char*)’
解决方法(https://groups.google.com/forum/#!topic/bitblaze-users/WXGavr77eqs):
Index: libasmir/src/disasm/asm_
==============================
--- libasmir/src/disasm/asm_
+++ libasmir/src/disasm/asm_
@@ -7,6 +7,11 @@
#include "debug.h"
#include "asm_program.h"
#include "objdump.h"
+/* Some versions of glibc and the binutils libiberty library give
+ conflicting prototypes for basename(). We don't use that function
+ anyway, but to work around the problem, make libliberty.h think
+ that it has already been declared. */
+#define HAVE_DECL_BASENAME 1
#include "libiberty.h"
问题二:
error: a cast to a type other than an integral or enumeration type cannot appear in a constant-expression
解决方法(https://groups.google.com/forum/#!msg/bitblaze-users/1hjB3lxuXDg/aa55Ubg-pUQJ):
VEX's definition of "offsetof" is traditional, but it's not actually
allowed by the rules in the C standard, and GCC started enforcing
these rules in version 4.6, giving the errors you saw.
The best fix is to include the compiler's standard definition of
"offsetof", which is guaranteed to work correctly. You can do this by
adding "#include <stddef.h>" near the beginnings of irtoir-i386.cpp
and irtoir-arm.cpp.
3.
cd bitblaze/vine ./trace_utils/trace_reader -trace examples/five.trace | grep T1
./trace_utils/appreplay -trace examples/five.trace \ -stp-out five.stp -ir-out five.il -wp-out five.wp
参考资料:
http://bitblaze.cs.berkeley.edu/release/vine-1.0/howto.html
https://groups.google.com/forum/#!topic/bitblaze-users/WXGavr77eqs
https://groups.google.com/forum/#!topic/bitblaze-users/Zpg7Ddzngns
https://groups.google.com/forum/#!topic/bitblaze-users/sTTPlFEzWo0
https://groups.google.com/forum/#!msg/bitblaze-users/1hjB3lxuXDg/aa55Ubg-pUQJ
- Bitblaze环境搭建之vine的编译和安装
- Bitblaze环境搭建之TEMU/Tracecap的编译和安装
- BitBlaze Vine和TEMU的安装
- bitblaze安装--vine
- 用Bitblaze进行程序分析之三------VINE的使用
- bitblaze中静态分析工具vine安装
- BitBlaze(三) - 静态分析组件Vine
- Qt4.7 嵌入式环境搭建之源码编译和安装
- Qt4.7 嵌入式环境搭建之源码编译和安装
- thriftrpc编译安装和开发环境的搭建
- Proxygen编译安装和开发环境的搭建
- Android编译环境的搭建和编译
- 安装bitblaze的动态分析工具temu
- LAMP环境的搭建(编译安装)
- 用Bitblaze进行程序分析之二------TEMU的配置和使用
- 嵌入式开发环境搭建之安装交叉编译工具链
- LAMP环境搭建系列之二:编译安装Mysql5.6.38
- LAMP环境搭建系列之四:编译安装Nginx1.8.1
- dxDBGrid 何去何从 升级
- JSP乱码(Tomcat和Weblogic)
- 腾讯qq2014最新版 v5.4.11058 官方电脑版
- linux统计文件夹某一些文件的大小总和
- 有梦想 就能赢
- Bitblaze环境搭建之vine的编译和安装
- Linux/UNIX线程控制
- 用Comparator 排序
- 增加IntrospectorCleanupListener监听器防止内存泄露
- 多线程编程:任务取消
- socket通信 客户端与服务端
- datagrview导出excel
- SQL-三个月之内累计消费满1000元的卡号
- start bluestacks模拟器中文版 v0.8.9 官方PC版