Organisationskoonwenocaml-libbpfabb370 (main)(lint-doc)

(lint-doc)

Logs

Show full logs
2026-04-23 09:52.55: New job: test koonwen/ocaml-libbpf https://github.com/koonwen/ocaml-libbpf.git#refs/heads/main (abb370b23832de7eedfd8b6f87e55e64a51dfc7a) (linux-x86_64:(lint-doc))
Base: ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c
Opam project lint documentation

To reproduce locally:

git clone --recursive "https://github.com/koonwen/ocaml-libbpf.git" -b "main" && cd "ocaml-libbpf" && git reset --hard abb370b2
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c
# debian-13-4.08_opam-2.5
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam
RUN opam init --reinit -ni
RUN uname -rs && opam exec -- ocaml -version && opam --version
WORKDIR /src
RUN sudo chown opam /src
RUN cd ~/opam-repository && (git cat-file -e 9a427a5cdc1d87c781d8e9febed953e2fd5640c2 || git fetch origin master) && git reset -q --hard 9a427a5cdc1d87c781d8e9febed953e2fd5640c2 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 libbpf_maps.opam libbpf.opam conf-libbpf.opam conf-bpftool.opam ./
RUN opam pin add -yn libbpf_maps.dev './' && \
    opam pin add -yn libbpf.dev './' && \
    opam pin add -yn conf-libbpf.dev './' && \
    opam pin add -yn conf-bpftool.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="base.v0.14.4 base-bigarray.base base-threads.base base-unix.base conf-clang.2 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.24.0 ctypes-foreign.0.24.0 dune.3.22.2 dune-configurator.3.22.2 integers.0.7.0 jane-street-headers.v0.14.0 jst-config.v0.14.1 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-compiler-libs.v0.12.4 ocaml-config.1 ocamlfind.1.9.8 octavius.1.2.2 ppx_assert.v0.14.0 ppx_base.v0.14.0 ppx_cold.v0.14.0 ppx_compare.v0.14.0 ppx_derivers.1.2.1 ppx_deriving.5.2.1 ppx_enumerate.v0.14.0 ppx_expect.v0.14.2 ppx_hash.v0.14.0 ppx_here.v0.14.0 ppx_inline_test.v0.14.1 ppx_js_style.v0.14.1 ppx_optcomp.v0.14.3 ppx_sexp_conv.v0.14.3 ppxlib.0.25.1 re.1.11.0 result.1.5 seq.base sexplib0.v0.14.0 stdio.v0.14.0 stdlib-shims.0.3.0 time_now.v0.14.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.2 --depext-only -y libbpf_maps.dev libbpf.dev conf-libbpf.dev conf-bpftool.dev $DEPS
RUN opam install $DEPS
RUN opam install --yes dune 'odoc>=1.5.0'
COPY --chown=1000:1000 . /src/
RUN ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo "dune build @doc failed"; exit 2)

END-OF-DOCKERFILE
docker build .
END-REPRO-BLOCK

2026-04-23 09:52.55: Using cache hint "koonwen/ocaml-libbpf-ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c-debian-13-4.08_opam-2.5-491002cd6935262a48fd452583ed1df5"
2026-04-23 09:52.55: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c)
 (comment debian-13-4.08_opam-2.5)
 (user (uid 1000) (gid 1000))
 (env CLICOLOR_FORCE 1)
 (env OPAMCOLOR always)
 (workdir /src)
 (run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam"))
 (run (shell "opam init --reinit -ni"))
 (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
 (workdir /src)
 (run (shell "sudo chown opam /src"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "cd ~/opam-repository && (git cat-file -e 9a427a5cdc1d87c781d8e9febed953e2fd5640c2 || git fetch origin master) && git reset -q --hard 9a427a5cdc1d87c781d8e9febed953e2fd5640c2 && git log --no-decorate -n1 --oneline && opam update -u"))
 (copy (src libbpf_maps.opam libbpf.opam conf-libbpf.opam conf-bpftool.opam)
       (dst ./))
 (run (network host)
      (shell  "opam pin add -yn libbpf_maps.dev './' && \
             \nopam pin add -yn libbpf.dev './' && \
             \nopam pin add -yn conf-libbpf.dev './' && \
             \nopam pin add -yn conf-bpftool.dev './'"))
 (run (shell "echo '(lang dune 3.0)' > './dune-project'"))
 (env DEPS "base.v0.14.4 base-bigarray.base base-threads.base base-unix.base conf-clang.2 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.24.0 ctypes-foreign.0.24.0 dune.3.22.2 dune-configurator.3.22.2 integers.0.7.0 jane-street-headers.v0.14.0 jst-config.v0.14.1 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-compiler-libs.v0.12.4 ocaml-config.1 ocamlfind.1.9.8 octavius.1.2.2 ppx_assert.v0.14.0 ppx_base.v0.14.0 ppx_cold.v0.14.0 ppx_compare.v0.14.0 ppx_derivers.1.2.1 ppx_deriving.5.2.1 ppx_enumerate.v0.14.0 ppx_expect.v0.14.2 ppx_hash.v0.14.0 ppx_here.v0.14.0 ppx_inline_test.v0.14.1 ppx_js_style.v0.14.1 ppx_optcomp.v0.14.3 ppx_sexp_conv.v0.14.3 ppxlib.0.25.1 re.1.11.0 result.1.5 seq.base sexplib0.v0.14.0 stdio.v0.14.0 stdlib-shims.0.3.0 time_now.v0.14.0")
 (env CI true)
 (env OCAMLCI true)
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "opam update --depexts && opam install --cli=2.2 --depext-only -y libbpf_maps.dev libbpf.dev conf-libbpf.dev conf-bpftool.dev $DEPS"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "opam install $DEPS"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell "opam install --yes dune 'odoc>=1.5.0'"))
 (copy (src .) (dst /src/))
 (run (shell "ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo \"dune build @doc failed\"; exit 2)"))
)

2026-04-23 09:52.55: Waiting for resource in pool OCluster
2026-04-23 10:57.51: Waiting for worker…
2026-04-23 11:00.59: Got resource from pool OCluster
Building on eumache.caelum.ci.dev
All commits already cached
HEAD is now at abb370b CHANGES.md: allow nixos

(from ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c)
Unable to find image 'ocaml/opam:debian-13-ocaml-4.08@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c' locally
docker.io/ocaml/opam@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c: Pulling from ocaml/opam
a7730063fcfe: Pulling fs layer
1a27fd2181de: Pulling fs layer
c29591c91388: Pulling fs layer
356a64daa753: Pulling fs layer
ac02f8f2062b: Pulling fs layer
aaa2f390e4c8: Pulling fs layer
a7730063fcfe: Waiting
b668811757f6: Pulling fs layer
1a27fd2181de: Waiting
c29591c91388: Waiting
32fd4e1a774f: Pulling fs layer
356a64daa753: Waiting
b1d486fb8fdf: Pulling fs layer
ac02f8f2062b: Waiting
aaa2f390e4c8: Waiting
b668811757f6: Waiting
32fd4e1a774f: Waiting
cf8a2024f299: Pulling fs layer
b1d486fb8fdf: Waiting
8c4a5dac67c3: Pulling fs layer
6adfe24d7b40: Pulling fs layer
8c4a5dac67c3: Waiting
cf8a2024f299: Waiting
dccd6e3c0589: Pulling fs layer
6adfe24d7b40: Waiting
2ee4bcb55cd4: Pulling fs layer
dccd6e3c0589: Waiting
2dc3b58478d7: Pulling fs layer
2dc3b58478d7: Waiting
2ee4bcb55cd4: Waiting
daf15e5c44c6: Pulling fs layer
564e978a8088: Pulling fs layer
daf15e5c44c6: Waiting
25a652a8c456: Pulling fs layer
564e978a8088: Waiting
b3bfea7bff3f: Pulling fs layer
25a652a8c456: Waiting
a00f2937f570: Pulling fs layer
b3bfea7bff3f: Waiting
78bd1737ebff: Pulling fs layer
4f4fb700ef54: Pulling fs layer
a00f2937f570: Waiting
4291a055edd7: Pulling fs layer
78bd1737ebff: Waiting
3c2b2836d59a: Pulling fs layer
4f4fb700ef54: Waiting
7b3e96544a52: Pulling fs layer
3c2b2836d59a: Waiting
c72503effb14: Pulling fs layer
7b3e96544a52: Waiting
4291a055edd7: Waiting
bca08df11a10: Pulling fs layer
2ab0829b2daf: Pulling fs layer
c72503effb14: Waiting
1d246d4da211: Pulling fs layer
bca08df11a10: Waiting
a09cb4870027: Pulling fs layer
2ce07b4fe7c0: Pulling fs layer
6b96f28d505e: Pulling fs layer
1d246d4da211: Waiting
2ab0829b2daf: Waiting
2ce07b4fe7c0: Waiting
b6ad36bba9bf: Pulling fs layer
a09cb4870027: Waiting
56d62791a0f9: Pulling fs layer
4d60780055d1: Pulling fs layer
43f57a7c44cb: Pulling fs layer
6b96f28d505e: Waiting
f21057dc4e85: Pulling fs layer
b6ad36bba9bf: Waiting
56d62791a0f9: Waiting
e0d2ca1300ed: Pulling fs layer
43f57a7c44cb: Waiting
f21057dc4e85: Waiting
9da2f7598f8e: Pulling fs layer
cb569bb28593: Pulling fs layer
4d60780055d1: Waiting
9da2f7598f8e: Waiting
e0d2ca1300ed: Waiting
b32c9abef0bb: Pulling fs layer
cb569bb28593: Waiting
dd7da3e42740: Pulling fs layer
b32c9abef0bb: Waiting
06223904e4d3: Pulling fs layer
b18a38618cf8: Pulling fs layer
b18a38618cf8: Waiting
dd7da3e42740: Waiting
06223904e4d3: Waiting
a7730063fcfe: Verifying Checksum
a7730063fcfe: Download complete
1a27fd2181de: Verifying Checksum
1a27fd2181de: Download complete
c29591c91388: Verifying Checksum
c29591c91388: Download complete
a7730063fcfe: Pull complete
1a27fd2181de: Pull complete
c29591c91388: Pull complete
356a64daa753: Verifying Checksum
356a64daa753: Download complete
ac02f8f2062b: Download complete
356a64daa753: Pull complete
ac02f8f2062b: Pull complete
aaa2f390e4c8: Verifying Checksum
aaa2f390e4c8: Download complete
b668811757f6: Verifying Checksum
b668811757f6: Download complete
32fd4e1a774f: Download complete
b1d486fb8fdf: Verifying Checksum
b1d486fb8fdf: Download complete
cf8a2024f299: Verifying Checksum
cf8a2024f299: Download complete
8c4a5dac67c3: Verifying Checksum
8c4a5dac67c3: Download complete
6adfe24d7b40: Download complete
dccd6e3c0589: Download complete
2ee4bcb55cd4: Download complete
daf15e5c44c6: Verifying Checksum
daf15e5c44c6: Download complete
2dc3b58478d7: Verifying Checksum
2dc3b58478d7: Download complete
564e978a8088: Verifying Checksum
564e978a8088: Download complete
25a652a8c456: Verifying Checksum
25a652a8c456: Download complete
a00f2937f570: Verifying Checksum
a00f2937f570: Download complete
4f4fb700ef54: Verifying Checksum
4f4fb700ef54: Download complete
78bd1737ebff: Verifying Checksum
78bd1737ebff: Download complete
4291a055edd7: Verifying Checksum
4291a055edd7: Download complete
b3bfea7bff3f: Verifying Checksum
b3bfea7bff3f: Download complete
3c2b2836d59a: Verifying Checksum
3c2b2836d59a: Download complete
c72503effb14: Verifying Checksum
c72503effb14: Download complete
7b3e96544a52: Verifying Checksum
7b3e96544a52: Download complete
1d246d4da211: Verifying Checksum
1d246d4da211: Download complete
2ab0829b2daf: Verifying Checksum
2ab0829b2daf: Download complete
bca08df11a10: Verifying Checksum
bca08df11a10: Download complete
a09cb4870027: Verifying Checksum
a09cb4870027: Download complete
2ce07b4fe7c0: Verifying Checksum
2ce07b4fe7c0: Download complete
6b96f28d505e: Verifying Checksum
6b96f28d505e: Download complete
b6ad36bba9bf: Verifying Checksum
b6ad36bba9bf: Download complete
56d62791a0f9: Verifying Checksum
56d62791a0f9: Download complete
43f57a7c44cb: Verifying Checksum
43f57a7c44cb: Download complete
e0d2ca1300ed: Verifying Checksum
e0d2ca1300ed: Download complete
9da2f7598f8e: Verifying Checksum
9da2f7598f8e: Download complete
cb569bb28593: Verifying Checksum
cb569bb28593: Download complete
4d60780055d1: Download complete
dd7da3e42740: Verifying Checksum
dd7da3e42740: Download complete
b32c9abef0bb: Verifying Checksum
b32c9abef0bb: Download complete
06223904e4d3: Verifying Checksum
06223904e4d3: Download complete
f21057dc4e85: Verifying Checksum
f21057dc4e85: Download complete
b18a38618cf8: Download complete
aaa2f390e4c8: Pull complete
b668811757f6: Pull complete
32fd4e1a774f: Pull complete
b1d486fb8fdf: Pull complete
cf8a2024f299: Pull complete
8c4a5dac67c3: Pull complete
6adfe24d7b40: Pull complete
dccd6e3c0589: Pull complete
2ee4bcb55cd4: Pull complete
2dc3b58478d7: Pull complete
daf15e5c44c6: Pull complete
564e978a8088: Pull complete
25a652a8c456: Pull complete
b3bfea7bff3f: Pull complete
a00f2937f570: Pull complete
78bd1737ebff: Pull complete
4f4fb700ef54: Pull complete
4291a055edd7: Pull complete
3c2b2836d59a: Pull complete
7b3e96544a52: Pull complete
c72503effb14: Pull complete
bca08df11a10: Pull complete
2ab0829b2daf: Pull complete
1d246d4da211: Pull complete
a09cb4870027: Pull complete
2ce07b4fe7c0: Pull complete
6b96f28d505e: Pull complete
b6ad36bba9bf: Pull complete
56d62791a0f9: Pull complete
4d60780055d1: Pull complete
43f57a7c44cb: Pull complete
f21057dc4e85: Pull complete
e0d2ca1300ed: Pull complete
9da2f7598f8e: Pull complete
cb569bb28593: Pull complete
b32c9abef0bb: Pull complete
dd7da3e42740: Pull complete
06223904e4d3: Pull complete
b18a38618cf8: Pull complete
Digest: sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c
Status: Downloaded newer image for ocaml/opam@sha256:3cbf0e68d3a718b80b9a2ab282b68bb62badcbc072fa014a5564516c5f70e74c
2026-04-23 11:00.59 ---> using "228e5ba11f0bea08c69266bb98d12a75785691261b07b0808652a307a04e14b2" from cache

/: (comment debian-13-4.08_opam-2.5)

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

/: (env CLICOLOR_FORCE 1)

/: (env OPAMCOLOR always)

/: (workdir /src)

/src: (run (shell "sudo ln -f /usr/bin/opam-2.2 /usr/bin/opam"))
2026-04-23 11:00.59 ---> using "6a21a8bd2da640bf47ce1211004d6a33a1bf41ff753d8b4bb4a6519520cd81af" from cache

/src: (run (shell "opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then from built-in defaults.
Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.

This development 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 repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-04-23 11:00.59 ---> using "939d97e6190dc36b4f6e94773a2843a2a1549b9ae9e8e3facca1460e0ed37772" from cache

/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 6.8.0-107-generic
The OCaml toplevel, version 4.08.1
2.2.1
2026-04-23 11:00.59 ---> using "eb73d73c6df1334e93e0a643cf6d58799a32bc7b370f755d009a4545ba4f9865" from cache

/src: (workdir /src)

/src: (run (shell "sudo chown opam /src"))
2026-04-23 11:00.59 ---> using "de7fe019fc62fa1e51827ff2ff64dbc0831c3afd9fed2034cda6486fa7e48a49" from cache

/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "cd ~/opam-repository && (git cat-file -e 9a427a5cdc1d87c781d8e9febed953e2fd5640c2 || git fetch origin master) && git reset -q --hard 9a427a5cdc1d87c781d8e9febed953e2fd5640c2 && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
 * branch                  master     -> FETCH_HEAD
   42844088d7..6b6b0c375b  master     -> origin/master
9a427a5cdc Merge pull request #29742 from nmatschke/opam-publish-base.v0.14.4

<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[default] synchronised from git+file:///home/opam/opam-repository

Everything as up-to-date as possible (run with --verbose to show unavailable upgrades).
However, you may "opam upgrade" these packages explicitly, which will ask permission to downgrade or uninstall the conflicting packages.
Nothing to do.
# Run eval $(opam env) to update the current shell environment
2026-04-23 11:00.59 ---> using "02f1167621202e7fffcdb23d923a2cbd56a2bea8ac8d6ff76332093731b63434" from cache

/src: (copy (src libbpf_maps.opam libbpf.opam conf-libbpf.opam conf-bpftool.opam)
            (dst ./))
2026-04-23 11:01.00 ---> saved as "0e36be5af99d547a0e1d887831231f26e3352db45135779aa936d69d5491ff80"

/src: (run (network host)
           (shell  "opam pin add -yn libbpf_maps.dev './' && \
                  \nopam pin add -yn libbpf.dev './' && \
                  \nopam pin add -yn conf-libbpf.dev './' && \
                  \nopam pin add -yn conf-bpftool.dev './'"))
[libbpf_maps.dev] synchronised (file:///src)
libbpf_maps is now pinned to file:///src (version dev)
[libbpf.dev] synchronised (file:///src)
libbpf is now pinned to file:///src (version dev)
[conf-libbpf.dev] synchronised (file:///src)
conf-libbpf is now pinned to file:///src (version dev)
[conf-bpftool.dev] synchronised (file:///src)
conf-bpftool is now pinned to file:///src (version dev)
2026-04-23 11:01.10 ---> saved as "c41835e9965e6052c337b5f4325c952ec175206b88aaa99f69a2fdfc2b61f986"

/src: (run (shell "echo '(lang dune 3.0)' > './dune-project'"))
2026-04-23 11:01.10 ---> saved as "f0074d905101119223011b2b5aa7469506d84ee0fdc07f985959148eba6b1dbb"

/src: (env DEPS "base.v0.14.4 base-bigarray.base base-threads.base base-unix.base conf-clang.2 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.24.0 ctypes-foreign.0.24.0 dune.3.22.2 dune-configurator.3.22.2 integers.0.7.0 jane-street-headers.v0.14.0 jst-config.v0.14.1 ocaml.4.08.1 ocaml-base-compiler.4.08.1 ocaml-compiler-libs.v0.12.4 ocaml-config.1 ocamlfind.1.9.8 octavius.1.2.2 ppx_assert.v0.14.0 ppx_base.v0.14.0 ppx_cold.v0.14.0 ppx_compare.v0.14.0 ppx_derivers.1.2.1 ppx_deriving.5.2.1 ppx_enumerate.v0.14.0 ppx_expect.v0.14.2 ppx_hash.v0.14.0 ppx_here.v0.14.0 ppx_inline_test.v0.14.1 ppx_js_style.v0.14.1 ppx_optcomp.v0.14.3 ppx_sexp_conv.v0.14.3 ppxlib.0.25.1 re.1.11.0 result.1.5 seq.base sexplib0.v0.14.0 stdio.v0.14.0 stdlib-shims.0.3.0 time_now.v0.14.0")

/src: (env CI true)

/src: (env OCAMLCI true)

/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "opam update --depexts && opam install --cli=2.2 --depext-only -y libbpf_maps.dev libbpf.dev conf-libbpf.dev conf-bpftool.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- 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 [127 kB]
- Fetched 218 kB in 0s (1830 kB/s)
- Reading package lists...
- 

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[conf-bpftool.dev] synchronised (file:///src)
[conf-libbpf.dev] synchronised (file:///src)
[libbpf.dev] synchronised (file:///src)
[libbpf_maps.dev] synchronised (file:///src)

[NOTE] Package ocaml-config is already installed (current version is 1).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.08.1).
[NOTE] Package ocaml is already installed (current version is 4.08.1).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).

The following system packages will first need to be installed:
    bpftool clang libbpf-dev libffi-dev pkg-config

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

+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "bpftool" "clang" "libbpf-dev" "libffi-dev" "pkg-config"
- Selecting previously unselected package libpipeline1: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 ... 20623 files and directories currently installed.)
- Preparing to unpack .../libpipeline1_1.5.8-1_amd64.deb ...
- Unpacking libpipeline1:amd64 (1.5.8-1) ...
- Selecting previously unselected package binfmt-support.
- Preparing to unpack .../binfmt-support_2.2.2-7_amd64.deb ...
- Unpacking binfmt-support (2.2.2-7) ...
- 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 ... 20970 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 ... 21456 files and directories currently installed.)
- Preparing to unpack .../00-python3_3.13.5-1_amd64.deb ...
- Unpacking python3 (3.13.5-1) ...
- Selecting previously unselected package libelf1t64:amd64.
- Preparing to unpack .../01-libelf1t64_0.192-4_amd64.deb ...
- Unpacking libelf1t64:amd64 (0.192-4) ...
- Selecting previously unselected package bpftool.
- Preparing to unpack .../02-bpftool_7.5.0+6.12.74-2_amd64.deb ...
- Unpacking bpftool (7.5.0+6.12.74-2) ...
- Selecting previously unselected package libxml2:amd64.
- Preparing to unpack .../03-libxml2_2.12.7+dfsg+really2.9.14-2.1+deb13u2_amd64.deb ...
- Unpacking libxml2:amd64 (2.12.7+dfsg+really2.9.14-2.1+deb13u2) ...
- Selecting previously unselected package libz3-4:amd64.
- Preparing to unpack .../04-libz3-4_4.13.3-1_amd64.deb ...
- Unpacking libz3-4:amd64 (4.13.3-1) ...
- Selecting previously unselected package libllvm19:amd64.
- Preparing to unpack .../05-libllvm19_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking libllvm19:amd64 (1:19.1.7-3+b1) ...
- Selecting previously unselected package libclang-cpp19.
- Preparing to unpack .../06-libclang-cpp19_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking libclang-cpp19 (1:19.1.7-3+b1) ...
- Selecting previously unselected package libgc1:amd64.
- Preparing to unpack .../07-libgc1_1%3a8.2.8-1_amd64.deb ...
- Unpacking libgc1:amd64 (1:8.2.8-1) ...
- Selecting previously unselected package libobjc4:amd64.
- Preparing to unpack .../08-libobjc4_14.2.0-19_amd64.deb ...
- Unpacking libobjc4:amd64 (14.2.0-19) ...
- Selecting previously unselected package libobjc-14-dev:amd64.
- Preparing to unpack .../09-libobjc-14-dev_14.2.0-19_amd64.deb ...
- Unpacking libobjc-14-dev:amd64 (14.2.0-19) ...
- Selecting previously unselected package libclang-common-19-dev:amd64.
- Preparing to unpack .../10-libclang-common-19-dev_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking libclang-common-19-dev:amd64 (1:19.1.7-3+b1) ...
- Selecting previously unselected package llvm-19-linker-tools.
- Preparing to unpack .../11-llvm-19-linker-tools_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking llvm-19-linker-tools (1:19.1.7-3+b1) ...
- Selecting previously unselected package libclang1-19.
- Preparing to unpack .../12-libclang1-19_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking libclang1-19 (1:19.1.7-3+b1) ...
- Selecting previously unselected package clang-19.
- Preparing to unpack .../13-clang-19_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking clang-19 (1:19.1.7-3+b1) ...
- Selecting previously unselected package clang.
- Preparing to unpack .../14-clang_1%3a19.0-63_amd64.deb ...
- Unpacking clang (1:19.0-63) ...
- Selecting previously unselected package clang-tools-19.
- Preparing to unpack .../15-clang-tools-19_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking clang-tools-19 (1:19.1.7-3+b1) ...
- Selecting previously unselected package libc6-i386.
- Preparing to unpack .../16-libc6-i386_2.41-12+deb13u2_amd64.deb ...
- Unpacking libc6-i386 (2.41-12+deb13u2) ...
- Selecting previously unselected package lib32gcc-s1.
- Preparing to unpack .../17-lib32gcc-s1_14.2.0-19_amd64.deb ...
- Unpacking lib32gcc-s1 (14.2.0-19) ...
- Selecting previously unselected package lib32stdc++6.
- Preparing to unpack .../18-lib32stdc++6_14.2.0-19_amd64.deb ...
- Unpacking lib32stdc++6 (14.2.0-19) ...
- Selecting previously unselected package libbpf1:amd64.
- Preparing to unpack .../19-libbpf1_1%3a1.5.0-3_amd64.deb ...
- Unpacking libbpf1:amd64 (1:1.5.0-3) ...
- Selecting previously unselected package zlib1g-dev:amd64.
- Preparing to unpack .../20-zlib1g-dev_1%3a1.3.dfsg+really1.3.1-1+b1_amd64.deb ...
- Unpacking zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ...
- Selecting previously unselected package libzstd-dev:amd64.
- Preparing to unpack .../21-libzstd-dev_1.5.7+dfsg-1_amd64.deb ...
- Unpacking libzstd-dev:amd64 (1.5.7+dfsg-1) ...
- Selecting previously unselected package libelf-dev:amd64.
- Preparing to unpack .../22-libelf-dev_0.192-4_amd64.deb ...
- Unpacking libelf-dev:amd64 (0.192-4) ...
- Selecting previously unselected package libbpf-dev:amd64.
- Preparing to unpack .../23-libbpf-dev_1%3a1.5.0-3_amd64.deb ...
- Unpacking libbpf-dev:amd64 (1:1.5.0-3) ...
- Selecting previously unselected package libclang-rt-19-dev:amd64.
- Preparing to unpack .../24-libclang-rt-19-dev_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking libclang-rt-19-dev:amd64 (1:19.1.7-3+b1) ...
- Selecting previously unselected package libffi-dev:amd64.
- Preparing to unpack .../25-libffi-dev_3.4.8-2_amd64.deb ...
- Unpacking libffi-dev:amd64 (3.4.8-2) ...
- Selecting previously unselected package libncurses6:amd64.
- Preparing to unpack .../26-libncurses6_6.5+20250216-2_amd64.deb ...
- Unpacking libncurses6:amd64 (6.5+20250216-2) ...
- Selecting previously unselected package libncurses-dev:amd64.
- Preparing to unpack .../27-libncurses-dev_6.5+20250216-2_amd64.deb ...
- Unpacking libncurses-dev:amd64 (6.5+20250216-2) ...
- Selecting previously unselected package libpfm4:amd64.
- Preparing to unpack .../28-libpfm4_4.13.0+git99-gc5587f9-1_amd64.deb ...
- Unpacking libpfm4:amd64 (4.13.0+git99-gc5587f9-1) ...
- Selecting previously unselected package libpkgconf3:amd64.
- Preparing to unpack .../29-libpkgconf3_1.8.1-4_amd64.deb ...
- Unpacking libpkgconf3:amd64 (1.8.1-4) ...
- Selecting previously unselected package libxml2-dev:amd64.
- Preparing to unpack .../30-libxml2-dev_2.12.7+dfsg+really2.9.14-2.1+deb13u2_amd64.deb ...
- Unpacking libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-2.1+deb13u2) ...
- Selecting previously unselected package libyaml-0-2:amd64.
- Preparing to unpack .../31-libyaml-0-2_0.2.5-2_amd64.deb ...
- Unpacking libyaml-0-2:amd64 (0.2.5-2) ...
- Selecting previously unselected package libz3-dev:amd64.
- Preparing to unpack .../32-libz3-dev_4.13.3-1_amd64.deb ...
- Unpacking libz3-dev:amd64 (4.13.3-1) ...
- Selecting previously unselected package llvm-19-runtime.
- Preparing to unpack .../33-llvm-19-runtime_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking llvm-19-runtime (1:19.1.7-3+b1) ...
- Selecting previously unselected package llvm-19.
- Preparing to unpack .../34-llvm-19_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking llvm-19 (1:19.1.7-3+b1) ...
- Selecting previously unselected package python3-pygments.
- Preparing to unpack .../35-python3-pygments_2.18.0+dfsg-2_all.deb ...
- Unpacking python3-pygments (2.18.0+dfsg-2) ...
- Selecting previously unselected package python3-yaml.
- Preparing to unpack .../36-python3-yaml_6.0.2-1+b2_amd64.deb ...
- Unpacking python3-yaml (6.0.2-1+b2) ...
- Selecting previously unselected package llvm-19-tools.
- Preparing to unpack .../37-llvm-19-tools_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking llvm-19-tools (1:19.1.7-3+b1) ...
- Selecting previously unselected package llvm-19-dev.
- Preparing to unpack .../38-llvm-19-dev_1%3a19.1.7-3+b1_amd64.deb ...
- Unpacking llvm-19-dev (1:19.1.7-3+b1) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../39-pkgconf-bin_1.8.1-4_amd64.deb ...
- Unpacking pkgconf-bin (1.8.1-4) ...
- Selecting previously unselected package pkgconf:amd64.
- Preparing to unpack .../40-pkgconf_1.8.1-4_amd64.deb ...
- Unpacking pkgconf:amd64 (1.8.1-4) ...
- Selecting previously unselected package pkg-config:amd64.
- Preparing to unpack .../41-pkg-config_1.8.1-4_amd64.deb ...
- Unpacking pkg-config:amd64 (1.8.1-4) ...
- Setting up media-types (13.0.0) ...
- Setting up libpipeline1:amd64 (1.5.8-1) ...
- Setting up libzstd-dev:amd64 (1.5.7+dfsg-1) ...
- Setting up libclang-common-19-dev:amd64 (1:19.1.7-3+b1) ...
- Setting up libyaml-0-2:amd64 (0.2.5-2) ...
- Setting up libffi-dev:amd64 (3.4.8-2) ...
- Setting up libelf1t64:amd64 (0.192-4) ...
- Setting up libz3-4:amd64 (4.13.3-1) ...
- Setting up libpkgconf3:amd64 (1.8.1-4) ...
- Setting up libpfm4:amd64 (4.13.0+git99-gc5587f9-1) ...
- Setting up libncurses6:amd64 (6.5+20250216-2) ...
- Setting up binfmt-support (2.2.2-7) ...
- invoke-rc.d: could not determine current runlevel
- invoke-rc.d: policy-rc.d denied execution of start.
- Setting up pkgconf-bin (1.8.1-4) ...
- Setting up libgc1:amd64 (1:8.2.8-1) ...
- Setting up zlib1g-dev:amd64 (1:1.3.dfsg+really1.3.1-1+b1) ...
- Setting up libc6-i386 (2.41-12+deb13u2) ...
- Setting up readline-common (8.2-6) ...
- Setting up libxml2:amd64 (2.12.7+dfsg+really2.9.14-2.1+deb13u2) ...
- Setting up libbpf1:amd64 (1:1.5.0-3) ...
- Setting up libllvm19:amd64 (1:19.1.7-3+b1) ...
- Setting up libz3-dev:amd64 (4.13.3-1) ...
- Setting up libncurses-dev:amd64 (6.5+20250216-2) ...
- Setting up libclang1-19 (1:19.1.7-3+b1) ...
- Setting up bpftool (7.5.0+6.12.74-2) ...
- Setting up libobjc4:amd64 (14.2.0-19) ...
- Setting up libobjc-14-dev:amd64 (14.2.0-19) ...
- Setting up pkgconf:amd64 (1.8.1-4) ...
- Setting up libxml2-dev:amd64 (2.12.7+dfsg+really2.9.14-2.1+deb13u2) ...
- Setting up lib32gcc-s1 (14.2.0-19) ...
- Setting up lib32stdc++6 (14.2.0-19) ...
- Setting up libelf-dev:amd64 (0.192-4) ...
- Setting up pkg-config:amd64 (1.8.1-4) ...
- Setting up libreadline8t64:amd64 (8.2-6) ...
- Setting up libclang-rt-19-dev:amd64 (1:19.1.7-3+b1) ...
- Setting up llvm-19-linker-tools (1:19.1.7-3+b1) ...
- Setting up llvm-19-runtime (1:19.1.7-3+b1) ...
- Setting up libpython3.13-stdlib:amd64 (3.13.5-2) ...
- Setting up libpython3-stdlib:amd64 (3.13.5-1) ...
- Setting up libclang-cpp19 (1:19.1.7-3+b1) ...
- Setting up libbpf-dev:amd64 (1:1.5.0-3) ...
- 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...
- Setting up clang-19 (1:19.1.7-3+b1) ...
- Setting up clang-tools-19 (1:19.1.7-3+b1) ...
- Setting up python3-pygments (2.18.0+dfsg-2) ...
- Setting up clang (1:19.0-63) ...
- Setting up llvm-19 (1:19.1.7-3+b1) ...
- Setting up python3-yaml (6.0.2-1+b2) ...
- Setting up llvm-19-tools (1:19.1.7-3+b1) ...
- Setting up llvm-19-dev (1:19.1.7-3+b1) ...
- Processing triggers for libc-bin (2.41-12+deb13u2) ...
- Processing triggers for base-files (13.8+deb13u4) ...
2026-04-23 11:02.34 ---> saved as "de491b0bda332b34f386077209aa1a95ad2bcfea1e171d307a20593a9c3da6cc"

/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "opam install $DEPS"))
[NOTE] Package ocaml-config is already installed (current version is 1).
[NOTE] Package ocaml-base-compiler is already installed (current version is 4.08.1).
[NOTE] Package ocaml is already installed (current version is 4.08.1).
[NOTE] Package base-unix is already installed (current version is base).
[NOTE] Package base-threads is already installed (current version is base).
[NOTE] Package base-bigarray is already installed (current version is base).
The following actions will be performed:
=== install 38 packages
  - install base                v0.14.4
  - install conf-clang          2
  - install conf-libffi         2.0.0
  - install conf-pkg-config     4
  - install cppo                1.8.0
  - install csexp               1.5.2
  - install ctypes              0.24.0
  - install ctypes-foreign      0.24.0
  - install dune                3.22.2
  - install dune-configurator   3.22.2
  - install integers            0.7.0
  - install jane-street-headers v0.14.0
  - install jst-config          v0.14.1
  - install ocaml-compiler-libs v0.12.4
  - install ocamlfind           1.9.8
  - install octavius            1.2.2
  - install ppx_assert          v0.14.0
  - install ppx_base            v0.14.0
  - install ppx_cold            v0.14.0
  - install ppx_compare         v0.14.0
  - install ppx_derivers        1.2.1
  - install ppx_deriving        5.2.1
  - install ppx_enumerate       v0.14.0
  - install ppx_expect          v0.14.2
  - install ppx_hash            v0.14.0
  - install ppx_here            v0.14.0
  - install ppx_inline_test     v0.14.1
  - install ppx_js_style        v0.14.1
  - install ppx_optcomp         v0.14.3
  - install ppx_sexp_conv       v0.14.3
  - install ppxlib              0.25.1
  - install re                  1.11.0
  - install result              1.5
  - install seq                 base
  - install sexplib0            v0.14.0
  - install stdio               v0.14.0
  - install stdlib-shims        0.3.0
  - install time_now            v0.14.0

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed conf-pkg-config.4
-> retrieved cppo.1.8.0  (cached)
-> retrieved base.v0.14.4  (cached)
-> retrieved csexp.1.5.2  (cached)
-> installed conf-clang.2
-> installed conf-libffi.2.0.0
-> retrieved ctypes.0.24.0, ctypes-foreign.0.24.0  (cached)
-> retrieved integers.0.7.0  (cached)
-> retrieved jane-street-headers.v0.14.0  (cached)
-> retrieved jst-config.v0.14.1  (cached)
-> retrieved ocaml-compiler-libs.v0.12.4  (cached)
-> retrieved octavius.1.2.2  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ppx_assert.v0.14.0  (cached)
-> retrieved ppx_base.v0.14.0  (cached)
-> retrieved ppx_cold.v0.14.0  (cached)
-> retrieved ppx_compare.v0.14.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_enumerate.v0.14.0  (cached)
-> retrieved ppx_deriving.5.2.1  (cached)
-> retrieved ppx_expect.v0.14.2  (cached)
-> retrieved ppx_hash.v0.14.0  (cached)
-> retrieved ppx_here.v0.14.0  (cached)
-> retrieved ppx_inline_test.v0.14.1  (cached)
-> retrieved ppx_js_style.v0.14.1  (cached)
-> retrieved ppx_optcomp.v0.14.3  (cached)
-> retrieved ppx_sexp_conv.v0.14.3  (cached)
-> retrieved re.1.11.0  (cached)
-> retrieved result.1.5  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved sexplib0.v0.14.0  (cached)
-> retrieved stdio.v0.14.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved time_now.v0.14.0  (cached)
-> retrieved ppxlib.0.25.1  (cached)
-> retrieved dune.3.22.2, dune-configurator.3.22.2  (cached)
-> installed ocamlfind.1.9.8
-> installed dune.3.22.2
-> installed jane-street-headers.v0.14.0
-> installed ppx_derivers.1.2.1
-> installed csexp.1.5.2
-> installed cppo.1.8.0
-> installed ocaml-compiler-libs.v0.12.4
-> installed octavius.1.2.2
-> installed re.1.11.0
-> installed result.1.5
-> installed sexplib0.v0.14.0
-> installed stdlib-shims.0.3.0
-> installed integers.0.7.0
-> installed dune-configurator.3.22.2
-> installed ctypes.0.24.0
-> installed base.v0.14.4
-> installed ctypes-foreign.0.24.0
-> installed stdio.v0.14.0
-> installed ppxlib.0.25.1
-> installed ppx_cold.v0.14.0
-> installed ppx_here.v0.14.0
-> installed ppx_enumerate.v0.14.0
-> installed ppx_compare.v0.14.0
-> installed ppx_optcomp.v0.14.3
-> installed ppx_deriving.5.2.1
-> installed ppx_js_style.v0.14.1
-> installed ppx_sexp_conv.v0.14.3
-> installed ppx_hash.v0.14.0
-> installed ppx_assert.v0.14.0
-> installed ppx_base.v0.14.0
-> installed jst-config.v0.14.1
-> installed time_now.v0.14.0
-> installed ppx_inline_test.v0.14.1
-> installed ppx_expect.v0.14.2
Done.
# Run eval $(opam env) to update the current shell environment
2026-04-23 11:04.54 ---> saved as "11b4a6aa6318417995c349cf6282982f5476bd58c4f042290c8f2b3a89c6ae87"

/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "opam install --yes dune 'odoc>=1.5.0'"))
[NOTE] Package dune is already installed (current version is 3.22.2).
The following actions will be performed:
=== install 13 packages
  - install astring       0.8.5  [required by odoc]
  - install camlp-streams 5.0.1  [required by odoc-parser]
  - install cmdliner      2.1.1  [required by odoc]
  - install crunch        4.0.0  [required by odoc]
  - install fmt           0.11.0 [required by odoc]
  - install fpath         0.7.3  [required by odoc]
  - install ocamlbuild    0.16.1 [required by fmt, astring, fpath]
  - install odoc          3.1.0
  - install odoc-parser   3.1.0  [required by odoc]
  - install ptime         1.2.0  [required by crunch]
  - install topkg         1.1.1  [required by fmt, astring, fpath]
  - install tyxml         4.6.0  [required by odoc]
  - install uutf          1.0.4  [required by tyxml]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved camlp-streams.5.0.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved crunch.4.0.0  (cached)
-> retrieved fmt.0.11.0  (cached)
-> retrieved cmdliner.2.1.1  (cached)
-> retrieved fpath.0.7.3  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ptime.1.2.0  (cached)
-> retrieved topkg.1.1.1  (cached)
-> retrieved tyxml.4.6.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> installed camlp-streams.5.0.1
-> retrieved odoc.3.1.0, odoc-parser.3.1.0  (cached)
-> installed cmdliner.2.1.1
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed ptime.1.2.0
-> installed astring.0.8.5
-> installed crunch.4.0.0
-> installed fpath.0.7.3
-> installed odoc-parser.3.1.0
-> installed tyxml.4.6.0
-> installed odoc.3.1.0
Done.
# Run eval $(opam env) to update the current shell environment
2026-04-23 11:05.34 ---> saved as "a9ea7ff4b9142c2e3ccf2e9bafb12863352fde6a83912cfc552608371dc8122e"

/src: (copy (src .) (dst /src/))
2026-04-23 11:05.34 ---> saved as "5f1cb955b1d1679d3b0044faddc9303128d28951ca959885dcc2eedd1213db9e"

/src: (run (shell "ODOC_WARN_ERROR=false opam exec -- dune build @doc || (echo \"dune build @doc failed\"; exit 2)"))
2026-04-23 11:05.36 ---> saved as "47ba570af9b99b328413451aa9e279dc1743b7667fd94f535b4185bf09ffed80"
Job succeeded
2026-04-23 11:05.36: Job succeeded