SVF-tools安装笔记
SVF-tools安装笔记
- 网络链接
- Ubuntu16安装SVF的问题
- 虚拟机安装SVF的问题
- Ubuntu 18.04.5 LTS安装SVF-tools
- 安装Ubuntu
- 更换apt源
- 安装build-essential
- 手动下载安装包
- 设置环境变量
- 最后一个问题
网络链接
SVF-tools是一个程序分析的工具,github地址如下:
https://github.com/SVF-tools
SVF-tools包含多个项目,其中主项目SVF的地址:
https://github.com/SVF-tools/SVF
该页面下有setup guide的链接:
https://github.com/svf-tools/SVF/wiki/Setup-Guide#getting-started
Ubuntu16安装SVF的问题
最早安装的系统是Ubuntu 16,安装SVF-tools碰到了很多问题。
按照setup guide指引,只需三步即可。
git clone https://github.com/SVF-tools/SVF.git
cd SVF
source ./build.sh
前两步基本都能完成,进入build以后出现很多问题。最主要的两个问题是build过程中还需要下载三个东西,有时会超时,造成安装失败。另外一个问题就是提示GLIBC版本不匹配。
与此同时,setup guild中第二种与第三种安装方法也失败了。
虚拟机安装SVF的问题
在虚拟机中按照本文后面的操作安装SVF,会卡在35%的位置,最后似乎也没死机,但就是不动了。
Ubuntu 18.04.5 LTS安装SVF-tools
安装Ubuntu
首先重新安装ubuntu 18.04.5 LTS desktop版本,使用U盘安装还是比较方便的。
更换apt源
链接如下,根据Ubuntu版本,再根据提示操作即可
https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
更换完毕以后记得
sudo apt-get update
安装build-essential
使用apt安装build-essential以及其他的必要工具。本文安装的版本如下
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
GNU ld (GNU Binutils for Ubuntu) 2.30
Copyright (C) 2018 Free Software Foundation, Inc.
这个程序是自由软件;您可以遵循GNU 通用公共授权版本 3 或
(您自行选择的) 稍后版本以再次散布它。
这个程序完全没有任何担保。
cmake version 3.10.2CMake suite maintained and supported by Kitware (kitware.com/cmake).
手动下载安装包
首先要下载SVF-tools本身。
下载完成以后,进入SVF目录。SVF的build.sh文件能够自动下载所需的主要依赖,但是比较慢,特别是llvm比较大,容易失败。因此手动下载。对照build.sh的内容,需要手动下载三个东西,链接如下。
LLVM:
https://github.com/llvm/llvm-project/releases/download/llvmorg-10.0.0/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04.tar.xz。
Z3:
https://github.com/Z3Prover/z3/releases/download/z3-4.8.8/z3-4.8.8-x64-ubuntu-16.04.zip
Test-Suite:
https://github.com/SVF-tools/Test-Suite.git
下载完成以后,解压缩即可。LLVM和z3均可随意放置,但Test-Suite解压缩以后需要将其整个拷贝到SVF目录之下,并且必须命名为Test-Suite
。要么就更改build.sh文件。总之二者要匹配。
设置环境变量
更改环境变量,在/etc/profile
中加入如下内容:
export SVFHOME="/home/xxx/SVF-master"export LLVM_DIR="/home/xxx/clang+llvm-10.0.0-x86_64-linux-gnu-ubuntu-18.04"export Z3_DIR="/home/xxx/z3-4.8.8-x64-ubuntu-16.04"export PATH=$PATH:"$LLVM_DIR/bin"
其中xxx
是用户主目录名。
更改完以后,最好重启一下。因为source
只针对本次shell有效,经常混乱。
最后一个问题
此时在运行build.sh
即可运行,build都很顺利,最后,ld的时候提示
/usr/bin/ld: cannot find -ltinfo
之类的错误。
使用apt再安装一个包即可
sudo apt-get install libtinfo-dev
重新build一遍,成功。
SVF-tools安装笔记相关推荐
- convirt2.5在虚拟机上安装笔记
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...
- 基于CentOS 5.3系统下面的TMAIL安装笔记
基于CentOS 5.3系统下面的TMAIL安装笔记 ([url]http://godoha.blog.51cto.com[/url] by Weihu Yen 2009-4-26) ...
- Debian 11 “bullseye” 安装笔记
Debian 11 "bullseye" 安装笔记 请访问原文链接:https://sysin.org/blog/debian-11-install/,查看最新版.原创作品,转载请 ...
- Jenkins压缩包安装笔记
Jenkins安装笔记(contos8) 附件 JDK的安装 Jenkins的安装 命令安装 压缩包安装 附件 jenkins的安装 jenkins的配置 jenkins自动化部署 JDK的安装 因为 ...
- 【docker安装笔记】
docker安装笔记 一.前期准备 1.准备3台虚拟机 2.更改hosts和hostname 3.检查linux的内核 4.非root安装时修改 /etc/sudoers 5.阿里云yum源 二.安装 ...
- Linux下QT安装笔记
QT安装笔记 1.操作系统:Centos7 2.下载Qt: 官网:https://download.qt.io/archive/qt/5.9/5.9.5/qt-opensource-linux-x64 ...
- CentOS 8 安装笔记
CentOS 8 安装笔记 第一部分 概述 初始版本:CentOS 8.0.1905 继 RHEL 8 发布之后,CentOS 社区也发布了让人期待已久的 CentOS 8,并发布了两种模式: Cen ...
- vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装。的解决方法
vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装.的解决方法 参考文章: (1)vmware tools安装程序无法继续,Microsoft R ...
- laravel安装笔记 (转)
一.安装composer 安装之前将\php\php.ini文件中的php_openssl.dll扩展库开启,否则composer在安装过程中会出现错误提示. (我在安装过程中发现apache目录下的 ...
最新文章
- 关于壳的构架的一些感悟
- Alpha 冲刺报告(10/10)
- 检察机关计算机涉密案例,三原县检察院:扎实做好新时代检察机关保密工作
- 用turtle库画童年的记忆哆啦A梦
- ntr模式_ntr什么意思?
- Windows必备软件效率有哪些?
- tensorflow--制作数据集tfrecords文件
- 华为手机计算机小游戏,华为手机怎么玩自带小游戏 | 手游网游页游攻略大全
- VMware16安装Redhat7 图文教程
- sql计算表中计算机的最高分,关于SQL查询面试题,会这些基本够用了
- python正则匹配日期2019-03-11_正则表达式验证日期(多种日期格式)——转载
- IS-IS快速收敛调优(三)——LSP快速洪范、SPF算法改进和按优先级收敛
- 服务器135、137、138、139、445等端口解释和关闭方法
- 计算机组成原理运算器设计实验之8位可控加减法电路设计
- 【CSS】几种尺寸单位
- C语言结合VBS脚本编写朗读小工具,做一个能够发音的C语言程序
- 基于Python实现Jacobi迭代法、Gauss-Seidel迭代法和SOR法方程组(三)
- VS2005/SQL2005等原版镜像高速下载
- C++读txt文件,存入vector容器中
- 基于阈值的全零块判决算法
热门文章
- AfterEffect(AE)插件-常规功能开发-放大缩小图层-js脚本开发-AE插件
- macOS big sur电池百分比显示怎么设置
- 这款报表工具可以秒杀市面上各种可视化,可惜很多人都没用过
- 爬虫python漏洞群_python爬虫 之 wooyun公开漏洞
- 4家赞助商来自中国,中国企业“霸屏”欧洲杯!看看各大品牌借势营销哪家强?
- 2013年3月家庭影院类品牌网络知名度排名
- 阿里云轻量应用服务器快照的使用及注意事项
- 本地宝塔showdoc api文档服务搭建
- 我在千峰培训的第十条和第十一天—面向对象
- mysql执行语句时c盘突然占满_c盘里莫名其妙的被占满。。求解决