Build:
  1. 0
2026-01-08 10:32.53: New job: Build using linux-x86_64 in
                                [https://github.com/mirage/mirage-skeleton.git#refs/heads/main (f89ae9e1a80eaf983622cc8c192c1214b219b9e0)]

OBuilder spec:

((from ocaml/opam:debian-13-ocaml-5.3)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo chown opam:opam /home/opam"))
 (run (shell "sudo ln -f /usr/bin/opam-2.4 /usr/bin/opam && opam update"))
 (run (network host)
      (shell "opam repo add opam https://github.com/ocaml/opam-repository.git#c12c1ea9e7887cc07f2ab967d2eb85c54386ae57"))
 (run (cache (download-cache (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "sudo apt-get update && opam install -y \"mirage>=4\""))
 (copy (src .) (dst /src/))
 (env MODE unikraft-qemu)
 (workdir /src/)
 (run (shell "opam exec -- make configure"))
 (env MIRAGE_EXTRA_REPOS opam-overlays:https://github.com/dune-universe/opam-overlays.git#12731a6f86d7c452a94c72106fa9d3327988582d,mirage-opam-overlays:https://github.com/dune-universe/mirage-opam-overlays.git#eddcd1bc7e035392596b603d23dde67a88e6f6bc)
 (run (network host)
      (shell "opam exec -- make lock"))
 (run (cache (download-cache (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "sudo apt-get update && opam exec -- make depends"))
 (run (shell "opam monorepo list -l mirage.opam.locked"))
 (run (cache (download-cache (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "opam exec -- make pull"))
 (env DUNE_CACHE enabled)
 (env DUNE_CACHE_TRANSPORT direct)
 (run (cache (dune-build-cache (target /home/opam/.cache/dune)))
      (network host)
      (shell "opam exec -- make build"))
)

2026-01-08 10:32.53: Using cache hint "mirage-ci-skeleton-debian-13-ocaml-5.3"
2026-01-08 10:32.53: Connecting to build cluster…
2026-01-08 10:32.53: Waiting for resource in pool OCluster
2026-01-08 10:32.54: Waiting for worker…
2026-01-08 10:32.54: Got resource from pool OCluster
Building on bremusa.ocamllabs.io
All commits already cached
HEAD is now at f89ae9e Merge pull request #419 from hannesm/fmt

(from ocaml/opam:debian-13-ocaml-5.3)
Unable to find image 'ocaml/opam:debian-13-ocaml-5.3' locally
debian-13-ocaml-5.3: Pulling from ocaml/opam
281b80c799de: Pulling fs layer
ce76feb86791: Pulling fs layer
7984eb0e5b45: Pulling fs layer
56c452a960b1: Pulling fs layer
b85825bef00a: Pulling fs layer
d6ff43dfb85c: Pulling fs layer
4197ec645389: Pulling fs layer
37cac33e41ff: Pulling fs layer
4cb993fb248e: Pulling fs layer
ca442870f91f: Pulling fs layer
56c452a960b1: Waiting
b1d1a2fb5f4a: Pulling fs layer
b85825bef00a: Waiting
0dea577b2801: Pulling fs layer
d6ff43dfb85c: Waiting
cc10daaea4fd: Pulling fs layer
5f878cb1723a: Pulling fs layer
37cac33e41ff: Waiting
4cb993fb248e: Waiting
8968959fa983: Pulling fs layer
5bdd9b9ed0e3: Pulling fs layer
55661c5b388f: Pulling fs layer
4197ec645389: Waiting
92d1dc6907bd: Pulling fs layer
b1d1a2fb5f4a: Waiting
0dea577b2801: Waiting
7100b414728b: Pulling fs layer
cc10daaea4fd: Waiting
8968959fa983: Waiting
a6a54ddc9818: Pulling fs layer
a920ad627810: Pulling fs layer
4f4fb700ef54: Pulling fs layer
ca442870f91f: Waiting
f7df7b6e19c0: Pulling fs layer
a6a54ddc9818: Waiting
cd713d66718c: Pulling fs layer
6ed45ab2af86: Pulling fs layer
4f4fb700ef54: Waiting
40598b80a8fe: Pulling fs layer
cd713d66718c: Waiting
983f7969ff00: Pulling fs layer
f7df7b6e19c0: Waiting
6ed45ab2af86: Waiting
40ec09ee09bd: Pulling fs layer
76a0afa38cd9: Pulling fs layer
1d5a564d139a: Pulling fs layer
983f7969ff00: Waiting
82883b85a4f0: Pulling fs layer
1d5a564d139a: Waiting
1d8458efd73b: Pulling fs layer
40ec09ee09bd: Waiting
82883b85a4f0: Waiting
2d80a9fac9ac: Pulling fs layer
1d8458efd73b: Waiting
4d69ee6ae94b: Pulling fs layer
ce8d28b713f1: Pulling fs layer
4d69ee6ae94b: Waiting
97580d938033: Pulling fs layer
a920ad627810: Waiting
da5fa40e04f8: Pulling fs layer
ce8d28b713f1: Waiting
d7a499968f64: Pulling fs layer
da5fa40e04f8: Waiting
28e5932c7c69: Pulling fs layer
92d1dc6907bd: Waiting
d7a499968f64: Waiting
81389c423fc3: Pulling fs layer
40598b80a8fe: Waiting
4d539b35ca4b: Pulling fs layer
5f878cb1723a: Waiting
81389c423fc3: Waiting
2d80a9fac9ac: Waiting
174d636e7732: Pulling fs layer
4d539b35ca4b: Waiting
97c418526f61: Pulling fs layer
174d636e7732: Waiting
5bd38d3521a2: Pulling fs layer
97c418526f61: Waiting
b0650f6f7eb5: Pulling fs layer
97580d938033: Waiting
7100b414728b: Waiting
5bd38d3521a2: Waiting
b0650f6f7eb5: Waiting
55661c5b388f: Waiting
51f9b7dfdc0a: Pulling fs layer
508077ecb23e: Pulling fs layer
51f9b7dfdc0a: Waiting
7984eb0e5b45: Verifying Checksum
7984eb0e5b45: Download complete
ce76feb86791: Download complete
281b80c799de: Verifying Checksum
281b80c799de: Download complete
b85825bef00a: Verifying Checksum
b85825bef00a: Download complete
56c452a960b1: Download complete
4197ec645389: Verifying Checksum
4197ec645389: Download complete
37cac33e41ff: Verifying Checksum
37cac33e41ff: Download complete
4cb993fb248e: Verifying Checksum
4cb993fb248e: Download complete
ca442870f91f: Verifying Checksum
ca442870f91f: Download complete
b1d1a2fb5f4a: Verifying Checksum
b1d1a2fb5f4a: Download complete
0dea577b2801: Verifying Checksum
0dea577b2801: Download complete
cc10daaea4fd: Verifying Checksum
cc10daaea4fd: Download complete
5f878cb1723a: Verifying Checksum
5f878cb1723a: Download complete
8968959fa983: Verifying Checksum
8968959fa983: Download complete
5bdd9b9ed0e3: Download complete
55661c5b388f: Verifying Checksum
55661c5b388f: Download complete
281b80c799de: Pull complete
ce76feb86791: Pull complete
7984eb0e5b45: Pull complete
7100b414728b: Verifying Checksum
7100b414728b: Download complete
92d1dc6907bd: Download complete
56c452a960b1: Pull complete
b85825bef00a: Pull complete
a6a54ddc9818: Verifying Checksum
a6a54ddc9818: Download complete
a920ad627810: Verifying Checksum
a920ad627810: Download complete
d6ff43dfb85c: Verifying Checksum
d6ff43dfb85c: Download complete
f7df7b6e19c0: Verifying Checksum
f7df7b6e19c0: Download complete
4f4fb700ef54: Verifying Checksum
4f4fb700ef54: Download complete
cd713d66718c: Download complete
6ed45ab2af86: Verifying Checksum
6ed45ab2af86: Download complete
40598b80a8fe: Verifying Checksum
40598b80a8fe: Download complete
983f7969ff00: Verifying Checksum
983f7969ff00: Download complete
40ec09ee09bd: Verifying Checksum
40ec09ee09bd: Download complete
76a0afa38cd9: Download complete
1d5a564d139a: Verifying Checksum
1d5a564d139a: Download complete
82883b85a4f0: Download complete
1d8458efd73b: Verifying Checksum
1d8458efd73b: Download complete
2d80a9fac9ac: Download complete
4d69ee6ae94b: Verifying Checksum
4d69ee6ae94b: Download complete
97580d938033: Verifying Checksum
97580d938033: Download complete
d7a499968f64: Download complete
28e5932c7c69: Download complete
81389c423fc3: Verifying Checksum
81389c423fc3: Download complete
4d539b35ca4b: Download complete
174d636e7732: Verifying Checksum
174d636e7732: Download complete
97c418526f61: Verifying Checksum
97c418526f61: Download complete
da5fa40e04f8: Verifying Checksum
da5fa40e04f8: Download complete
ce8d28b713f1: Verifying Checksum
ce8d28b713f1: Download complete
b0650f6f7eb5: Verifying Checksum
b0650f6f7eb5: Download complete
51f9b7dfdc0a: Verifying Checksum
51f9b7dfdc0a: Download complete
508077ecb23e: Download complete
5bd38d3521a2: Verifying Checksum
5bd38d3521a2: Download complete
d6ff43dfb85c: Pull complete
4197ec645389: Pull complete
37cac33e41ff: Pull complete
4cb993fb248e: Pull complete
ca442870f91f: Pull complete
b1d1a2fb5f4a: Pull complete
0dea577b2801: Pull complete
cc10daaea4fd: Pull complete
5f878cb1723a: Pull complete
8968959fa983: Pull complete
5bdd9b9ed0e3: Pull complete
55661c5b388f: Pull complete
92d1dc6907bd: Pull complete
7100b414728b: Pull complete
a6a54ddc9818: Pull complete
a920ad627810: Pull complete
4f4fb700ef54: Pull complete
f7df7b6e19c0: Pull complete
cd713d66718c: Pull complete
6ed45ab2af86: Pull complete
40598b80a8fe: Pull complete
983f7969ff00: Pull complete
40ec09ee09bd: Pull complete
76a0afa38cd9: Pull complete
1d5a564d139a: Pull complete
82883b85a4f0: Pull complete
1d8458efd73b: Pull complete
2d80a9fac9ac: Pull complete
4d69ee6ae94b: Pull complete
ce8d28b713f1: Pull complete
97580d938033: Pull complete
da5fa40e04f8: Pull complete
d7a499968f64: Pull complete
28e5932c7c69: Pull complete
81389c423fc3: Pull complete
4d539b35ca4b: Pull complete
174d636e7732: Pull complete
97c418526f61: Pull complete
5bd38d3521a2: Pull complete
b0650f6f7eb5: Pull complete
51f9b7dfdc0a: Pull complete
508077ecb23e: Pull complete
Digest: sha256:9566cb86f0293cc98a05bedb1c7fdc567b6b19827a5f1b4a10fdca84ee784aaf
Status: Downloaded newer image for ocaml/opam:debian-13-ocaml-5.3
2026-01-08 10:32.54 ---> using "348716d62ad55d1c2ba7493d00b0882cc64fc042d724a06a1599e8ba58d890e2" from cache

/: (user (uid 1000) (gid 1000))

/: (workdir /home/opam)

/home/opam: (run (shell "sudo chown opam:opam /home/opam"))
2026-01-08 10:32.54 ---> using "24883da7c3bfb9b4beffcac7267b86c1389006a753d78f6b386a3c4fd0e70458" from cache

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-2.4 /usr/bin/opam && opam update"))
This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.

Continue? [Y/n] y
Format upgrade done.

<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-01-08 10:32.54 ---> using "e0d08704d663585a0eeeaa1114187809c41cb285481ac9f5195ea2884586d4b3" from cache

/home/opam: (run (network host)
                 (shell "opam repo add opam https://github.com/ocaml/opam-repository.git#c12c1ea9e7887cc07f2ab967d2eb85c54386ae57"))
2026-01-08 10:32.54 Waiting for previous build to finish cancelling
[opam] Initialised
[NOTE] Repository opam has been added to the selections of switch 5.3 only.
       Run `opam repository add opam --all-switches|--set-default' to use it in all existing switches, or in newly created switches, respectively.

2026-01-08 10:33.06 ---> saved as "e126f8738b8b27a8a63aad4ffbcc00ba5cd2c78dff8653bed3bd218324735b70"

/home/opam: (run (cache (download-cache (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell "sudo apt-get update && opam install -y \"mirage>=4\""))
Hit:1 http://deb.debian.org/debian trixie InRelease
Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
Get:4 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [94.5 kB]
Fetched 185 kB in 0s (1922 kB/s)
Reading package lists...
The following actions will be performed:
=== install 28 packages
  - install angstrom           0.16.1 [required by emile, uri]
  - install astring            0.8.5  [required by mirage]
  - install base64             3.5.2  [required by emile]
  - install bigstringaf        0.10.0 [required by emile]
  - install bos                0.2.1  [required by mirage]
  - install cmdliner           2.1.0  [required by mirage]
  - install conf-pkg-config    4      [required by opam-monorepo]
  - install csexp              1.5.2  [required by dune-configurator]
  - install domain-name        0.5.0  [required by ipaddr]
  - install dune               3.20.2 [required by mirage]
  - install dune-configurator  3.20.2 [required by bigstringaf]
  - install emile              1.1    [required by mirage]
  - install fmt                0.11.0 [required by mirage]
  - install fpath              0.7.3  [required by mirage]
  - install ipaddr             5.6.1  [required by mirage]
  - install logs               0.10.0 [required by mirage]
  - install macaddr            5.6.1  [required by ipaddr]
  - install mirage             4.10.4
  - install ocaml-syntax-shims 1.0.0  [required by angstrom]
  - install ocamlbuild         0.16.1 [required by astring, bos]
  - install ocamlfind          1.9.8  [required by astring, bos]
  - install opam-monorepo      0.4.3  [required by mirage]
  - install pecu               0.7    [required by emile]
  - install rresult            0.7.0  [required by mirage]
  - install stringext          1.6.0  [required by uri]
  - install topkg              1.1.1  [required by astring, bos]
  - install uri                4.4.0  [required by mirage]
  - install uutf               1.0.4  [required by emile]

The following system packages will first need to be installed:
    pkg-config

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>

opam believes some required external dependencies are missing. opam can:
> 1. Run apt-get to install them (may need root/sudo access)
  2. Display the recommended apt-get command and wait while you run it manually (e.g. in another terminal)
  3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
  4. Abort the installation

[1/2/3/4] 1

+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "pkg-config"
- Selecting previously unselected package libpkgconf3:amd64.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20653 files and directories currently installed.)
- Preparing to unpack .../libpkgconf3_1.8.1-4_amd64.deb ...
- Unpacking libpkgconf3:amd64 (1.8.1-4) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../pkgconf-bin_1.8.1-4_amd64.deb ...
- Unpacking pkgconf-bin (1.8.1-4) ...
- Selecting previously unselected package pkgconf:amd64.
- Preparing to unpack .../pkgconf_1.8.1-4_amd64.deb ...
- Unpacking pkgconf:amd64 (1.8.1-4) ...
- Selecting previously unselected package pkg-config:amd64.
- Preparing to unpack .../pkg-config_1.8.1-4_amd64.deb ...
- Unpacking pkg-config:amd64 (1.8.1-4) ...
- Setting up libpkgconf3:amd64 (1.8.1-4) ...
- Setting up pkgconf-bin (1.8.1-4) ...
- Setting up pkgconf:amd64 (1.8.1-4) ...
- Setting up pkg-config:amd64 (1.8.1-4) ...
- Processing triggers for libc-bin (2.41-12) ...

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved base64.3.5.2  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> installed conf-pkg-config.4
-> retrieved bos.0.2.1  (cached)
-> retrieved cmdliner.2.1.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved domain-name.0.5.0  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved emile.1.1  (cached)
-> retrieved fpath.0.7.3  (cached)
-> retrieved ipaddr.5.6.1, macaddr.5.6.1  (cached)
-> retrieved logs.0.10.0  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved mirage.4.10.4  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved pecu.0.7  (cached)
-> retrieved rresult.0.7.0  (cached)
-> retrieved stringext.1.6.0  (cached)
-> retrieved topkg.1.1.1  (cached)
-> retrieved uri.4.4.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved dune.3.20.2, dune-configurator.3.20.2  (cached)
-> retrieved opam-monorepo.0.4.3  (cached)
-> installed cmdliner.2.1.0
-> installed ocamlbuild.0.16.1
-> installed ocamlfind.1.9.8
-> installed topkg.1.1.1
-> installed rresult.0.7.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed astring.0.8.5
-> installed logs.0.10.0
-> installed fpath.0.7.3
-> installed bos.0.2.1
-> installed dune.3.20.2
-> installed base64.3.5.2
-> installed csexp.1.5.2
-> installed domain-name.0.5.0
-> installed macaddr.5.6.1
-> installed ocaml-syntax-shims.1.0.0
-> installed pecu.0.7
-> installed stringext.1.6.0
-> installed ipaddr.5.6.1
-> installed dune-configurator.3.20.2
-> installed bigstringaf.0.10.0
-> installed angstrom.0.16.1
-> installed emile.1.1
-> installed uri.4.4.0
-> installed opam-monorepo.0.4.3
-> installed mirage.4.10.4
Done.
# To update the current shell environment, run: eval $(opam env)
2026-01-08 10:35.04 ---> saved as "241e32ab48b0dc36b1dc0dae1d283b1b144ff489f3e024ac0cdf4db4bce6355f"

/home/opam: (copy (src .) (dst /src/))
2026-01-08 10:35.04 ---> saved as "6f0752eb6d11fa055322b0841057688219fe58a9d956892625a021540738aecd"

/home/opam: (env MODE unikraft-qemu)

/home/opam: (workdir /src/)

/src/: (run (shell "opam exec -- make configure"))
mirage configure -f tutorial/noop/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f tutorial/hello/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f tutorial/hello-key/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f tutorial/local-library/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f tutorial/lwt/echo_server/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f tutorial/lwt/heads1/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f tutorial/lwt/heads2/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f tutorial/lwt/timeout1/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f tutorial/lwt/timeout2/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f tutorial/app_info/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f device-usage/clock/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f device-usage/conduit_server/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f device-usage/http-fetch/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f device-usage/kv_ro/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f device-usage/littlefs/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f device-usage/network/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f device-usage/ping6/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f device-usage/disk-lottery/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f applications/dhcp/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f applications/http/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f applications/dns/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f applications/crypto/config.ml -t unikraft-qemu 
adding unit argument to 'start ()' (to delay execution)
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
mirage configure -f applications/static_website_tls/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
dd if=/dev/zero of=disk.img count=100000
100000+0 records in
100000+0 records out
51200000 bytes (51 MB, 49 MiB) copied, 0.248434 s, 206 MB/s
mirage configure -f device-usage/block/config.ml -t unikraft-qemu 
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
2026-01-08 10:35.20 ---> saved as "f3547c0e0ba7d13ab7491f4bd86ac2bcaf96c0e9d2ad2fddf3def49f86e36207"

/src/: (env MIRAGE_EXTRA_REPOS opam-overlays:https://github.com/dune-universe/opam-overlays.git#12731a6f86d7c452a94c72106fa9d3327988582d,mirage-opam-overlays:https://github.com/dune-universe/mirage-opam-overlays.git#eddcd1bc7e035392596b603d23dde67a88e6f6bc)

/src/: (run (network host)
            (shell "opam exec -- make lock"))
[opam-overlays] Initialised
[NOTE] Repository opam-overlays has been added to the selections of switch 5.3 only.
       Run `opam repository add opam-overlays --all-switches|--set-default' to use it in all existing switches, or in newly created switches, respectively.

[mirage-opam-overlays] Initialised
[NOTE] Repository mirage-opam-overlays has been added to the selections of switch 5.3 only.
       Run `opam repository add mirage-opam-overlays --all-switches|--set-default' to use it in all existing switches, or in newly created switches, respectively.

env OPAMVAR_monorepo="opam-monorepo" opam monorepo lock --recurse-opam noop-unikraft-qemu hello-unikraft-qemu hello-key-unikraft-qemu local-library-unikraft-qemu echo_server-unikraft-qemu heads1-unikraft-qemu heads2-unikraft-qemu timeout1-unikraft-qemu timeout2-unikraft-qemu echo_server-unikraft-qemu app-info-unikraft-qemu speaking_clock-unikraft-qemu conduit_server-unikraft-qemu http-fetch-unikraft-qemu kv_ro-unikraft-qemu elittlefs-unikraft-qemu network-unikraft-qemu ping-unikraft-qemu lottery-unikraft-qemu dhcp-unikraft-qemu minipaf-unikraft-qemu resolve-unikraft-qemu crypto-test-unikraft-qemu https-unikraft-qemu block_test-unikraft-qemu --build-only --ocaml-version 5.3.0 -l ./mirage.opam.locked
==> Using 24 locally scanned packages as the targets.
==> Found 168 opam dependencies for the target packages.
==> Querying opam database for their metadata and Dune compatibility.
==> Calculating exact pins for each of them.
==> Wrote lockfile with 103 entries to mirage.opam.locked. You can now run opam monorepo pull to fetch their sources.
Repositories removed from the selections of switch 5.3. Use '--all' to forget about them altogether.
Repositories removed from the selections of switch 5.3. Use '--all' to forget about them altogether.
2026-01-08 10:35.38 ---> saved as "cf1f514c53d02f714fc7f5a007baf0242bfd29820968aadd37ed5fc2ffcdbb2d"

/src/: (run (cache (download-cache (target /home/opam/.opam/download-cache)))
            (network host)
            (shell "sudo apt-get update && opam exec -- make depends"))
Hit:1 http://deb.debian.org/debian trixie InRelease
Hit:2 http://deb.debian.org/debian trixie-updates InRelease
Hit:3 http://deb.debian.org/debian-security trixie-security InRelease
Reading package lists...
opam install  tutorial/noop/mirage/*.opam  tutorial/hello/mirage/*.opam  tutorial/hello-key/mirage/*.opam  tutorial/local-library/mirage/*.opam  tutorial/lwt/echo_server/mirage/*.opam  tutorial/lwt/heads1/mirage/*.opam  tutorial/lwt/heads2/mirage/*.opam  tutorial/lwt/timeout1/mirage/*.opam  tutorial/lwt/timeout2/mirage/*.opam  tutorial/lwt/echo_server/mirage/*.opam  tutorial/app_info/mirage/*.opam  device-usage/clock/mirage/*.opam  device-usage/conduit_server/mirage/*.opam  device-usage/http-fetch/mirage/*.opam  device-usage/kv_ro/mirage/*.opam  device-usage/littlefs/mirage/*.opam  device-usage/network/mirage/*.opam  device-usage/ping6/mirage/*.opam  device-usage/disk-lottery/mirage/*.opam  applications/dhcp/mirage/*.opam  applications/http/mirage/*.opam  applications/dns/mirage/*.opam  applications/crypto/mirage/*.opam  applications/static_website_tls/mirage/*.opam  device-usage/block/mirage/*.opam --deps-only --yes
[WARNING] Failed checks on noop-unikraft-qemu package definition from source at file:///src/tutorial/noop/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on hello-unikraft-qemu package definition from source at file:///src/tutorial/hello/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on hello-key-unikraft-qemu package definition from source at file:///src/tutorial/hello-key/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on local-library-unikraft-qemu package definition from source at file:///src/tutorial/local-library/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on echo_server-unikraft-qemu package definition from source at file:///src/tutorial/lwt/echo_server/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on heads1-unikraft-qemu package definition from source at file:///src/tutorial/lwt/heads1/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on heads2-unikraft-qemu package definition from source at file:///src/tutorial/lwt/heads2/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on timeout1-unikraft-qemu package definition from source at file:///src/tutorial/lwt/timeout1/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on timeout2-unikraft-qemu package definition from source at file:///src/tutorial/lwt/timeout2/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on echo_server-unikraft-qemu package definition from source at file:///src/tutorial/lwt/echo_server/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on app-info-unikraft-qemu package definition from source at file:///src/tutorial/app_info/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on speaking_clock-unikraft-qemu package definition from source at file:///src/device-usage/clock/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on conduit_server-unikraft-qemu package definition from source at file:///src/device-usage/conduit_server/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on http-fetch-unikraft-qemu package definition from source at file:///src/device-usage/http-fetch/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on kv_ro-unikraft-qemu package definition from source at file:///src/device-usage/kv_ro/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on elittlefs-unikraft-qemu package definition from source at file:///src/device-usage/littlefs/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on network-unikraft-qemu package definition from source at file:///src/device-usage/network/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on ping-unikraft-qemu package definition from source at file:///src/device-usage/ping6/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on lottery-unikraft-qemu package definition from source at file:///src/device-usage/disk-lottery/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on dhcp-unikraft-qemu package definition from source at file:///src/applications/dhcp/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on minipaf-unikraft-qemu package definition from source at file:///src/applications/http/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on resolve-unikraft-qemu package definition from source at file:///src/applications/dns/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on crypto-test-unikraft-qemu package definition from source at file:///src/applications/crypto/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on https-unikraft-qemu package definition from source at file:///src/applications/static_website_tls/mirage:
           warning 68: Missing field 'license'
[WARNING] Failed checks on block_test-unikraft-qemu package definition from source at file:///src/device-usage/block/mirage:
           warning 68: Missing field 'license'
The following actions will be performed:
=== install 13 packages
  - install conf-bison                         2      [required by unikraft]
  - install conf-flex                          2      [required by unikraft]
  - install conf-git                           1.1    [required by ocaml-unikraft-x86_64]
  - install conf-python-3                      9.0.0  [required by unikraft]
  - install ocaml-src                          5.3.0  [required by ocaml-unikraft-x86_64]
  - install ocaml-unikraft                     1.1.0  [required by timeout1-unikraft-qemu, resolve-unikraft-qemu, noop-unikraft-qemu, etc.]
  - install ocaml-unikraft-backend-qemu        0.20.0 [required by timeout1-unikraft-qemu, resolve-unikraft-qemu, noop-unikraft-qemu, etc.]
  - install ocaml-unikraft-backend-qemu-x86_64 0.20.0 [required by ocaml-unikraft-backend-qemu]
  - install ocaml-unikraft-default-x86_64      1.1.0  [required by ocaml-unikraft, ocaml-unikraft-backend-qemu]
  - install ocaml-unikraft-toolchain-x86_64    0.20.0 [required by ocaml-unikraft-x86_64]
  - install ocaml-unikraft-x86_64              1.1.0  [required by ocaml-unikraft-default-x86_64]
  - install unikraft                           0.20.0 [required by ocaml-unikraft-backend-qemu-x86_64]
  - install unikraft-musl                      0.20.0 [required by ocaml-unikraft-backend-qemu-x86_64]

The following system packages will first need to be installed:
    bison flex python3

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>

opam believes some required external dependencies are missing. opam can:
> 1. Run apt-get to install them (may need root/sudo access)
  2. Display the recommended apt-get command and wait while you run it manually (e.g. in another terminal)
  3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
  4. Abort the installation

[1/2/3/4] 1

+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "bison" "flex" "python3"
- Selecting previously unselected package m4.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20690 files and directories currently installed.)
- Preparing to unpack .../archives/m4_1.4.19-8_amd64.deb ...
- Unpacking m4 (1.4.19-8) ...
- Selecting previously unselected package flex.
- Preparing to unpack .../flex_2.6.4-8.2+b4_amd64.deb ...
- Unpacking flex (2.6.4-8.2+b4) ...
- Selecting previously unselected package libpython3.13-minimal:amd64.
- Preparing to unpack .../libpython3.13-minimal_3.13.5-2_amd64.deb ...
- Unpacking libpython3.13-minimal:amd64 (3.13.5-2) ...
- Selecting previously unselected package python3.13-minimal.
- Preparing to unpack .../python3.13-minimal_3.13.5-2_amd64.deb ...
- Unpacking python3.13-minimal (3.13.5-2) ...
- Setting up libpython3.13-minimal:amd64 (3.13.5-2) ...
- Setting up python3.13-minimal (3.13.5-2) ...
- Selecting previously unselected package python3-minimal.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 21198 files and directories currently installed.)
- Preparing to unpack .../0-python3-minimal_3.13.5-1_amd64.deb ...
- Unpacking python3-minimal (3.13.5-1) ...
- Selecting previously unselected package media-types.
- Preparing to unpack .../1-media-types_13.0.0_all.deb ...
- Unpacking media-types (13.0.0) ...
- Selecting previously unselected package readline-common.
- Preparing to unpack .../2-readline-common_8.2-6_all.deb ...
- Unpacking readline-common (8.2-6) ...
- Selecting previously unselected package libreadline8t64:amd64.
- Preparing to unpack .../3-libreadline8t64_8.2-6_amd64.deb ...
- Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8 to /lib/x86_64-linux-gnu/libhistory.so.8.usr-is-merged by libreadline8t64'
- Adding 'diversion of /lib/x86_64-linux-gnu/libhistory.so.8.2 to /lib/x86_64-linux-gnu/libhistory.so.8.2.usr-is-merged by libreadline8t64'
- Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8 to /lib/x86_64-linux-gnu/libreadline.so.8.usr-is-merged by libreadline8t64'
- Adding 'diversion of /lib/x86_64-linux-gnu/libreadline.so.8.2 to /lib/x86_64-linux-gnu/libreadline.so.8.2.usr-is-merged by libreadline8t64'
- Unpacking libreadline8t64:amd64 (8.2-6) ...
- Selecting previously unselected package libpython3.13-stdlib:amd64.
- Preparing to unpack .../4-libpython3.13-stdlib_3.13.5-2_amd64.deb ...
- Unpacking libpython3.13-stdlib:amd64 (3.13.5-2) ...
- Selecting previously unselected package python3.13.
- Preparing to unpack .../5-python3.13_3.13.5-2_amd64.deb ...
- Unpacking python3.13 (3.13.5-2) ...
- Selecting previously unselected package libpython3-stdlib:amd64.
- Preparing to unpack .../6-libpython3-stdlib_3.13.5-1_amd64.deb ...
- Unpacking libpython3-stdlib:amd64 (3.13.5-1) ...
- Setting up python3-minimal (3.13.5-1) ...
- Selecting previously unselected package python3.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 21684 files and directories currently installed.)
- Preparing to unpack .../python3_3.13.5-1_amd64.deb ...
- Unpacking python3 (3.13.5-1) ...
- Selecting previously unselected package bison.
- Preparing to unpack .../bison_2%3a3.8.2+dfsg-1+b2_amd64.deb ...
- Unpacking bison (2:3.8.2+dfsg-1+b2) ...
- Selecting previously unselected package libfl2:amd64.
- Preparing to unpack .../libfl2_2.6.4-8.2+b4_amd64.deb ...
- Unpacking libfl2:amd64 (2.6.4-8.2+b4) ...
- Selecting previously unselected package libfl-dev:amd64.
- Preparing to unpack .../libfl-dev_2.6.4-8.2+b4_amd64.deb ...
- Unpacking libfl-dev:amd64 (2.6.4-8.2+b4) ...
- Setting up media-types (13.0.0) ...
- Setting up m4 (1.4.19-8) ...
- Setting up libfl2:amd64 (2.6.4-8.2+b4) ...
- Setting up bison (2:3.8.2+dfsg-1+b2) ...
- update-alternatives: using /usr/bin/bison.yacc to provide /usr/bin/yacc (yacc) in auto mode
- Setting up readline-common (8.2-6) ...
- Setting up flex (2.6.4-8.2+b4) ...
- Setting up libfl-dev:amd64 (2.6.4-8.2+b4) ...
- Setting up libreadline8t64:amd64 (8.2-6) ...
- Setting up libpython3.13-stdlib:amd64 (3.13.5-2) ...
- Setting up libpython3-stdlib:amd64 (3.13.5-1) ...
- Setting up python3.13 (3.13.5-2) ...
- Setting up python3 (3.13.5-1) ...
- running python rtupdate hooks for python3.13...
- running python post-rtupdate hooks for python3.13...
- Processing triggers for libc-bin (2.41-12) ...

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved conf-python-3.9.0.0  (cached)
-> retrieved ocaml-src.5.3.0  (cached)
-> retrieved ocaml-unikraft-backend-qemu-x86_64.0.20.0, ocaml-unikraft-default-x86_64.1.1.0, ocaml-unikraft-toolchain-x86_64.0.20.0, ocaml-unikraft-x86_64.1.1.0  (cached)
-> retrieved unikraft.0.20.0  (cached)
-> installed conf-bison.2
-> installed conf-flex.2
-> installed conf-git.1.1
-> installed conf-python-3.9.0.0
-> retrieved unikraft-musl.0.20.0  (cached)
-> installed unikraft.0.20.0
-> installed ocaml-src.5.3.0
-> installed unikraft-musl.0.20.0
-> installed ocaml-unikraft-backend-qemu-x86_64.0.20.0
-> installed ocaml-unikraft-toolchain-x86_64.0.20.0
-> installed ocaml-unikraft-x86_64.1.1.0
-> installed ocaml-unikraft-default-x86_64.1.1.0
-> installed ocaml-unikraft.1.1.0
-> installed ocaml-unikraft-backend-qemu.0.20.0
Done.
env OPAMVAR_monorepo="opam-monorepo" opam monorepo depext -y -l ./mirage.opam.locked
==> Using lockfile mirage.opam.locked
+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libgmp-dev"
- Selecting previously unselected package libgmpxx4ldbl:amd64.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 21953 files and directories currently installed.)
- Preparing to unpack .../libgmpxx4ldbl_2%3a6.3.0+dfsg-3_amd64.deb ...
- Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
- Selecting previously unselected package libgmp-dev:amd64.
- Preparing to unpack .../libgmp-dev_2%3a6.3.0+dfsg-3_amd64.deb ...
- Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
- Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
- Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
- Processing triggers for libc-bin (2.41-12) ...
2026-01-08 10:39.50 ---> saved as "436928b09e00da28900f0326363d97ee5d79ea7771f14fad5a01d2ea9e7629bb"

/src/: (run (shell "opam monorepo list -l mirage.opam.locked"))
==> Using lockfile mirage.opam.locked
==> The vendor directory is /src/duniverse/
angstrom                 0.16.1           Parser combinators built for speed and memory-efficiency
arp                      4.1.0            Address Resolution Protocol purely in OCaml
asn1-combinators         0.3.2            Embed typed ASN.1 grammars in OCaml
astring                  0.8.5+dune       pinned at https://github.com/dune-universe/astring/archive/v0.8.5+dune.tar.gz
base                     v0.17.3          Full standard library replacement for OCaml
base-bytes               base+dune        pinned at https://github.com/kit-ty-kate/bytes/archive/v0.1.0.tar.gz
base64                   3.5.2            Base64 encoding for OCaml
bheap                    2.0.0            Priority queues
bigstringaf              0.10.0           Bigstring intrinsics and fast blits based on memcpy/memmove
bos                      0.2.1+dune       pinned at https://github.com/dune-universe/bos/releases/download/v0.2.1%2Bdune/bos-0.2.1.dune.tbz
bstr                     0.0.3            A simple library for bigstrings
ca-certs-nss             3.118            X.509 trust anchors extracted from Mozilla's NSS
chamelon                 0.2.1            Subset of littlefs filesystem fulfilling MirageOS KV
charrua                  3.0.0            DHCP wire frame encoder and decoder
charrua-server           3.0.0            DHCP server
checkseum                0.5.2            Adler-32, CRC32 and CRC32-C implementation in C and OCaml
cmdliner                 2.1.0+dune       pinned at https://github.com/dune-universe/cmdliner/releases/download/v2.1.0%2Bdune/cmdliner-2.1.0.dune.tbz
cmdliner-stdlib          1.0.1            A collection of cmdliner terms to control OCaml runtime parameters
cohttp                   6.2.1            An OCaml library for HTTP clients and servers
cohttp-lwt               6.2.1            CoHTTP implementation using the Lwt concurrency library
cohttp-mirage            6.2.1            CoHTTP implementation for the MirageOS unikernel
conduit                  8.0.0            A network connection establishment library
conduit-lwt              8.0.0            A portable network connection establishment library using Lwt
conduit-mirage           8.0.0            A network connection establishment library for MirageOS
cppo                     1.8.0            Code preprocessor like cpp for OCaml
crunch                   4.0.0            Convert a filesystem into a static OCaml module
csexp                    1.5.2            Parsing and printing of S-expressions in Canonical form
cstruct                  6.2.0            Access C-like structures directly from OCaml
cstruct-lwt              6.2.0            Access C-like structures directly from OCaml
digestif                 1.3.0            Hashes implementations (SHA*, RIPEMD160, BLAKE2* and MD5)
dns                      10.2.3           An opinionated Domain Name System (DNS) library
dns-client               10.2.3           DNS client API
dns-client-mirage        10.2.3           DNS client API for MirageOS
domain-name              0.5.0            RFC 1035 Internet domain names
dune-build-info          3.20.2           Embed build information inside executable
dune-configurator        3.20.2           Helper library for gathering system configuration
duration                 0.2.1            Conversions to various time units
eqaf                     0.10             Constant-time equal function on string
ethernet                 3.2.0            OCaml Ethernet (IEEE 802.3) layer, used in MirageOS
faraday                  0.8.2            A library for writing fast and memory-efficient serializers
findlib                  1.9.5+dune       pinned at https://github.com/dune-universe/lib-findlib/releases/download/1.9.5%2Bdune/findlib-1.9.5.dune.tbz
fmt                      0.11.0+dune      pinned at https://github.com/dune-universe/fmt/releases/download/v0.11.0%2Bdune/fmt-0.11.0.dune.tbz
fpath                    0.7.3+dune       pinned at https://github.com/dune-universe/fpath/archive/v0.7.3+dune.tar.gz
gmap                     0.3.0            Heterogenous maps over a GADT
gmp                      6.3.0            The GNU Multiple Precision Arithmetic Library
h1                       1.1.0            A high-performance, memory-efficient, and scalable web server for OCaml
h2                       0.13.0           A high-performance, memory-efficient, and scalable HTTP/2 library for OCaml
happy-eyeballs           2.0.1            Connecting to a remote host via IP version 4 or 6
happy-eyeballs-mirage    2.0.1            Connecting to a remote host via IP version 4 or 6 using Mirage
hpack                    0.13.0           An HPACK (Header Compression for HTTP/2) implementation in OCaml
http                     6.2.1            Type definitions of HTTP essentials
httpun-types             0.2.0            Common HTTP/1.x types
hxd                      0.3.6            Hexdump in OCaml
io-page                  3.0.0            Support for efficient handling of I/O memory pages
ipaddr                   5.6.1            A library for manipulation of IP (and MAC) address representations
ipaddr-cstruct           5.6.1            A library for manipulation of IP address representations using Cstructs
ipaddr-sexp              5.6.1            A library for manipulation of IP address representations using sexp
kdf                      1.0.0            Key Derivation Functions: HKDF RFC 5869, PBKDF RFC 2898, SCRYPT RFC 7914
ke                       0.6              Queue implementation
logs                     0.10.0+dune      pinned at https://github.com/dune-universe/logs/releases/download/v0.10.0%2Bdune/logs-0.10.0.dune.tbz
lru                      0.3.1            Scalable LRU caches
lwt                      5.9.2            Promises and event-driven I/O
lwt-dllist               1.1.0            Mutable doubly-linked list with Lwt iterators
macaddr                  5.6.1            A library for manipulation of MAC address representations
macaddr-cstruct          5.6.1            A library for manipulation of MAC address representations using Cstructs
magic-mime               1.3.1            Map filenames to common MIME types
menhir                   20250912         An LR(1) parser generator
menhirCST                20250912         Runtime support library for unparsers generated by Menhir
menhirLib                20250912         Runtime support library for parsers generated by Menhir
menhirSdk                20250912         Compile-time library for auxiliary tools related to Menhir
metrics                  0.5.0            Metrics infrastructure for OCaml
mimic                    0.0.9            A simple protocol dispatcher
mimic-happy-eyeballs     0.0.9            A happy-eyeballs integration into mimic
mirage-block             3.0.2            Block signatures and implementations for MirageOS
mirage-block-unikraft    1.0.0            Unikraft implementation of MirageOS block interface
mirage-bootvar           1.0.1            Boot time arguments for MirageOS
mirage-channel           5.0.0            Buffered channels for MirageOS FLOW types
mirage-crypto            2.0.2            Simple symmetric cryptography for the modern age
mirage-crypto-ec         2.0.2            Elliptic Curve Cryptography with primitives taken from Fiat
mirage-crypto-pk         2.0.2            Simple public-key cryptography for the modern age
mirage-crypto-rng        2.0.2            A cryptographically secure PRNG
mirage-crypto-rng-mirage 2.0.2            Entropy collection for a cryptographically secure PRNG
mirage-flow              5.0.0            Flow implementations and combinators for MirageOS
mirage-flow-combinators  5.0.0            Flow implementations and combinators for MirageOS specialized to lwt
mirage-kv                6.1.1            MirageOS signatures for key/value devices
mirage-kv-mem            4.0.1            In-memory key value store for MirageOS
mirage-logs              3.0.0            A reporter for the Logs library that writes log messages to stderr, using a Mirage `CLOCK` to add timestamps
mirage-mtime             5.2.0            Libraries and module types for a monotonic clock
mirage-net               4.0.0            Network signatures for MirageOS
mirage-net-unikraft      1.0.0            Unikraft implementation of MirageOS network interface
mirage-ptime             5.2.0            Libraries and module types for portable clocks
mirage-runtime           4.10.4           The base MirageOS runtime library, part of every MirageOS unikernel
mirage-sleep             4.1.0            Sleep operation for MirageOS
mirage-unikraft          1.0.0            Unikraft core platform libraries for MirageOS
mtime                    2.1.0+dune       pinned at https://github.com/dune-universe/mtime/releases/download/v2.1.0%2Bdune/mtime-2.1.0.dune.tbz
num                      1.4+dune2        pinned at https://github.com/dune-universe/num/releases/download/v1.4%2Bdune2/num-v1.4.dune2.tbz
ocaml-compiler-libs      v0.17.0          OCaml compiler libraries repackaged
ocaml-syntax-shims       1.0.0            Backport new syntax to older OCaml versions
ocaml_intrinsics_kernel  v0.17.1          Intrinsics
ocamlfind                1.9.5+dune       pinned at https://github.com/dune-universe/lib-findlib/releases/download/1.9.5%2Bdune/findlib-1.9.5.dune.tbz
ocplib-endian            1.2              Optimised functions to read and write int16/32/64 from strings and bigarrays
ohex                     0.2.0            Hexadecimal encoding and decoding
optint                   0.3.0            Efficient integer types on 64-bit architectures
ounit2                   2.2.7            OUnit testing framework
paf                      0.8.0            HTTP/AF and MirageOS
parsexp                  v0.17.0          S-expression parsing library
ppx_cstruct              6.2.0            Access C-like structures directly from OCaml
ppx_derivers             1.2.1            Shared [@@deriving] plugin registry
ppx_sexp_conv            v0.17.1          [@@deriving] plugin to generate S-expression conversion functions
ppxlib                   0.37.0           Standard infrastructure for ppx rewriters
ppxlib_jane              v0.17.4          Utilities for working with Jane Street AST constructs
psq                      0.2.1            Functional Priority Search Queues
ptime                    1.2.0+dune       pinned at https://github.com/dune-universe/ptime/releases/download/v1.2.0%2Bdune/ptime-1.2.0.dune.tbz
randomconv               0.2.0            Convert from random byte vectors (int -> string) to random native numbers
re                       1.14.0           RE is a regular expression library for OCaml
result                   1.5              Compatibility Result module
rresult                  0.7.0+dune       pinned at https://github.com/dune-universe/rresult/releases/download/v0.7.0%2Bdune/rresult-0.7.0.dune.tbz
seq                      base+dune        pinned at https://github.com/c-cube/seq/archive/0.2.2.tar.gz
sexplib                  v0.17.0          Library for serializing OCaml values to and from S-expressions
sexplib0                 v0.17.0          Library containing the definition of S-expressions and some base converters
stdlib-shims             0.3.0            Backport some of the new stdlib features to older compiler
stringext                1.6.0            Extra string functions for OCaml
tcpip                    9.0.1            OCaml TCP/IP networking stack, used in MirageOS
tls                      2.0.3            Transport Layer Security purely in OCaml
tls-mirage               2.0.3            Transport Layer Security purely in OCaml, MirageOS layer
uri                      4.4.0            An RFC3986 URI/URL parsing library
uri-sexp                 4.4.0            An RFC3986 URI/URL parsing library
vchan                    6.0.2            Xen Vchan implementation
x509                     1.0.6            Public Key Infrastructure (RFC 5280, PKCS) purely in OCaml
xenstore                 2.4.0            Xenstore protocol in pure OCam
xenstore_transport       1.5.0            Low-level libraries for connecting to a xenstore service on a xen host
zarith                   1.14+dune+mirage pinned at https://github.com/mirage/Zarith/releases/download/1.14%2Bdune%2Bmirage/zarith-1.14.dune.mirage.tbz
2026-01-08 10:40.10 ---> saved as "2548f4d810b20ad3384b1e5d9875db54d49d42184a440b53ac3a84dc6e026632"

/src/: (run (cache (download-cache (target /home/opam/.opam/download-cache)))
            (network host)
            (shell "opam exec -- make pull"))
env OPAMVAR_monorepo="opam-monorepo" opam monorepo pull
==> Using lockfile /src/mirage.opam.locked
Successfully pulled 103/103 repositories
2026-01-08 10:40.15 ---> saved as "0bfb90679bf7fb082426a3ac61442ddba7b8a876b2e8fa76b47df8f8ca129924"

/src/: (env DUNE_CACHE enabled)

/src/: (env DUNE_CACHE_TRANSPORT direct)

/src/: (run (cache (dune-build-cache (target /home/opam/.cache/dune)))
            (network host)
            (shell "opam exec -- make build"))
dune build
In file included from /home/opam/.opam/5.3/lib/ocaml-unikraft-x86_64/lib/ocaml/caml/config.h:48,
                 from /home/opam/.opam/5.3/lib/ocaml-unikraft-x86_64/lib/ocaml/caml/mlvalues.h:19,
                 from stub_alloc_pages.c:40:
/home/opam/.opam/5.3/lib/ocaml-unikraft-backend-qemu-x86_64/libmusl/include/core/include/limits.h:97:9: warning: "PAGE_SIZE" redefined
   97 | #define PAGE_SIZE PAGESIZE
      |         ^~~~~~~~~
stub_alloc_pages.c:32:9: note: this is the location of the previous definition
   32 | #define PAGE_SIZE 4096
      |         ^~~~~~~~~
blkdev.c: In function 'uk_block_read':
blkdev.c:293:58: warning: pointer targets in passing argument 4 of 'block_read' differ in signedness [-Wpointer-sign]
  293 |   const stoken_id_t rc = block_read(block, sstart, size, buf);
      |                                                          ^~~
      |                                                          |
      |                                                          uint8_t * {aka unsigned char *}
blkdev.c:276:35: note: expected 'char *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
  276 |         unsigned long size, char *buffer)
      |                             ~~~~~~^~~~~~
blkdev.c: In function 'uk_block_write':
blkdev.c:324:59: warning: pointer targets in passing argument 4 of 'block_write' differ in signedness [-Wpointer-sign]
  324 |   const stoken_id_t rc = block_write(block, sstart, size, buf);
      |                                                           ^~~
      |                                                           |
      |                                                           uint8_t * {aka unsigned char *}
blkdev.c:307:31: note: expected 'char *' but argument is of type 'uint8_t *' {aka 'unsigned char *'}
  307 |     unsigned long size, char *buffer)
      |                         ~~~~~~^~~~~~
Creating menhirLib.ml...
Creating menhirLib.mli...
Generating Static_t.ml
Generating Static_t.mli
Generating Static_keys.ml
Generating Static_keys.mli
Generating Static_htdocs.ml
Generating Static_htdocs.mli
Generating Static_htdocs.ml
Generating Static_htdocs.mli
Generating Static_t.ml
Generating Static_t.mli
Generating Static_tls.ml
Generating Static_tls.mli
Generating Static_certificates.ml
Generating Static_certificates.mli
Generating Static_certificates.ml
Generating Static_certificates.mli
Generating Static_tls.ml
Generating Static_tls.mli
Generating Static_keys.ml
Generating Static_keys.mli
Read 99 sample input sentences and 99 error messages.
Read 99 sample input sentences and 47 error messages.
Grammar has 56 nonterminal symbols, among which 1 start symbols.
Grammar has 37 terminal symbols.
Grammar has 129 productions.
Built an LR(0) automaton with 199 states.
The grammar is not SLR(1) -- 7 states have a conflict.
The construction mode is no-pager.
Built an LR(1) automaton with 308 states.
One shift/reduce conflict was silently solved.
Extra reductions on error were added in 50 states.
Priority played a role in 0 of these states.
156 out of 308 states have a default reduction.
108 out of 308 states are represented.
44 out of 96 symbols keep track of their start position.
39 out of 96 symbols keep track of their end position.
The StackLang code contains 4113 instructions in 277 blocks.
The StackLang code comprises 5 mutually recursive groups.
Read 99 sample input sentences and 47 error messages.
./configure: line 14385: /usr/bin/file: No such file or directory
binary ocaml: found in /home/opam/.opam/5.3/bin
binary ocamlc: found in /home/opam/.opam/5.3/bin
binary ocamldep: found in /home/opam/.opam/5.3/bin
binary ocamlmklib: found in /home/opam/.opam/5.3/bin
binary ocamldoc: found in /home/opam/.opam/5.3/bin
binary gcc: found in /usr/bin
binary ocamlopt: found in /home/opam/.opam/5.3/bin
checking compilation with  -I/src/_build/default/duniverse/Zarith/../../../install/default/lib/gmp/: working
include caml/mlvalues.h: found
library dynlink.cmxa: found
binary ocamlfind: found in /home/opam/.opam/5.3/bin
OCaml's word size is 64
package gmp: found
OCaml supports -bin-annot to produce documentation

detected configuration:

  native-code:          yes
  dynamic linking:      yes
  defines:              -DHAS_GMP 
  includes:             -I/home/opam/.opam/5.3/lib/ocaml -I/src/_build/default/duniverse/Zarith/../../../install/default/lib/gmp/ 
  libraries:             -lgmp 
  linker options:       -L/src/_build/default/duniverse/Zarith/../../../install/default/lib/gmp/
  C options:            -I/src/_build/default/duniverse/Zarith/../../../install/default/lib/gmp/
  installation path:    /home/opam/.opam/5.3/lib
  installation method   findlib

configuration successful!
now type "make" to build
then type "make install" or "sudo make install" to install
extract-from-certdata: [WARNING] Untrusted certificate "Go Daddy Class 2 CA" (serial 020100)
extract-from-certdata: [WARNING] Untrusted certificate "Starfield Class 2 CA" (serial 020100)
configure: WARNING: using cross tools not prefixed with host triplet
configure: WARNING: cannot check for properly working vsnprintf when cross compiling, will assume it's ok
binary ocaml: found in /home/opam/.opam/5.3/bin
binary ocamlc: found in /home/opam/.opam/5.3/bin
binary ocamldep: found in /home/opam/.opam/5.3/bin
binary ocamlmklib: found in /home/opam/.opam/5.3/bin
binary ocamldoc: found in /home/opam/.opam/5.3/bin
binary x86_64-unikraft-ocaml-gcc: found in /home/opam/.opam/5.3/bin
binary ocamlopt: found in /home/opam/.opam/5.3/bin
checking compilation with  -I/src/_build/unikraft/duniverse/Zarith/../../../install/unikraft/lib/gmp/: working
include caml/mlvalues.h: found
library dynlink.cmxa: found
binary ocamlfind: found in /home/opam/.opam/5.3/bin
OCaml's word size is 64
package gmp: found
OCaml supports -bin-annot to produce documentation

detected configuration:

  native-code:          yes
  dynamic linking:      yes
  defines:              -DHAS_GMP 
  includes:             -I/home/opam/.opam/5.3/lib/ocaml-unikraft-x86_64/lib/ocaml -I/src/_build/unikraft/duniverse/Zarith/../../../install/unikraft/lib/gmp/ 
  libraries:             -lgmp 
  linker options:       -L/src/_build/unikraft/duniverse/Zarith/../../../install/unikraft/lib/gmp/
  C options:            -I/src/_build/unikraft/duniverse/Zarith/../../../install/unikraft/lib/gmp/
  installation path:    /home/opam/.opam/5.3/lib
  installation method   findlib

configuration successful!
now type "make" to build
then type "make install" or "sudo make install" to install
2026-01-08 10:41.31 ---> saved as "b4fbcb799d4375bcbc4d43eb07e6cde9afb394d45615546fb2b1af5dbee3d2d6"
Job succeeded
2026-01-08 10:41.31: Job succeeded