安装环境:ubuntu-11.10
安装过程
tar zxvf temu-1.0.tar.gz 解压后会得到文件夹temu-1.0
在该文件夹的docs目录下有文件install-temu-release.sh,里面提供了所有安装需要的命令
如果安装qemu的命令不能用,可以网上搜搜。
安装gcc-3.4的命令不可用,可以选择deb包安装(源码安装会折腾死人。。。)。
从http://archive.ubuntu.com/ubuntu/pool/universe/g/gcc-3.4/下载如下5个包:
gcc-3.4-base_3.4.6-6ubuntu3_i386.deb
gcc-3.4_3.4.6-6ubuntu3_i386.deb
cpp-3.4_3.4.6-6ubuntu3_i386.deb
g++-3.4_3.4.6-6ubuntu3_i386.deb
libstdc++6-dev_3.4.6-6ubuntu3_i386.deb
(另一下载处:http://pan.baidu.com/s/1c0chtAS)
在终端执行命令:
sudo dpkg -i *.deb
安装好之后,如果用gcc编译代码不能成功,那么需要添加环境变量,在~/.bashrc最后面添加:
export LIBRARY_PATH=/usr/lib/i386-linux-gnu/
export C_INCLUDE_PATH=/usr/include/i386-linux-gnu/
export CPLUS_INCLUDE_PATH=/usr/include/i386-linux-gnu/
(后来在ubuntu-10.04编译temu时不需要添加上面的环境变量,而且运行temu时指定键盘输入和文件作为污点源都能追踪成功,不会出现奇怪的问题,可能ubuntu-10.04对temu支持更好,毕竟temu还是不太稳定的实验室产品)
--------------------------------------------------------------------------
查看一下当前安装的gcc的各个版本
ls -ll /usr/bin/gcc*
增加gcc-3.4.6和gcc-4.6.1可选项
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 60
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 40
切换版本到gcc-3.4
sudo update-alternatives --config gcc
Selection Path Priority Status
------------------------------------------------------------
*0 /usr/bin/gcc-4.6 60 auto mode
1 /usr/bin/gcc-3.4 40 manual mode
2 /usr/bin/gcc-4.6 60 manual mode
---------------------------------------------------------------
要维持缺省值[*],按回车键,或者键入选择的编号:1
至此gcc3.4.4安装成功!!!
接下来执行如下命令就可以编译通过了:
./configure --target-list=i386-softmmu --proj-name=tracecap \
--cc=gcc-3.4 --prefix=`pwd`/install
make
make install
这里给出一个已编译好的版本供下载。
--------------
在有的ubuntu系统可以会出现如下错误:
/usr/bin/ld.bfd.real: cannot find -lgcc_s
只需建立符号链接libgcc_s.so即可:
sudo ln -s /lib/i386-linux-gnu/libgcc_s.so.1 /usr/lib/libgcc_s.so