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安装笔记相关推荐

  1. convirt2.5在虚拟机上安装笔记

    <span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255) ...

  2. 基于CentOS 5.3系统下面的TMAIL安装笔记

    基于CentOS 5.3系统下面的TMAIL安装笔记 ([url]http://godoha.blog.51cto.com[/url] by Weihu Yen 2009-4-26)         ...

  3. Debian 11 “bullseye” 安装笔记

    Debian 11 "bullseye" 安装笔记 请访问原文链接:https://sysin.org/blog/debian-11-install/,查看最新版.原创作品,转载请 ...

  4. Jenkins压缩包安装笔记

    Jenkins安装笔记(contos8) 附件 JDK的安装 Jenkins的安装 命令安装 压缩包安装 附件 jenkins的安装 jenkins的配置 jenkins自动化部署 JDK的安装 因为 ...

  5. 【docker安装笔记】

    docker安装笔记 一.前期准备 1.准备3台虚拟机 2.更改hosts和hostname 3.检查linux的内核 4.非root安装时修改 /etc/sudoers 5.阿里云yum源 二.安装 ...

  6. Linux下QT安装笔记

    QT安装笔记 1.操作系统:Centos7 2.下载Qt: 官网:https://download.qt.io/archive/qt/5.9/5.9.5/qt-opensource-linux-x64 ...

  7. CentOS 8 安装笔记

    CentOS 8 安装笔记 第一部分 概述 初始版本:CentOS 8.0.1905 继 RHEL 8 发布之后,CentOS 社区也发布了让人期待已久的 CentOS 8,并发布了两种模式: Cen ...

  8. vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装。的解决方法

    vmware tools安装程序无法继续,Microsoft Runtime DLL安装程序未能完成安装.的解决方法 参考文章: (1)vmware tools安装程序无法继续,Microsoft R ...

  9. laravel安装笔记 (转)

    一.安装composer 安装之前将\php\php.ini文件中的php_openssl.dll扩展库开启,否则composer在安装过程中会出现错误提示. (我在安装过程中发现apache目录下的 ...

最新文章

  1. 关于壳的构架的一些感悟
  2. Alpha 冲刺报告(10/10)
  3. 检察机关计算机涉密案例,三原县检察院:扎实做好新时代检察机关保密工作
  4. 用turtle库画童年的记忆哆啦A梦
  5. ntr模式_ntr什么意思?
  6. Windows必备软件效率有哪些?
  7. tensorflow--制作数据集tfrecords文件
  8. 华为手机计算机小游戏,华为手机怎么玩自带小游戏 | 手游网游页游攻略大全
  9. VMware16安装Redhat7 图文教程
  10. sql计算表中计算机的最高分,关于SQL查询面试题,会这些基本够用了
  11. python正则匹配日期2019-03-11_正则表达式验证日期(多种日期格式)——转载
  12. IS-IS快速收敛调优(三)——LSP快速洪范、SPF算法改进和按优先级收敛
  13. 服务器135、137、138、139、445等端口解释和关闭方法
  14. 计算机组成原理运算器设计实验之8位可控加减法电路设计
  15. 【CSS】几种尺寸单位
  16. C语言结合VBS脚本编写朗读小工具,做一个能够发音的C语言程序
  17. 基于Python实现Jacobi迭代法、Gauss-Seidel迭代法和SOR法方程组(三)
  18. VS2005/SQL2005等原版镜像高速下载
  19. C++读txt文件,存入vector容器中
  20. 基于阈值的全零块判决算法

热门文章

  1. AfterEffect(AE)插件-常规功能开发-放大缩小图层-js脚本开发-AE插件
  2. macOS big sur电池百分比显示怎么设置
  3. 这款报表工具可以秒杀市面上各种可视化,可惜很多人都没用过
  4. 爬虫python漏洞群_python爬虫 之 wooyun公开漏洞
  5. 4家赞助商来自中国,中国企业“霸屏”欧洲杯!看看各大品牌借势营销哪家强?
  6. 2013年3月家庭影院类品牌网络知名度排名
  7. 阿里云轻量应用服务器快照的使用及注意事项
  8. 本地宝塔showdoc api文档服务搭建
  9. 我在千峰培训的第十条和第十一天—面向对象
  10. mysql执行语句时c盘突然占满_c盘里莫名其妙的被占满。。求解决