linux如何编译和安装infer

来源:互联网 发布:银行卡被网络支付盗刷 编辑:程序博客网 时间:2024/05/22 02:05

facebook推出infer静态代码检测工具编译和安装是相对复杂的一个操作,官方文档是英文的,安装顺序也有点乱,而且部分依赖插件也没有给出安装步骤,如果安装的时候不注意很容易导致问题。因此,将我在Linux上的安装过程分享出来,作为一份中文参考文档。

依赖插件

插件是编译infer的先决条件,linux下需要依赖的插件如下:

  • opam >= 1.2.0
  • Python 2.7
  • Java (only needed for the Java analysis)
  • gcc >= 4.7.2 or clang >= 3.1 (only needed for the C/Objective-C analysis)
  • autoconf >= 2.63 and automake >= 1.11.1 (if building from git)

安装插件

针对我使用的Ubuntu系统,根据不同的系统版本执行下述命令:

Ubuntu 14.04 LTS

sudo apt-get updatesudo apt-get upgradesudo apt-get install -y \  autoconf \  automake \  build-essential \  git \  libgmp-dev \  libmpc-dev \  libmpfr-dev \  m4 \  openjdk-7-jdk \  python-software-properties \  unzip \  zlib1g-dev

Ubuntu 12.04.4 LTS

sudo add-apt-repository ppa:ubuntu-toolchain-r/testsudo apt-get updatesudo apt-get upgradesudo apt-get install -y \  autoconf \  automake \  build-essential \  g++-4.8 \  gcc-4.8 \  git \  libgmp-dev \  libmpc-dev \  libmpfr-dev \  m4 \  openjdk-7-jdk \  python-software-properties \  unzip \  zlib1g-devsudo update-alternatives \  --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 \  --slave /usr/bin/g++ g++ /usr/bin/g++-4.8

设置opam

据官网所言,opam在Linux的部分发行版本中是缺失的,所以需要自己下载安装:

wget https://github.com/ocaml/opam/releases/download/1.2.2/opam-1.2.2-x86_64-Linuxchmod +x opam-1.2.2-x86_64-Linuxsudo cp opam-1.2.2-x86_64-Linux /usr/local/bin/opamopam init --comp=4.02.3eval `opam config env`

安装编译

执行以下命令安装编译:

# Checkout Infergit clone https://github.com/facebook/infer.gitcd infer./autogen.sh./configuremake # or make java# Install Infer into your PATHexport PATH=`pwd`/infer/bin:$PATH

编译完成后,就可以进行代码的静态扫描了,具体使用方式可查考infer使用教程。

如果根据以上方法编译安装后还有问题,可参考infer静态代码扫描不能执行问题定位。

参考文档:How to compile and install Infer

1 0