Skip to content

Commit a216966

Browse files
brkDatabean
authored andcommitted
Address feedback from @Databean
1 parent 0d8fedd commit a216966

File tree

1 file changed

+38
-22
lines changed

1 file changed

+38
-22
lines changed

CodeHawk/README.md

Lines changed: 38 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,51 @@
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+
```
2949
opam init --bare
3050
3151
git clone https://github.com/static-analysis-engineering/codehawk.git
@@ -40,7 +60,3 @@ dune build @install
4060
The Makefiles in the repository are to help CodeHawk's developers
4161
debug 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

Comments
 (0)