Install opam, and then do opam install goblint to install the latest release.
For development, use make setup to install OCaml and all dependencies, and make to build.
Run goblint: ./goblint tests/regression/04-mutex/01-simple_rc.c.
If something goes wrong, take a look at travis-ci.sh for an example Ubuntu/macOS setup.
Goblint relies on GNU cpp to preprocess source files - the default clang cpp on macOS will not work.
You can install it with brew install gcc (first do xcode-select --install if you don't want to build from source). You can check src/config.ml to see what command is used to call cpp.
We recommend using WSL/bash for Windows 10. For older versions you can try to build using Cygwin. For a goblint binary package, follow these instructions. For building from source, install Cygwin using setup-cygwin-dev.bat and then do
wget "https://raw.githubusercontent.com/goblint/analyzer/master/scripts/setup-cygwin-dev.sh" && source setup-cygwin-dev.sh
You can run Goblint in a Docker container using:
docker run -it voglerr/goblint ./goblint --help
A virtual machine containing Goblint can be set up using Vagrant:
vagrant up
vagrant ssh
sudo su -
cd analyzer
The analysis results are printed to stdout by default.
Adding --html saves the results as XML, which is then transformed to be viewable in a web browser.
Use make jar to build the needed Java program.
./goblint --html path/to/file.c && firefox result/index.xml
