1- # Building with make
1+ # Install Dependencies
22
3- ## System Requirements
3+ <details >
4+ <summary >Ubuntu 22.04+ and Debian 11+</summary >
45
5- Building codehawk requires the following applications and libraries:
6+ ```
7+ sudo apt update -y
8+ sudo apt install --no-install-recommends \
9+ git ca-certificates \
10+ build-essential opam unzip default-jdk \
11+ pkg-config m4 zlib1g-dev libgmp-dev bubblewrap -y
12+ ```
13+ </details >
614
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
15+ <details >
16+ <summary >Fedora</summary >
1217
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.
18+ ```
19+ sudo yum install awk diffutils git gmp-devel opam \
20+ perl-ExtUtils-MakeMaker perl-FindBin perl-Pod-Html zlib-devel -y
21+ ```
22+ </details >
1723
1824
19- ### Install Dependencies:
25+ <details >
26+ <summary >Arch Linux</summary >
2027
21- These commands should work for Ubuntu 22.04+:
28+ ```
29+ sudo pacman -Syu base-devel git opam
30+ ```
31+ </details >
32+
33+ <details >
34+ <summary >macOS</summary >
2235
2336```
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
37+ brew install opam
38+ ```
39+ </details >
40+
41+ # Build CodeHawk
2842
43+ Note that on Ubuntu 24.04 you must also pass ` --disable-sandboxing ` to ` opam init ` ,
44+ or create an AppArmor profile with ` userns ` permissions. This is also required
45+ if you are running in ` docker ` without ` --privileged ` .
46+ [ Yes, this is a mess!] ( https://github.com/containers/bubblewrap/issues/505#issuecomment-2093203129 )
47+
48+ ```
2949opam init --bare
3050
3151git clone https://github.com/static-analysis-engineering/codehawk.git
@@ -40,7 +60,3 @@ dune build @install
4060The Makefiles in the repository are to help CodeHawk's developers
4161debug circular module dependencies, they are not intended for users.
4262
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