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
- linux如何编译和安装infer
- FaceBook/infer-安装说明
- FaceBook/infer-安装说明
- FaceBook/infer-安装说明
- Facebook Infer安装总结
- 如何编译和安装libevent
- 如何编译和安装memcached
- ubuntu14 ubuntu15 源码安装infer
- Linux内核编译和安装
- Linux内核编译和安装
- linux编译安装和卸载
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- Linux如何编译安装源码包软件
- 如何在Linux上编译安装PHP
- Android中GridView实现长按多选功能
- 从C++转向java——3、判断与比较
- golang 的 channel 实现 生产者/消费者 模型
- hdu2883 kebab
- 制作2D追踪导弹
- linux如何编译和安装infer
- hdu 1075
- 1046. 划拳
- 大三下学期计划
- 类的实例和实例的成员变量的销毁
- linux命令学习
- 封装使用ViewHolder模式的Adapter组件,及用其快速实现聊天界面
- [Python入门]Chapter8 字符串
- Swift - 点击输入框外部屏幕关闭虚拟键盘