2026-03-17 13:50.37: New job: test ahrefs/atd https://github.com/ahrefs/atd.git#refs/heads/martin/upgrade-ocaml (7b4a4d570913d729aece2e0e51b7a6ad1619cfe0) (linux-x86_64:opensuse-16.0-5.4_opam-2.5) Base: ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:2a63bf3c9f8ff4299191871fefcd9982b4c89def6f90e84b18808a2e78dba91d Opam project build To reproduce locally: git clone --recursive "https://github.com/ahrefs/atd.git" -b "martin/upgrade-ocaml" && cd "atd" && git reset --hard 7b4a4d57 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:2a63bf3c9f8ff4299191871fefcd9982b4c89def6f90e84b18808a2e78dba91d # opensuse-16.0-5.4_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.5 /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 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam ./ RUN opam pin add -yn atdts.dev './' && \ opam pin add -yn atds.dev './' && \ opam pin add -yn atdpy.dev './' && \ opam pin add -yn atdml.dev './' && \ opam pin add -yn atdj.dev './' && \ opam pin add -yn atdgen.dev './' && \ opam pin add -yn atdgen-runtime.dev './' && \ opam pin add -yn atdgen-codec-runtime.dev './' && \ opam pin add -yn atdd.dev './' && \ opam pin add -yn atdcpp.dev './' && \ opam pin add -yn atd.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.0" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS RUN opam install $DEPS COPY --chown=1000:1000 . /src RUN opam exec -- dune build @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-03-17 13:50.37: Using cache hint "ahrefs/atd-ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:2a63bf3c9f8ff4299191871fefcd9982b4c89def6f90e84b18808a2e78dba91d-opensuse-16.0-5.4_opam-2.5-50c6e615f413ea8a9a9e0569f162696d" 2026-03-17 13:50.37: Using OBuilder spec: ((from ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:2a63bf3c9f8ff4299191871fefcd9982b4c89def6f90e84b18808a2e78dba91d) (comment opensuse-16.0-5.4_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.5 /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 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam) (dst ./)) (run (network host) (shell "opam pin add -yn atdts.dev './' && \ \nopam pin add -yn atds.dev './' && \ \nopam pin add -yn atdpy.dev './' && \ \nopam pin add -yn atdml.dev './' && \ \nopam pin add -yn atdj.dev './' && \ \nopam pin add -yn atdgen.dev './' && \ \nopam pin add -yn atdgen-runtime.dev './' && \ \nopam pin add -yn atdgen-codec-runtime.dev './' && \ \nopam pin add -yn atdd.dev './' && \ \nopam pin add -yn atdcpp.dev './' && \ \nopam pin add -yn atd.dev './'")) (run (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.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.5 --depext-only -y atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst /src)) (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) ) 2026-03-17 13:50.37: Waiting for resource in pool OCluster 2026-03-17 15:23.04: Waiting for worker… 2026-03-17 15:29.40: Got resource from pool OCluster Building on clete All commits already cached HEAD is now at 7b4a4d5 with-doc dependency odoc depends on ocaml < 5.4, trying 5.3 (from ocaml/opam:opensuse-16.0-ocaml-5.4@sha256:2a63bf3c9f8ff4299191871fefcd9982b4c89def6f90e84b18808a2e78dba91d) 2026-03-17 15:29.41 ---> using "a84bee05f589564fb24f9acffdadcc84028641a9678370b03cb69ffcc1a9f2cc" from cache /: (comment opensuse-16.0-5.4_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.5 /usr/bin/opam")) 2026-03-17 15:29.41 ---> using "3cf1cb41b31187b89cb90851fadc99e0d2de8be3ffc794b66c2cec3de33443b6" 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 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 255 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=255 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] Initialised 2026-03-17 15:29.41 ---> using "f7b8099070269af6464bc9533c4adc8442a737aeb685354963b46d5c24ca80b6" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-90-generic The OCaml toplevel, version 5.4.0 2.5.0 2026-03-17 15:29.41 ---> using "e963d7be11ccfa116ae9f716be4328d1ce632c0d416f08ae9df31a49cc02a231" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-03-17 15:29.41 ---> using "fc42eafe1548ee3a40acb9eb65f0c03df776017ca40659b8730d553ef1a0a138" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 31462e7d24da1419f9eb9099a0b60ea507d91ef6 || git fetch origin master) && git reset -q --hard 31462e7d24da1419f9eb9099a0b60ea507d91ef6 && git log --no-decorate -n1 --oneline && opam update -u")) 31462e7d24 Merge pull request #29451 from dra27/relocatable-package <><> 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 at these versions (e.g. "opam upgrade ocaml.5.5.0"), which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. # To update the current shell environment, run: eval $(opam env) 2026-03-17 15:29.41 ---> using "a047e7d92d72c98905ac637aff25b74e320cddf4d195733d31076a61e63cb4f8" from cache /src: (copy (src atdts.opam atds.opam atdpy.opam atdml.opam atdj.opam atdgen.opam atdgen-runtime.opam atdgen-codec-runtime.opam atdd.opam atdcpp.opam atd.opam) (dst ./)) 2026-03-17 15:29.41 ---> using "9e7692e26ae3f7b0a489c48d171f482ef863e6868355c740f934be3098e0f8ee" from cache /src: (run (network host) (shell "opam pin add -yn atdts.dev './' && \ \nopam pin add -yn atds.dev './' && \ \nopam pin add -yn atdpy.dev './' && \ \nopam pin add -yn atdml.dev './' && \ \nopam pin add -yn atdj.dev './' && \ \nopam pin add -yn atdgen.dev './' && \ \nopam pin add -yn atdgen-runtime.dev './' && \ \nopam pin add -yn atdgen-codec-runtime.dev './' && \ \nopam pin add -yn atdd.dev './' && \ \nopam pin add -yn atdcpp.dev './' && \ \nopam pin add -yn atd.dev './'")) [atdts.dev] synchronised (file:///src) atdts is now pinned to file:///src (version dev) [atds.dev] synchronised (file:///src) atds is now pinned to file:///src (version dev) [atdpy.dev] synchronised (file:///src) atdpy is now pinned to file:///src (version dev) [NOTE] Package atdml does not exist in opam repositories registered in the current switch. [atdml.dev] synchronised (file:///src) atdml is now pinned to file:///src (version dev) [atdj.dev] synchronised (file:///src) atdj is now pinned to file:///src (version dev) [atdgen.dev] synchronised (file:///src) atdgen is now pinned to file:///src (version dev) [atdgen-runtime.dev] synchronised (file:///src) atdgen-runtime is now pinned to file:///src (version dev) [atdgen-codec-runtime.dev] synchronised (file:///src) atdgen-codec-runtime is now pinned to file:///src (version dev) [atdd.dev] synchronised (file:///src) atdd is now pinned to file:///src (version dev) [atdcpp.dev] synchronised (file:///src) atdcpp is now pinned to file:///src (version dev) [atd.dev] synchronised (file:///src) atd is now pinned to file:///src (version dev) 2026-03-17 15:29.42 ---> saved as "bc6b321e7f26df088e9925e913a71c548d0bf5fb3fd7b12f1021d4d67c85e5ca" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-03-17 15:29.43 ---> saved as "12f89e7471af1d593002a1ee79d236098ebba4b614d24fdeead99c7f12876b83" /src: (env DEPS "alcotest.1.9.1 astring.0.8.5 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base biniou.1.2.2 camlp-streams.5.0.1 cmdliner.2.1.0 conf-python-3.9.0.0 cppo.1.8.0 dune.3.21.1 easy-format.1.3.4 fmt.0.11.0 fpath.0.7.3 menhir.20260209 menhirCST.20260209 menhirGLR.20260209 menhirLib.20260209 menhirSdk.20260209 ocaml.5.4.0 ocaml-base-compiler.5.4.0 ocaml-compiler.5.4.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocamlbuild.0.16.1 ocamlfind.1.9.8 ppx_derivers.1.2.1 ppx_deriving.6.1.1 ppxlib.0.37.0 re.1.14.0 sexplib0.v0.17.0 stdlib-shims.0.3.0 testo.0.4.0 testo-diff.0.4.0 testo-util.0.4.0 topkg.1.1.1 uutf.1.0.4 yojson.3.0.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.5 --depext-only -y atdts.dev atds.dev atdpy.dev atdml.dev atdj.dev atdgen.dev atdgen-runtime.dev atdgen-codec-runtime.dev atdd.dev atdcpp.dev atd.dev $DEPS")) + /usr/bin/sudo "zypper" "--non-interactive" "refresh" - Repository 'repo-openh264 (16.0)' is up to date. - Retrieving repository 'repo-oss (16.0)' metadata [.. - Looking for gpg keys in repository repo-oss (16.0). - gpgkey=http://cdn.opensuse.org/distribution/leap/16.0/repo/oss/x86_64/repodata/repomd.xml.key - ... - ....... - .......... - ......... - .........done] - Building repository 'repo-oss (16.0)' cache [.. - ..done] - All repositories have been refreshed. <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [atd.dev] synchronised (file:///src) [atdcpp.dev] synchronised (file:///src) [atdd.dev] synchronised (file:///src) [atdgen.dev] synchronised (file:///src) [atdgen-codec-runtime.dev] synchronised (file:///src) [atdgen-runtime.dev] synchronised (file:///src) [atdj.dev] synchronised (file:///src) [atdml.dev] synchronised (file:///src) [atdpy.dev] synchronised (file:///src) [atds.dev] synchronised (file:///src) [atdts.dev] synchronised (file:///src) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 3). [NOTE] Package ocaml-compiler is already installed (current version is 5.4.0). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0). [NOTE] Package ocaml is already installed (current version is 5.4.0). [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-nnp is already installed (current version is base). [NOTE] Package base-effects is already installed (current version is base). [NOTE] Package base-domains 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: python3 <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><> + /usr/bin/sudo "zypper" "--non-interactive" "install" "python3" - Refreshing service 'openSUSE'. - Loading repository data... - Reading installed packages... - 'python3' not found in package names. Trying capabilities. - Resolving package dependencies... - - The following 4 NEW packages are going to be installed: - libmpdec4 libpython3_13-1_0 python313 python313-base - - 4 new packages to install. - - Package download size: 11.9 MiB - - Package install size change: - | 44.8 MiB required by packages that will be installed - 44.8 MiB | - 0 B released by packages that will be removed - - Backend: classic_rpmtrans - Continue? [y/n/v/...? shows all options] (y): y - Preloading Packages [.. - Preloading: libmpdec4-4.0.1-160000.2.2.x86_64.rpm [done] - . - Preloading: python313-3.13.12-160000.1.1.x86_64.rpm [done] - . - . - Preloading: python313-base-3.13.12-160000.1.1.x86_64.rpm [done] - . - - Preloading: libpython3_13-1_0-3.13.12-160000.1.1.x86_64.rpm [Error: "The requested URL returned error: 404", trying next mirror.] - .. - Preloading: libpython3_13-1_0-3.13.12-160000.1.1.x86_64.rpm [done] - .done] - Retrieving: libmpdec4-4.0.1-160000.2.2.x86_64 (repo-oss (16.0)) (1/4), 85.2 KiB - Retrieving: libpython3_13-1_0-3.13.12-160000.1.1.x86_64 (repo-oss (16.0)) (2/4), 2.1 MiB - Retrieving: python313-base-3.13.12-160000.1.1.x86_64 (repo-oss (16.0)) (3/4), 9.2 MiB - Retrieving: python313-3.13.12-160000.1.1.x86_64 (repo-oss (16.0)) (4/4), 546.7 KiB - - Checking for file conflicts: [...done] - (1/4) Installing: libmpdec4-4.0.1-160000.2.2.x86_64 [..done] - (2/4) Installing: libpython3_13-1_0-3.13.12-160000.1.1.x86_64 [...done] - (3/4) Installing: python313-base-3.13.12-160000.1.1.x86_64 [.... - .......done] - (4/4) Installing: python313-3.13.12-160000.1.1.x86_64 [..done] - Running post-transaction scripts [...done] # To update the current shell environment, run: eval $(opam env) 2026-03-17 15:30.31 ---> saved as "e9762db1f8e73ce0a21bd06aba7ac3fe2361e3324392e62b12cd3a3894e84385" /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 3). [NOTE] Package ocaml-compiler is already installed (current version is 5.4.0). [NOTE] Package ocaml-base-compiler is already installed (current version is 5.4.0). [NOTE] Package ocaml is already installed (current version is 5.4.0). [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-nnp is already installed (current version is base). [NOTE] Package base-effects is already installed (current version is base). [NOTE] Package base-domains 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 32 packages - install alcotest 1.9.1 - install astring 0.8.5 - install biniou 1.2.2 - install camlp-streams 5.0.1 - install cmdliner 2.1.0 - install conf-python-3 9.0.0 - install cppo 1.8.0 - install dune 3.21.1 - install easy-format 1.3.4 - install fmt 0.11.0 - install fpath 0.7.3 - install menhir 20260209 - install menhirCST 20260209 - install menhirGLR 20260209 - install menhirLib 20260209 - install menhirSdk 20260209 - install ocaml-compiler-libs v0.17.0 - install ocaml-syntax-shims 1.0.0 - install ocamlbuild 0.16.1 - install ocamlfind 1.9.8 - install ppx_derivers 1.2.1 - install ppx_deriving 6.1.1 - install ppxlib 0.37.0 - install re 1.14.0 - install sexplib0 v0.17.0 - install stdlib-shims 0.3.0 - install testo 0.4.0 - install testo-diff 0.4.0 - install testo-util 0.4.0 - install topkg 1.1.1 - install uutf 1.0.4 - install yojson 3.0.0 The following system packages will first need to be installed: python3 <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><> opam believes some required external dependencies are missing. opam can: > 1. Run zypper to install them (may need root/sudo access) 2. Display the recommended zypper 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 "zypper" "--non-interactive" "install" "python3" - Refreshing service 'openSUSE'. - Loading repository data... - Reading installed packages... - 'python3' not found in package names. Trying capabilities. - 'python313' providing 'python3' is already installed. - Resolving package dependencies... - Nothing to do. <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved alcotest.1.9.1 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved biniou.1.2.2 (cached) -> retrieved conf-python-3.9.0.0 (cached) -> retrieved camlp-streams.5.0.1 (cached) -> retrieved cppo.1.8.0 (cached) -> retrieved easy-format.1.3.4 (cached) -> retrieved cmdliner.2.1.0 (cached) -> installed conf-python-3.9.0.0 -> retrieved fmt.0.11.0 (cached) -> retrieved fpath.0.7.3 (cached) -> retrieved ocaml-compiler-libs.v0.17.0 (cached) -> retrieved ocaml-syntax-shims.1.0.0 (cached) -> retrieved ocamlbuild.0.16.1 (cached) -> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209 (cached) -> retrieved ocamlfind.1.9.8 (cached) -> retrieved ppx_derivers.1.2.1 (cached) -> retrieved ppx_deriving.6.1.1 (cached) -> retrieved re.1.14.0 (cached) -> retrieved sexplib0.v0.17.0 (cached) -> retrieved stdlib-shims.0.3.0 (cached) -> retrieved dune.3.21.1 (cached) -> retrieved ppxlib.0.37.0 (cached) -> retrieved testo.0.4.0, testo-diff.0.4.0, testo-util.0.4.0 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved yojson.3.0.0 (cached) -> installed cmdliner.2.1.0 -> installed ocamlfind.1.9.8 -> installed ocamlbuild.0.16.1 -> installed topkg.1.1.1 -> installed uutf.1.0.4 -> installed fmt.0.11.0 -> installed astring.0.8.5 -> installed fpath.0.7.3 -> installed dune.3.21.1 -> installed camlp-streams.5.0.1 -> installed easy-format.1.3.4 -> installed menhirCST.20260209 -> installed ppx_derivers.1.2.1 -> installed stdlib-shims.0.3.0 -> installed menhirLib.20260209 -> installed menhirGLR.20260209 -> installed menhirSdk.20260209 -> installed cppo.1.8.0 -> installed sexplib0.v0.17.0 -> installed biniou.1.2.2 -> installed re.1.14.0 -> installed ocaml-syntax-shims.1.0.0 -> installed ocaml-compiler-libs.v0.17.0 -> installed yojson.3.0.0 -> installed alcotest.1.9.1 -> installed menhir.20260209 -> installed ppxlib.0.37.0 -> installed ppx_deriving.6.1.1 -> installed testo-diff.0.4.0 -> installed testo-util.0.4.0 -> installed testo.0.4.0 Done. # To update the current shell environment, run: eval $(opam env) 2026-03-17 15:34.48 ---> saved as "c268b8941345c0de2b682659ae42d0fb37f208ff44af7cd2c5d5ddc5151f83e9" /src: (copy (src .) (dst /src)) 2026-03-17 15:34.51 ---> saved as "a5309cd1a315ec38be3cca47c871730f3959a78d998b66d3fa74644714464c3f" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) File "atdcat/test/dune", lines 57-87, characters 0-907: 57 | (rule 58 | (alias runtest) 59 | (deps .... 85 | ) 86 | ) 87 | ) (cd _build/default/atdcat/test && /usr/bin/python3 -m jsonschema schema.json -i data.json) /usr/bin/python3: No module named jsonschema File "atdpy/test/python-tests/dune", lines 23-35, characters 0-217: 23 | (rule 24 | (alias runtest) 25 | (package atdpy) .... 33 | (run python3 -m flake8 .) 34 | (run python3 -m mypy --strict .) 35 | (run python3 -m pytest .)))) (cd _build/default/atdpy/test/python-tests && /usr/bin/python3 -m flake8 .) /usr/bin/python3: No module named flake8 (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -o test2j -open Test,Test2,Testj -ntd test2.atd) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -j-gen-modules -o test_ambiguous_record_j -open Test_ambiguous_record_t -ntd test_ambiguous_record.atd) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -validate -extend Test test.atd -o testv) Warning: option "-validate" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -j-gen-modules -o test_polymorphic_wrap_j test_polymorphic_wrap.atd) Warning: option "-json" is deprecated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -extend Test test.atd -json -o testjstd_j) Warning: option "-json" is deprecated. File "atdcpp/test/cpp-tests/dune", lines 19-28, characters 0-183: 19 | (rule 20 | (alias runtest) 21 | (package atdcpp) 22 | (deps 23 | (glob_files *.cpp)) 24 | (action 25 | (progn 26 | (bash "g++ -I../../lib/rapidjson/include -std=c++17 %{deps} -o test") 27 | (bash ./test) 28 | ))) (cd _build/default/atdcpp/test/cpp-tests && /usr/bin/bash -e -u -o pipefail -c 'g++ -I../../lib/rapidjson/include -std=c++17 everything_atd.cpp test_atdd.cpp -o test') In file included from everything_atd.cpp:12: everything_atd.hpp:12:10: fatal error: rapidjson/document.h: No such file or directory 12 | #include <rapidjson/document.h> | ^~~~~~~~~~~~~~~~~~~~~~ compilation terminated. In file included from test_atdd.cpp:12: everything_atd.hpp:12:10: fatal error: rapidjson/document.h: No such file or directory 12 | #include <rapidjson/document.h> | ^~~~~~~~~~~~~~~~~~~~~~ compilation terminated. (cd _build/default/atdgen/test && ../../../install/default/bin/atdgen -json -extend Test -j-custom-fields 'fun loc s -> Printf.eprintf "Warning: skipping field %s (def: %s) " s loc' test.atd -o testj) Warning: option "-json" is deprecated. (cd _build/default/atd/test && ./unit_tests.exe) Testing `atd'. This run has ID `E8044E7V'. [OK] Annot 0 valid. [OK] Annot 1 invalid1. [OK] Annot 2 invalid2. [OK] Annot 3 invalid3. [OK] Annot 4 invalid4. [OK] Annot 5 invalid5. [OK] Annot 6 invalid6. [OK] Annot 7 invalid7. [OK] Annot 8 invalid8. [OK] Annot 9 invalid9. [OK] Sort 0 sort. [OK] Unique_name 0 reserved identifiers. [OK] Unique_name 1 reserved prefixes. [OK] Unique_name 2 identifier creation. [OK] Doc 0 normalize "". [OK] Doc 1 normalize "a". [OK] Doc 2 normalize "a b". [OK] Doc 3 normalize "a\nb". [OK] Doc 4 normalize "a b". [OK] Doc 5 normalize "a \n b". [OK] Doc 6 normalize "a \n\n b". [OK] Doc 7 normalize " a ". [OK] Doc 8 normalize "\n\na\n\n". [OK] Doc 9 normalize "{{}}". [OK] Doc 10 normalize "{{a}}". [OK] Doc 11 normalize "{{ a b\n\nc\n }}". [OK] Doc 12 normalize "{{ {a} }}". [OK] Doc 13 normalize "{{{}}}". [OK] Doc 14 normalize "{{{a}}}". [OK] Doc 15 normalize "{{{ }}}". [OK] Doc 16 normalize "{{{ {{a}} }}}". [OK] Doc 17 normalize "{{{ a\n\n b }}}". Full test results in `/src/_build/default/atd/test/_build/_tests/atd'. Test Successful in 0.008s. 32 tests run. (cd _build/default/atdts/src/test && ./Main.exe) Testing `atdts'. This run has ID `3Q2Z18AA'. Full test results in `/src/_build/default/atdts/src/test/_build/_tests/atdts'. Test Successful in 0.000s. 0 test run. File "atdd/test/dlang-tests/dune", lines 17-26, characters 0-141: 17 | (rule 18 | (alias runtest) 19 | (package atdd) 20 | (deps 21 | (glob_files *.d)) 22 | (action 23 | (progn 24 | (bash "ldc2 %{deps} --of test") 25 | (bash ./test) 26 | ))) (cd _build/default/atdd/test/dlang-tests && /usr/bin/bash -e -u -o pipefail -c 'ldc2 everything_atd.d test_atdd.d --of test') /usr/bin/bash: line 1: ldc2: command not found (cd _build/default/atdpy/src/test && ./Main.exe) Testing `atdpy'. This run has ID `EOYGNC1K'. Full test results in `/src/_build/default/atdpy/src/test/_build/_tests/atdpy'. Test Successful in 0.000s. 0 test run. File "atdj/test/dune", lines 53-61, characters 0-160: 53 | (rule 54 | (alias runtest) 55 | (package atdj) 56 | (deps 57 | AtdjTest.java 58 | json.jar 59 | junit-4.8.2.jar 60 | (glob_files com/mylife/test/*.java)) 61 | (action (run ./run_test.sh))) (cd _build/default/atdj/test && ./run_test.sh) ./run_test.sh: line 5: javac: command not found ./run_test.sh: line 6: javac: command not found ./run_test.sh: line 7: javadoc: command not found ./run_test.sh: line 10: java: command not found File "atds/test/dune", lines 13-22, characters 0-177: 13 | (rule 14 | (alias runtest) 15 | (package atds) 16 | (deps 17 | AtdsTest.scala 18 | argonaut_2.11-6.2.2.jar 19 | argonaut_2.12-6.2.2.jar 20 | junit-4.8.2.jar 21 | test.scala) 22 | (action (run ./run_test.sh))) (cd _build/default/atds/test && ./run_test.sh) ./run_test.sh: line 6: scalac: command not found (cd _build/default/atdgen/test && ./test_atdgen_main.exe) Testing `atdgen'. This run has ID `9HF8MEH6'. [OK] atdgen 0 ocaml internals. [OK] atdgen 1 biniou missing record fields. [OK] atdgen 2 biniou missing tuple fields. [OK] atdgen 3 biniou read/write unit. [OK] atdgen 4 json missing record fields. [OK] atdgen 5 json missing tuple fields. [OK] atdgen 6 json extra field warning. [OK] atdgen 7 json association list. [OK] atdgen 8 json association array. [OK] atdgen 9 json ints derived from ocaml floats. [OK] atdgen 10 biniou correctness. [OK] atdgen 11 json correctness. [OK] atdgen 12 json space. [OK] atdgen 13 validators0. [OK] atdgen 14 validators1. [OK] atdgen 15 validators2. [OK] atdgen 16 validators3. [OK] atdgen 17 validators4. [OK] atdgen 18 json files. [OK] atdgen 19 json streams. [OK] atdgen 20 raw JSON. [OK] atdgen 21 ocaml wrapping - ints. [OK] atdgen 22 ocaml wrapping - double wrapping. [OK] atdgen 23 ocaml wrapping - with validation. [OK] atdgen 24 ocaml wrapping - wrap constructor without... [OK] atdgen 25 check length of floats serialized as floa... [OK] atdgen 26 print JSON floats with maximum number of ... [OK] atdgen 27 read json record with null fields meaning... [OK] atdgen 28 read and write a variant represented as a... [OK] atdgen 29 read and write a variant represented as a... [OK] atdgen 30 test variants represented with single-fie... [OK] atdgen 31 emulate the retired tag_field feature. [OK] atdgen 32 emulate the retired tag_field feature, wi... [OK] atdgen 33 test <json open_enum>. [OK] atdgen 34 test ambiguous record with json adapters. [OK] atdgen 35 test ambiguous classic variants with json... [OK] atdgen 36 test wrapping of polymorphic types. [OK] atdgen 37 json encoding int. [OK] atdgen 38 json encoding & decoding int. [OK] atdgen 39 json encoding int with string representat... [OK] atdgen 40 json encoding & decoding int with string ... [OK] atdgen 41 abstract types. [OK] atdgen 42 untyped json. [OK] atdgen 43 generic. [OK] atdgen 44 inline-records. Full test results in `/src/_build/default/atdgen/test/_build/_tests/atdgen'. Test Successful in 0.024s. 45 tests run. "/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1 2026-03-17 15:35.08: Job failed: Failed: Build failed