package goblint
Static analysis framework for C
Install
Dune Dependency
Authors
Maintainers
Sources
goblint-2.1.0.tbz
sha256=bfc412ec2e447eaef6f4f83892e3511ebf305593cb00561c1406be3ae8bf48e9
sha512=5f2a162e5f36bffafc9836b0d18b5b2808cecfa6bf68f83bb7d1e8b9947ac74cf07776eb09274b4b29d55c897a45a10768f0d9ed25810cf6ba2409c525e4cd4d
Description
Published: 25 Nov 2022
README
Goblint
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.
Linux
- Install opam.
- Make sure the following are installed:
git
,patch
,m4
,autoconf
,libgmp-dev
,libmpfr-dev
andpkg-config
. - Run
make setup
to install OCaml and dependencies via opam. - Run
make
to build Goblint itself. - Run
make install
to install Goblint into the opam switch for usage via switch'sPATH
.
MacOS
- Install GCC with
brew install gcc
(first runxcode-select --install
if you don't want to build it from source). Goblint requires GCC while macOS's defaultcpp
is Clang, which will not work. - ONLY for M1 (ARM64) processor: homebrew changed its install location from
/usr/local/
to/opt/homebrew/
. For packages to find their dependecies executesudo ln -s /opt/homebrew/{include,lib} /usr/local/
. - Continue using Linux instructions (the formulae in brew for
patch
,libgmp-dev
,libmpfr-dev
aregpatch
,gmp
,mpfr
, respectively).
Windows
- Install WSL2. Goblint is not compatible with WSL1.
- Continue using Linux instructions in WSL.
Other
- opam. Install opam and run
opam install goblint
. - 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
.
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.
Dependencies (24)
- conf-gcc
-
conf-gmp
>= "3"
- catapult-file
- catapult
- uuidm
-
yaml
>= "3.0.0"
- arg-complete
- cpu
-
sha
>= "1.12"
-
jsonrpc
>= "1.12"
- json-data-encoding
- dune-site
- fpath
-
ppx_blob
>= "0.6.0"
-
ppx_deriving_yojson
>= "3.7.0"
- ppx_deriving_hash
- ppx_deriving
- qcheck-core
-
yojson
>= "2.0.0" & < "3"
-
zarith
>= "1.8"
-
batteries
>= "3.4.0"
-
goblint-cil
>= "2.0.1" & < "2.0.2"
-
dune
>= "3.0"
-
ocaml
>= "4.10" & < "5.0"
Dev Dependencies (5)
-
benchmark
with-test
-
conf-ruby
with-test
-
odoc
with-doc
-
qcheck-ounit
with-test
-
ounit2
with-test
Used by (1)
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page