You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3.1 KiB

We provide a source release of Infer packaged with pre-build binaries for clang and facebook-clang-plugins for Linux and MacOS. We encourage you to use this release. Install the dependencies for your operating system and then follow the instructions in Infer's getting-started page.

Install the dependencies

MacOS X

Here are the prerequisites to be able to compile Infer. Make sure you have the dependencies installed and opam configured properly. After that either use the release (faster), or compile everything from source.

Requirements

  • Python 2.7
  • opam (instructions here)
  • Java <= 1.7 (only needed for the Java analysis)
  • Xcode <= 7.0, >= 6.1 (only needed for the C/Objective-C analysis)
  • clang in Xcode command line tools. You can install them with the command xcode-select --install (only needed for the C/Objective-C analysis)

Setup Opam

opam init -y --comp=4.01.0
eval `opam config env`
opam install -y extlib.1.5.4 atdgen.1.6.0 javalib.2.3.1 sawja.1.5.1

Linux

Here are the prerequisites to be able to compile Infer. Make sure you have the dependencies installed and opam configured properly. After that either use the release (faster), or compile everything from source.

Requirements

  • Python 2.7
  • opam
  • Java <= 1.7 (only needed for the Java analysis)
  • gcc >= 4.7.2

How to install the requirements on Ubuntu 12.04.4 LTS

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git openjdk-7-jdk m4 zlib1g-dev python-software-properties build-essential libgmp-dev libmpfr-dev libmpc-dev unzip
sudo apt-get install gcc-4.8 g++-4.8
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.8

How to install the requirements on Debian 7 / Ubuntu 14.04

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git openjdk-7-jdk m4 zlib1g-dev python-software-properties build-essential libgmp-dev libmpfr-dev libmpc-dev unzip

Setup Opam

wget https://github.com/ocaml/opam/releases/download/1.2.2/opam-1.2.2-x86_64-Linux -O opam
chmod +x opam
./opam init -y --comp=4.01.0
eval `./opam config env`
./opam install -y extlib.1.5.4 atdgen.1.6.0 javalib.2.3.1 sawja.1.5.1

Compile clang and Infer from source

Infer uses a special version of clang along with a clang plugin. Follow these instructions to compile them from source. Alternatively, you can skip these instructions and use the release.

# Checkout Infer
git clone https://github.com/facebook/infer.git
cd infer
git submodule update --init --recursive
# Compile clang
facebook-clang-plugins/clang/setup.sh # go have a coffee :)
# Compile the clang plugin
./compile-fcp.sh
# Compile Infer
make -C infer
export PATH=`pwd`/infer/bin:$PATH