goblint

Static analysis framework for C
README




Documentation can be browsed on Read the Docs or GitHub.

Installing

Both for using an up-to-date version of Goblint or developing it, the best way is to install from source by cloning this repository.

The goblint package on opam is very outdated and should currently not be used.

Linux

  1. Install opam.

  2. Make sure the following are installed: git patch m4 autoconf libgmp-dev libmpfr-dev.

  3. Run make setup to install OCaml and dependencies via opam.

  4. Run make to build Goblint itself.

  5. Run make install to install Goblint into the opam switch for usage via switch's PATH.

MacOS

  1. Install GCC with brew install gcc (first run xcode-select --install if you don't want to build it from source). Goblint requires GCC while macOS's default cpp is Clang, which will not work.

  2. Continue using Linux instructions.

Windows

  1. Install WSL.

  2. Continue using Linux instructions in WSL.

Other

  • devcontainer. Select "Reopen in Container" in VS Code and continue with make using Linux instructions in devcontainer.

  • Docker (GitHub Container Registry). Run docker pull ghcr.io/goblint/analyzer:latest (or :nightly).

  • Docker (repository). Clone and run docker build -t goblint ..

  • Vagrant. Clone and run vagrant up && vagrant ssh.

  • opam (very outdated). Run opam install goblint.

Running

To confirm that building worked, you can try running Goblint as follows:

./goblint tests/regression/04-mutex/01-simple_rc.c

To confirm that installation into the opam switch worked, you can try running Goblint as follows:

goblint tests/regression/04-mutex/01-simple_rc.c

To confirm that the Docker container worked, you can try running Goblint as follows:

docker run -it --rm -v $(pwd):/data goblint /data/tests/regression/04-mutex/01-simple_rc.c

If pulled from GitHub Container Registry, use the container name ghcr.io/goblint/analyzer:latest (or :nightly) instead.

For further information, see documentation.

Install
Published
30 Nov 2021
Sources
goblint-1.1.1.tbz
sha256=999272bfbd3b9b96fcd58987b237ac6e9fa6d92ef935cc89f1ea2b4205185141
sha512=f3bf6ab71cf8c258d3290da4bf9f6fe42d7c671822e0efeb0fc50afdff078ab15e352237e5c1db31c5aa3a9d430691268ed2e5e00da10f2615835f672f91683d
Dependencies
Reverse Dependencies