1- # Building with make
1+ # Install Dependencies
22
3- ## System Requirements
3+ <details >
4+ <summary >Ubuntu 22.04+ and Debian 11+</summary >
5+ ```
6+ sudo apt update -y
7+ sudo apt install --no-install-recommends \
8+ git ca-certificates \
9+ build-essential opam unzip default-jdk \
10+ pkg-config m4 zlib1g-dev libgmp-dev bubblewrap -y
11+ ```
12+ </details >
413
5- Building codehawk requires the following applications and libraries:
14+ <details >
15+ <summary >Fedora</summary >
16+ ```
17+ sudo yum install awk diffutils git gmp-devel opam \
18+ perl-ExtUtils-MakeMaker perl-FindBin perl-Pod-Html zlib-devel -y
19+ ```
20+ </details >
621
7- - Objective Caml (version 4.09 or higher)
8- - The Findlib / ocamlfind library manager
9- - The Zlib C library, version 1.1.3 or up
10- - The Zarith library
11- - goblint-cil, version 2.0.6
1222
13- The CodeHawk Tool Suite contains three analyzers that can all be built
14- individually. All three analyzers have an optional gui that can be built
15- separately (and that requires additional dependencies to be installed).
16- The gui is current out-of-date and will require additional work to revive.
23+ <details >
24+ <summary >Arch Linux</summary >
25+ ```
26+ sudo pacman -Syu base-devel git opam
27+ ```
28+ </details >
1729
30+ <details >
31+ <summary >macOS</summary >
32+ ```
33+ brew install opam
34+ ```
35+ </details >
1836
19- ### Install Dependencies:
37+ # Build CodeHawk
2038
21- These commands should work for Ubuntu 22.04+:
39+ Note that on Ubuntu 24.04 you must also pass ` --disable-sandboxing ` to ` opam init ` ,
40+ or create an AppArmor profile with ` userns ` permissions. This is also required
41+ if you are running in ` docker ` without ` --privileged ` .
42+ [ Yes, this is a mess!] ( https://github.com/containers/bubblewrap/issues/505#issuecomment-2093203129 )
2243
2344```
24- sudo apt update -y
25- sudo apt install --no-install-recommends \
26- build-essential opam unzip openjdk-21-jdk \
27- pkg-config m4 zlib1g-dev libgmp-dev bubblewrap -y
28-
2945opam init --bare
3046
3147git clone https://github.com/static-analysis-engineering/codehawk.git
@@ -40,7 +56,3 @@ dune build @install
4056The Makefiles in the repository are to help CodeHawk's developers
4157debug circular module dependencies, they are not intended for users.
4258
43- Dependencies for other OS flavors:
44- - Arch Linux [ untested] : ` sudo pacman -Syu opam `
45- - Fedora [ untested] : ` sudo yum install opam diffutils zlib-devel -y `
46- - macOS [ untested] : ` brew install opam `
0 commit comments