Build:
- 0
2026-05-07 11:02.38: 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.4)
(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#14640dc0cb5ad592a5350f7e5ba29e794675f078"))
(run (network host)
(shell "opam repo add mirage-dev https://github.com/mirage/mirage-dev.git#eb114ccf0dd4eeca6b4f06c5c7361c238eeca4fd"))
(run (network host)
(shell "opam pin -ny https://github.com/mirage/mirage.git#9a8ee2f0688e3451ed70822ffb6e8614396a46c2"))
(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 hvt)
(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-05-07 11:02.38: Using cache hint "mirage-ci-skeleton-debian-13-ocaml-5.4"
2026-05-07 11:02.38: Connecting to build cluster…
2026-05-07 11:02.38: Waiting for resource in pool OCluster
2026-05-07 11:02.38: Waiting for worker…
2026-05-07 11:02.38: Got resource from pool OCluster
Building on doris.caelum.ci.dev
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /var/cache/obuilder/ocluster/git/mirage-skeleton.git-f56d4287cf5ef510eaeeaae959af62f33ba238c7/.git/
HEAD is now at f89ae9e Merge pull request #419 from hannesm/fmt
(from ocaml/opam:debian-13-ocaml-5.4)
Unable to find image 'ocaml/opam:debian-13-ocaml-5.4' locally
debian-13-ocaml-5.4: Pulling from ocaml/opam
3b32e3bb7338: Already exists
0a2047d92c36: Pulling fs layer
6468c8739f79: Pulling fs layer
dc1c52e586c3: Pulling fs layer
62b886ae38ec: Pulling fs layer
c217a15c852c: Pulling fs layer
1631c3f40e56: Pulling fs layer
fec1b7aa2529: Pulling fs layer
c217a15c852c: Waiting
46c2f2e52299: Pulling fs layer
dfd625f9488b: Pulling fs layer
1631c3f40e56: Waiting
fec1b7aa2529: Waiting
46c2f2e52299: Waiting
a92b2bbc3601: Pulling fs layer
21b06961f9ce: Pulling fs layer
62b886ae38ec: Waiting
dfd625f9488b: Waiting
56ea7bb8517a: Pulling fs layer
f88fa5fac715: Pulling fs layer
21b06961f9ce: Waiting
a92b2bbc3601: Waiting
ef860ccaf48a: Pulling fs layer
7299894d19a3: Pulling fs layer
56ea7bb8517a: Waiting
f88fa5fac715: Waiting
cfd8a5bbbbad: Pulling fs layer
7299894d19a3: Waiting
ef860ccaf48a: Waiting
458be87cd8e2: Pulling fs layer
cfd8a5bbbbad: Waiting
d25c8303c40a: Pulling fs layer
458be87cd8e2: Waiting
0dd0c180412f: Pulling fs layer
d25c8303c40a: Waiting
3cce6b8d3022: Pulling fs layer
0dd0c180412f: Waiting
48811119dc00: Pulling fs layer
3cce6b8d3022: Waiting
4f4fb700ef54: Pulling fs layer
9274adcd9010: Pulling fs layer
4f4fb700ef54: Waiting
48811119dc00: Waiting
d7f1811cc461: Pulling fs layer
9274adcd9010: Waiting
9883b0c98d0f: Pulling fs layer
d7f1811cc461: Waiting
9be0dcfb3ea0: Pulling fs layer
b64ebb6ea54f: Pulling fs layer
9883b0c98d0f: Waiting
9be0dcfb3ea0: Waiting
7f7a3980142e: Pulling fs layer
b64ebb6ea54f: Waiting
c4dd42c2d373: Pulling fs layer
7f7a3980142e: Waiting
bd37488f4682: Pulling fs layer
c4dd42c2d373: Waiting
efaea8bd3292: Pulling fs layer
d08303018370: Pulling fs layer
ccb64fc6d165: Pulling fs layer
bd37488f4682: Waiting
df5461936c45: Pulling fs layer
efaea8bd3292: Waiting
4ad6d8be4e6f: Pulling fs layer
ad49b5bd4234: Pulling fs layer
ccb64fc6d165: Waiting
3cca9ef56161: Pulling fs layer
d08303018370: Waiting
df5461936c45: Waiting
ad49b5bd4234: Waiting
4917de64b7d3: Pulling fs layer
0ce36fc523dd: Pulling fs layer
3cca9ef56161: Waiting
4917de64b7d3: Waiting
ec347e98f03b: Pulling fs layer
145a39f3773a: Pulling fs layer
0ce36fc523dd: Waiting
8e8f54dd710d: Pulling fs layer
ec347e98f03b: Waiting
145a39f3773a: Waiting
2ac0188dba7d: Pulling fs layer
2ac0188dba7d: Waiting
cd8fcd645584: Pulling fs layer
4c06a5114d77: Pulling fs layer
cd8fcd645584: Waiting
4c06a5114d77: Waiting
03e4dfa429fb: Pulling fs layer
677b8695a7da: Pulling fs layer
03e4dfa429fb: Waiting
677b8695a7da: Waiting
0a2047d92c36: Verifying Checksum
0a2047d92c36: Download complete
6468c8739f79: Download complete
0a2047d92c36: Pull complete
6468c8739f79: Pull complete
dc1c52e586c3: Verifying Checksum
dc1c52e586c3: Download complete
62b886ae38ec: Download complete
dc1c52e586c3: Pull complete
62b886ae38ec: Pull complete
fec1b7aa2529: Verifying Checksum
fec1b7aa2529: Download complete
1631c3f40e56: Verifying Checksum
1631c3f40e56: Download complete
46c2f2e52299: Verifying Checksum
46c2f2e52299: Download complete
dfd625f9488b: Verifying Checksum
dfd625f9488b: Download complete
21b06961f9ce: Verifying Checksum
21b06961f9ce: Download complete
a92b2bbc3601: Verifying Checksum
a92b2bbc3601: Download complete
c217a15c852c: Verifying Checksum
c217a15c852c: Download complete
f88fa5fac715: Verifying Checksum
f88fa5fac715: Download complete
7299894d19a3: Verifying Checksum
7299894d19a3: Download complete
ef860ccaf48a: Download complete
56ea7bb8517a: Verifying Checksum
56ea7bb8517a: Download complete
458be87cd8e2: Download complete
cfd8a5bbbbad: Download complete
d25c8303c40a: Verifying Checksum
d25c8303c40a: Download complete
0dd0c180412f: Verifying Checksum
0dd0c180412f: Download complete
3cce6b8d3022: Download complete
48811119dc00: Verifying Checksum
48811119dc00: Download complete
4f4fb700ef54: Verifying Checksum
4f4fb700ef54: Download complete
9274adcd9010: Download complete
d7f1811cc461: Download complete
9883b0c98d0f: Download complete
9be0dcfb3ea0: Download complete
b64ebb6ea54f: Verifying Checksum
b64ebb6ea54f: Download complete
7f7a3980142e: Download complete
c4dd42c2d373: Verifying Checksum
c4dd42c2d373: Download complete
bd37488f4682: Download complete
efaea8bd3292: Verifying Checksum
efaea8bd3292: Download complete
d08303018370: Verifying Checksum
d08303018370: Download complete
ccb64fc6d165: Download complete
df5461936c45: Verifying Checksum
df5461936c45: Download complete
ad49b5bd4234: Verifying Checksum
ad49b5bd4234: Download complete
4917de64b7d3: Verifying Checksum
4917de64b7d3: Download complete
0ce36fc523dd: Download complete
ec347e98f03b: Verifying Checksum
ec347e98f03b: Download complete
145a39f3773a: Verifying Checksum
145a39f3773a: Download complete
4ad6d8be4e6f: Verifying Checksum
4ad6d8be4e6f: Download complete
8e8f54dd710d: Verifying Checksum
8e8f54dd710d: Download complete
2ac0188dba7d: Verifying Checksum
2ac0188dba7d: Download complete
4c06a5114d77: Verifying Checksum
4c06a5114d77: Download complete
03e4dfa429fb: Verifying Checksum
03e4dfa429fb: Download complete
677b8695a7da: Verifying Checksum
677b8695a7da: Download complete
cd8fcd645584: Verifying Checksum
cd8fcd645584: Download complete
c217a15c852c: Pull complete
1631c3f40e56: Pull complete
fec1b7aa2529: Pull complete
46c2f2e52299: Pull complete
dfd625f9488b: Pull complete
a92b2bbc3601: Pull complete
21b06961f9ce: Pull complete
56ea7bb8517a: Pull complete
f88fa5fac715: Pull complete
ef860ccaf48a: Pull complete
7299894d19a3: Pull complete
cfd8a5bbbbad: Pull complete
458be87cd8e2: Pull complete
d25c8303c40a: Pull complete
0dd0c180412f: Pull complete
3cce6b8d3022: Pull complete
48811119dc00: Pull complete
4f4fb700ef54: Pull complete
9274adcd9010: Pull complete
d7f1811cc461: Pull complete
9883b0c98d0f: Pull complete
9be0dcfb3ea0: Pull complete
b64ebb6ea54f: Pull complete
7f7a3980142e: Pull complete
c4dd42c2d373: Pull complete
bd37488f4682: Pull complete
efaea8bd3292: Pull complete
d08303018370: Pull complete
ccb64fc6d165: Pull complete
df5461936c45: Pull complete
3cca9ef56161: Verifying Checksum
3cca9ef56161: Download complete
4ad6d8be4e6f: Pull complete
ad49b5bd4234: Pull complete
3cca9ef56161: Pull complete
4917de64b7d3: Pull complete
0ce36fc523dd: Pull complete
ec347e98f03b: Pull complete
145a39f3773a: Pull complete
8e8f54dd710d: Pull complete
2ac0188dba7d: Pull complete
cd8fcd645584: Pull complete
4c06a5114d77: Pull complete
03e4dfa429fb: Pull complete
677b8695a7da: Pull complete
Digest: sha256:130067ea9e098abcd2ff182c90a00366a3d164252f3c2d1263623ba846a0cd02
Status: Downloaded newer image for ocaml/opam:debian-13-ocaml-5.4
2026-05-07 11:05.02 ---> saved as "b7ac0c72667412e270cf200043933272f02ff07c0767d046333cbc683d48c937"
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo chown opam:opam /home/opam"))
2026-05-07 11:05.02 ---> saved as "5641f8575878de47a5b29bcc887e4a17ca1be369a5de9aab9824cbbc69c489c1"
/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
[NOTE] The 'jobs' option was reset, its value was 71 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=71 --global
Format upgrade done.
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
default (at git+file:///home/opam/opam-repository):
[INFO] opam 2.5.1 includes security fixes; please consider upgrading (https://opam.ocaml.org/doc/Install.html)
2026-05-07 11:05.25 ---> saved as "5e7253eb62795a6b612b22c839bcc1fe2d9790109bdb83e3241177a8677fc595"
/home/opam: (run (network host)
(shell "opam repo add opam https://github.com/ocaml/opam-repository.git#14640dc0cb5ad592a5350f7e5ba29e794675f078"))
[opam] Initialised
opam (at git+https://github.com/ocaml/opam-repository.git#14640dc0cb5ad592a5350f7e5ba29e794675f078):
[INFO] opam 2.5.1 includes security fixes; please consider upgrading (https://opam.ocaml.org/doc/Install.html)
[NOTE] Repository opam has been added to the selections of switch 5.4 only.
Run `opam repository add opam --all-switches|--set-default' to use it in all existing switches, or in newly created switches, respectively.
2026-05-07 11:05.36 ---> saved as "8d77a71dfe782a3180f8163ce2daf9177d83fb1a794fe434f985b447999f8ee4"
/home/opam: (run (network host)
(shell "opam repo add mirage-dev https://github.com/mirage/mirage-dev.git#eb114ccf0dd4eeca6b4f06c5c7361c238eeca4fd"))
[mirage-dev] Initialised
[NOTE] Repository mirage-dev has been added to the selections of switch 5.4 only.
Run `opam repository add mirage-dev --all-switches|--set-default' to use it in all existing switches, or in newly created switches, respectively.
2026-05-07 11:05.38 ---> saved as "0c4ba1ec1356947c5da541b64616153794a24e0e0d2b45de347fbebeefbf2a94"
/home/opam: (run (network host)
(shell "opam pin -ny https://github.com/mirage/mirage.git#9a8ee2f0688e3451ed70822ffb6e8614396a46c2"))
This will pin the following packages: mirage-runtime, mirage. Continue? [Y/n] y
mirage-runtime is now pinned to git+https://github.com/mirage/mirage.git#9a8ee2f0688e3451ed70822ffb6e8614396a46c2 (version 4.10.6)
mirage is now pinned to git+https://github.com/mirage/mirage.git#9a8ee2f0688e3451ed70822ffb6e8614396a46c2 (version 4.10.6)
2026-05-07 11:05.43 ---> saved as "cf1d824932bbd11fb32ad1b6edea769889a5dfe316ccd5a41610e2feb8cd8748"
/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 [132 kB]
Fetched 222 kB in 0s (1752 kB/s)
Reading package lists...
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[mirage.4.10.6] synchronised (no changes)
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.3.0 [required by mirage]
- install cmdliner 2.1.1 [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.23.0 [required by mirage]
- install dune-configurator 3.23.0 [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.2 [required by mirage]
- install logs 0.10.0 [required by mirage]
- install macaddr 5.6.2 [required by ipaddr]
- install mirage 4.10.6 (pinned)
- 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 ... 20654 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+deb13u2) ...
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved base64.3.5.2 (https://opam.ocaml.org/cache)
-> retrieved astring.0.8.5 (https://opam.ocaml.org/cache)
-> retrieved angstrom.0.16.1 (https://opam.ocaml.org/cache)
-> retrieved bigstringaf.0.10.0 (https://opam.ocaml.org/cache)
-> installed conf-pkg-config.4
-> retrieved bos.0.3.0 (https://opam.ocaml.org/cache)
-> retrieved cmdliner.2.1.1 (https://opam.ocaml.org/cache)
-> retrieved csexp.1.5.2 (https://opam.ocaml.org/cache)
-> retrieved domain-name.0.5.0 (https://opam.ocaml.org/cache)
-> retrieved emile.1.1 (https://opam.ocaml.org/cache)
-> retrieved fmt.0.11.0 (https://opam.ocaml.org/cache)
-> retrieved fpath.0.7.3 (https://opam.ocaml.org/cache)
-> retrieved ipaddr.5.6.2, macaddr.5.6.2 (https://opam.ocaml.org/cache)
-> retrieved logs.0.10.0 (https://opam.ocaml.org/cache)
-> retrieved ocaml-syntax-shims.1.0.0 (https://opam.ocaml.org/cache)
-> retrieved ocamlbuild.0.16.1 (https://opam.ocaml.org/cache)
-> retrieved mirage.4.10.6 (no changes)
-> retrieved ocamlfind.1.9.8 (https://opam.ocaml.org/cache)
-> retrieved pecu.0.7 (https://opam.ocaml.org/cache)
-> retrieved rresult.0.7.0 (https://opam.ocaml.org/cache)
-> retrieved dune.3.23.0, dune-configurator.3.23.0 (https://opam.ocaml.org/cache)
-> retrieved opam-monorepo.0.4.3 (https://opam.ocaml.org/cache)
-> retrieved stringext.1.6.0 (https://opam.ocaml.org/cache)
-> retrieved topkg.1.1.1 (https://opam.ocaml.org/cache)
-> installed cmdliner.2.1.1
-> installed ocamlbuild.0.16.1
-> retrieved uutf.1.0.4 (https://opam.ocaml.org/cache)
-> retrieved uri.4.4.0 (https://opam.ocaml.org/cache)
-> 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 fpath.0.7.3
-> installed logs.0.10.0
-> installed bos.0.3.0
-> installed dune.3.23.0
-> installed base64.3.5.2
-> installed csexp.1.5.2
-> installed domain-name.0.5.0
-> installed macaddr.5.6.2
-> installed ocaml-syntax-shims.1.0.0
-> installed pecu.0.7
-> installed stringext.1.6.0
-> installed ipaddr.5.6.2
-> installed dune-configurator.3.23.0
-> 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.6
Done.
# To update the current shell environment, run: eval $(opam env)
2026-05-07 11:06.37 ---> saved as "d27de23f8bd3a9c251a986143e18af23dd0006893a22492dfb63c351cee4228f"
/home/opam: (copy (src .) (dst /src/))
2026-05-07 11:06.38 ---> saved as "da11b061b1d32bdbe768b6e3ffa414a0a927a3ff01eb2765f21932bebc461285"
/home/opam: (env MODE hvt)
/home/opam: (workdir /src/)
/src/: (run (shell "opam exec -- make configure"))
mirage configure -f tutorial/noop/config.ml -t hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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 hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
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.231916 s, 221 MB/s
mirage configure -f device-usage/block/config.ml -t hvt
mirage: [WARNING] Skipping version check, since our_version ("4.10.6-10-g9a8ee2f") fails to parse: only digits and . allowed in version
Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock').
2026-05-07 11:06.51 ---> saved as "1a78a5fccc6de28ccceff80713742a74a7d6b7ca684cd175cc11aa78b8223784"
/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.4 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.4 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-hvt hello-hvt hello-key-hvt local-library-hvt echo_server-hvt heads1-hvt heads2-hvt timeout1-hvt timeout2-hvt echo_server-hvt app-info-hvt speaking_clock-hvt conduit_server-hvt http-fetch-hvt kv_ro-hvt elittlefs-hvt network-hvt ping-hvt lottery-hvt dhcp-hvt minipaf-hvt resolve-hvt crypto-test-hvt https-hvt block_test-hvt --build-only --ocaml-version 5.4.1 -l ./mirage.opam.locked
==> Using 24 locally scanned packages as the targets.
==> Found 164 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.4. Use '--all' to forget about them altogether.
Repositories removed from the selections of switch 5.4. Use '--all' to forget about them altogether.
2026-05-07 11:07.07 ---> saved as "5279c44f8713261284c1f503e5c12a07d11608430f589a66e0cc24ce30dac6a9"
/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-hvt package definition from source at file:///src/tutorial/noop/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on hello-hvt package definition from source at file:///src/tutorial/hello/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on hello-key-hvt package definition from source at file:///src/tutorial/hello-key/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on local-library-hvt package definition from source at file:///src/tutorial/local-library/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on echo_server-hvt package definition from source at file:///src/tutorial/lwt/echo_server/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on heads1-hvt package definition from source at file:///src/tutorial/lwt/heads1/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on heads2-hvt package definition from source at file:///src/tutorial/lwt/heads2/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on timeout1-hvt package definition from source at file:///src/tutorial/lwt/timeout1/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on timeout2-hvt package definition from source at file:///src/tutorial/lwt/timeout2/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on echo_server-hvt package definition from source at file:///src/tutorial/lwt/echo_server/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on app-info-hvt package definition from source at file:///src/tutorial/app_info/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on speaking_clock-hvt package definition from source at file:///src/device-usage/clock/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on conduit_server-hvt package definition from source at file:///src/device-usage/conduit_server/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on http-fetch-hvt package definition from source at file:///src/device-usage/http-fetch/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on kv_ro-hvt package definition from source at file:///src/device-usage/kv_ro/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on elittlefs-hvt package definition from source at file:///src/device-usage/littlefs/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on network-hvt package definition from source at file:///src/device-usage/network/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on ping-hvt package definition from source at file:///src/device-usage/ping6/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on lottery-hvt package definition from source at file:///src/device-usage/disk-lottery/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on dhcp-hvt package definition from source at file:///src/applications/dhcp/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on minipaf-hvt package definition from source at file:///src/applications/http/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on resolve-hvt package definition from source at file:///src/applications/dns/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on crypto-test-hvt package definition from source at file:///src/applications/crypto/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on https-hvt package definition from source at file:///src/applications/static_website_tls/mirage:
warning 68: Missing field 'license'
[WARNING] Failed checks on block_test-hvt package definition from source at file:///src/device-usage/block/mirage:
warning 68: Missing field 'license'
The following actions will be performed:
=== install 6 packages
- install conf-libseccomp 1 [required by solo5]
- install ocaml-solo5 1.2.2 [required by timeout1-hvt, resolve-hvt, noop-hvt, etc.]
- install ocaml-src 5.4.1 [required by ocaml-solo5]
- install opatch 3.1.1 [required by ocaml-solo5]
- install patch 3.1.1 [required by opatch]
- install solo5 0.10.1 [required by timeout1-hvt, resolve-hvt, noop-hvt, etc.]
The following system packages will first need to be installed:
libseccomp-dev
<><> 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" "libseccomp-dev"
- Selecting previously unselected package libseccomp-dev: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 ... 20691 files and directories currently installed.)
- Preparing to unpack .../libseccomp-dev_2.6.0-2_amd64.deb ...
- Unpacking libseccomp-dev:amd64 (2.6.0-2) ...
- Setting up libseccomp-dev:amd64 (2.6.0-2) ...
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed conf-libseccomp.1
-> retrieved ocaml-solo5.1.2.2 (https://opam.ocaml.org/cache)
-> retrieved opatch.3.1.1, patch.3.1.1 (https://opam.ocaml.org/cache)
-> retrieved ocaml-src.5.4.1 (https://opam.ocaml.org/cache)
-> installed patch.3.1.1
-> retrieved solo5.0.10.1 (https://opam.ocaml.org/cache)
-> installed ocaml-src.5.4.1
-> installed opatch.3.1.1
-> installed solo5.0.10.1
-> installed ocaml-solo5.1.2.2
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" "m4"
- 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 ... 20735 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) ...
- Selecting previously unselected package m4.
- Preparing to unpack .../archives/m4_1.4.19-8_amd64.deb ...
- Unpacking m4 (1.4.19-8) ...
- Setting up m4 (1.4.19-8) ...
- 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+deb13u2) ...
2026-05-07 11:08.43 ---> saved as "e8f43bfecac31f282d54305124f26b16e54e5b4f2ac7ebe6002f048ca6214768"
/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.4 A simple library for bigstrings
ca-certs-nss 3.121 X.509 trust anchors extracted from Mozilla's NSS
chamelon 0.2.1 Subset of littlefs filesystem fulfilling MirageOS KV
charrua 3.1.1 DHCP wire frame encoder and decoder
charrua-client 3.1.1 DHCP client implementation
charrua-server 3.1.1 DHCP server
checkseum 0.5.3 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.5 An opinionated Domain Name System (DNS) library
dns-client 10.2.5 DNS client API
dns-client-mirage 10.2.5 DNS client API for MirageOS
domain-name 0.5.0 RFC 1035 Internet domain names
dune-build-info 3.23.0 Embed build information inside executable
dune-configurator 3.23.0 Helper library for gathering system configuration
duration 0.3.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.4.0 Hexdump in OCaml
io-page 3.0.0 Support for efficient handling of I/O memory pages
ipaddr 5.6.2 A library for manipulation of IP (and MAC) address representations
ipaddr-cstruct 5.6.2 A library for manipulation of IP address representations using Cstructs
ipaddr-sexp 5.6.2 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 6.1.2 Promises and event-driven I/O
lwt-dllist 1.1.0 Mutable doubly-linked list with Lwt iterators
macaddr 5.6.2 A library for manipulation of MAC address representations
macaddr-cstruct 5.6.2 A library for manipulation of MAC address representations using Cstructs
magic-mime 1.3.1 Map filenames to common MIME types
menhir 20260209 An LR(1) parser generator
menhirCST 20260209 Runtime support library for unparsers generated by Menhir
menhirGLR 20260209 Runtime support library for GLR parsers generated by Menhir
menhirLib 20260209 Runtime support library for parsers generated by Menhir
menhirSdk 20260209 Compile-time library for auxiliary tools related to Menhir
metrics 0.5.0 Metrics infrastructure for OCaml
metrics-lwt 0.5.0 Lwt backend for the Metrics library
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-solo5 0.8.1 Solo5 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.1.0 Simple symmetric cryptography for the modern age
mirage-crypto-ec 2.1.0 Elliptic Curve Cryptography with primitives taken from Fiat
mirage-crypto-pk 2.1.0 Simple public-key cryptography for the modern age
mirage-crypto-rng 2.1.0 A cryptographically secure PRNG
mirage-crypto-rng-mirage 2.1.0 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-solo5 0.8.0 Solo5 implementation of MirageOS network interface
mirage-ptime 5.2.0 Libraries and module types for portable clocks
mirage-runtime 4.10.6 pinned at git+https://github.com/mirage/mirage.git#9a8ee2f0688e3451ed70822ffb6e8614396a46c2
mirage-sleep 4.1.0 Sleep operation for MirageOS
mirage-solo5 0.10.0 Solo5 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.38.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.4 Transport Layer Security purely in OCaml
tls-mirage 2.0.4 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-05-07 11:08.51 ---> saved as "92d7fe0b5af2db351e39af343e638d9e98cde645e1d11ea889816981e8d8bb2f"
/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-05-07 11:08.54 ---> saved as "1502b7ed4a2f92d96ac029755eb5c525c6f9cadb23d61ce125aca190b4d2c4d3"
/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
gmake[1]: Entering directory '/src/_build/solo5/duniverse/mirage-solo5/lib/bindings'
ocamlfind -toolchain solo5 ocamlopt -c -o clock_stubs.o clock_stubs.c
ocamlfind -toolchain solo5 ocamlopt -c -o mm_stubs.o mm_stubs.c
ocamlfind -toolchain solo5 ocamlopt -c -o main.o main.c
ar r libmirage-solo5_bindings.a clock_stubs.o mm_stubs.o main.o
gmake[1]: Leaving directory '/src/_build/solo5/duniverse/mirage-solo5/lib/bindings'
ar: creating libmirage-solo5_bindings.a
Creating menhirLib.ml...
Creating menhirLib.mli...
Read 103 sample input sentences and 103 error messages.
Read 103 sample input sentences and 50 error messages.
Read 103 sample input sentences and 50 error messages.
Grammar has 57 nonterminal symbols, among which 1 start symbols.
Grammar has 38 terminal symbols.
Grammar has 132 productions.
Built an LR(0) automaton with 205 states.
The grammar is not SLR(1) -- 7 states have a conflict.
The construction mode is no-pager.
Built an LR(1) automaton with 314 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.
158 out of 314 states have a default reduction.
110 out of 314 states are represented.
45 out of 98 symbols keep track of their start position.
40 out of 98 symbols keep track of their end position.
The StackLang code contains 4186 instructions in 282 blocks.
The StackLang code comprises 5 mutually recursive groups.
Generating Static_tls.ml
Generating Static_tls.mli
Generating Static_keys.ml
Generating Static_keys.mli
Generating Static_htdocs.ml
Generating Static_htdocs.mli
Generating Static_t.ml
Generating Static_t.mli
Generating Static_certificates.ml
Generating Static_certificates.mli
Generating Static_certificates.ml
Generating Static_certificates.mli
Generating Static_keys.ml
Generating Static_keys.mli
Generating Static_htdocs.ml
Generating Static_htdocs.mli
Generating Static_tls.ml
Generating Static_tls.mli
Generating Static_t.ml
Generating Static_t.mli
./configure: line 14385: /usr/bin/file: No such file or directory
binary ocaml: found in /home/opam/.opam/5.4/bin
binary ocamlc: found in /home/opam/.opam/5.4/bin
binary ocamldep: found in /home/opam/.opam/5.4/bin
binary ocamlmklib: found in /home/opam/.opam/5.4/bin
binary ocamldoc: found in /home/opam/.opam/5.4/bin
binary gcc: found in /usr/bin
binary ocamlopt: found in /home/opam/.opam/5.4/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.4/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.4/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.4/lib
installation method findlib
configuration successful!
now type "make" to build
then type "make install" or "sudo make install" to install
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.4/bin
binary ocamlc: found in /home/opam/.opam/5.4/bin
binary ocamldep: found in /home/opam/.opam/5.4/bin
binary ocamlmklib: found in /home/opam/.opam/5.4/bin
binary ocamldoc: found in /home/opam/.opam/5.4/bin
binary x86_64-solo5-ocaml-gcc: found in /home/opam/.opam/5.4/bin
binary ocamlopt: found in /home/opam/.opam/5.4/bin
checking compilation with -I/src/_build/solo5/duniverse/Zarith/../../../install/solo5/lib/gmp/: working
include caml/mlvalues.h: found
library dynlink.cmxa: found
binary ocamlfind: found in /home/opam/.opam/5.4/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.4/lib/ocaml-solo5/lib/ocaml -I/src/_build/solo5/duniverse/Zarith/../../../install/solo5/lib/gmp/
libraries: -lgmp
linker options: -L/src/_build/solo5/duniverse/Zarith/../../../install/solo5/lib/gmp/
C options: -I/src/_build/solo5/duniverse/Zarith/../../../install/solo5/lib/gmp/
installation path: /home/opam/.opam/5.4/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)
2026-05-07 11:09.34 ---> saved as "15980c322fb67bff921d886699ecb60e78ae6e222e15d5154c4cc4b9e958eb06"
Job succeeded
2026-05-07 11:09.34: Job succeeded