package goblint
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
On This Page
  
  
  Static analysis framework for C
Install
    
    dune-project
 Dependency
Authors
Maintainers
Sources
  
    
      goblint-2.3.0.tbz
    
    
        
    
  
  
  
    
  
  
    
  
        sha256=b729c94adb383a39aea32eb005c988dfd44b92af22ee6a4eedf4239542ac6c26
    
    
  sha512=643b98770e5fe5644324c95c9ae3a9f698f25c8b11b298f0751d524e0b20af368b2a465fc8200b75a73d48fc9a053fd90f5e8920d4db070927f93188bb8687e0
    
    
  Description
Published: 27 Nov 2023
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. For benchmarking Goblint, please follow the Benchmarking guide on Read the Docs.
Linux
- Install opam.
 - Make sure the following are installed: 
git,patch,m4,autoconf,libgmp-dev,libmpfr-devandpkg-config. - Run 
make setupto install OCaml and dependencies via opam. - Run 
maketo build Goblint itself. - Run 
make installto install Goblint into the opam switch for usage via switch'sPATH. - Optional: See 
scripts/bash-completion.shfor setting up bash completion for Goblint arguments. 
MacOS
- Install GCC with 
brew install gcc(first runxcode-select --installif you don't want to build it from source). Goblint requires GCC while macOS's defaultcppis 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-devaregpatch,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 
makeusing 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.cTo confirm that installation into the opam switch worked, you can try running Goblint as follows:
goblint tests/regression/04-mutex/01-simple_rc.cTo 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.cIf pulled from GitHub Container Registry, use the container name ghcr.io/goblint/analyzer:latest (or :nightly) instead.
For further information, see documentation.
Dependencies (25)
- conf-gcc
 - 
  
    conf-gmp
  
  
    
>= "3" - catapult-file
 - catapult
 - uuidm
 - 
  
    yaml
  
  
    
>= "3.0.0" - arg-complete
 - cpu
 - 
  
    fileutils
  
  
    
>= "0.6.4" - 
  
    sha
  
  
    
>= "1.12" - 
  
    jsonrpc
  
  
    
>= "1.12" - json-data-encoding
 - dune-build-info
 - dune-site
 - fpath
 - 
  
    ppx_deriving_yojson
  
  
    
>= "3.7.0" - ppx_deriving_hash
 - ppx_deriving
 - 
  
    qcheck-core
  
  
    
>= "0.19" & < "0.26" - 
  
    yojson
  
  
    
>= "2.0.0" & < "3" - 
  
    zarith
  
  
    
>= "1.8" - 
  
    batteries
  
  
    
>= "3.5.0" - 
  
    goblint-cil
  
  
    
>= "2.0.3" & < "2.0.4" - 
  
    ocaml
  
  
    
>= "4.10" - 
  
    dune
  
  
    
>= "3.7" 
Dev Dependencies (5)
- 
  
    benchmark
  
  
    
with-test - 
  
    conf-ruby
  
  
    
with-test - 
  
    odoc
  
  
    
with-doc - 
  
    qcheck-ounit
  
  
    
with-test - 
  
    ounit2
  
  
    
with-test 
Used by
None
 sectionYPositions = computeSectionYPositions($el), 10)"
  x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
  >
  
  
  On This Page