2026-04-13 21:44.38: New job: test ahrefs/atd https://github.com/ahrefs/atd.git#refs/heads/master (7b155a06e894828e070dd6296c38e9910f9a426f) (macos-arm64:macos-homebrew-5.4_arm64_opam-2.5) Base: macos-homebrew-ocaml-5.4 Opam project build To reproduce locally: git clone --recursive "https://github.com/ahrefs/atd.git" -b "master" && cd "atd" && git reset --hard 7b155a06 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM macos-homebrew-ocaml-5.4 # macos-homebrew-5.4_arm64_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" RUN ln -f ~/local/bin/opam-2.5 ~/local/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version RUN cd ~/opam-repository && (git cat-file -e 89f06e80b560f790bbdcff688b789a6b39ebfb2f || git fetch origin master) && git reset -q --hard 89f06e80b560f790bbdcff688b789a6b39ebfb2f && 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 atd-yamlx.opam atd-jsonlike.opam ./src/./ RUN opam pin add -yn atdts.dev './src/./' && \ opam pin add -yn atds.dev './src/./' && \ opam pin add -yn atdpy.dev './src/./' && \ opam pin add -yn atdml.dev './src/./' && \ opam pin add -yn atdj.dev './src/./' && \ opam pin add -yn atdgen.dev './src/./' && \ opam pin add -yn atdgen-runtime.dev './src/./' && \ opam pin add -yn atdgen-codec-runtime.dev './src/./' && \ opam pin add -yn atdd.dev './src/./' && \ opam pin add -yn atdcpp.dev './src/./' && \ opam pin add -yn atd.dev './src/./' && \ opam pin add -yn atd-yamlx.dev './src/./' && \ opam pin add -yn atd-jsonlike.dev './src/./' RUN echo '(lang dune 3.0)' > './src/./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.22.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.38.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 yamlx.0.1.0 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 atd-yamlx.dev atd-jsonlike.dev $DEPS RUN opam install $DEPS COPY --chown=1000:1000 . ./src RUN cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-04-13 21:44.38: Using cache hint "ahrefs/atd-macos-homebrew-ocaml-5.4-macos-homebrew-5.4_arm64_opam-2.5-7181ccde6e33219a6ba2e9f6d2ec3b4b" 2026-04-13 21:44.38: Using OBuilder spec: ((from macos-homebrew-ocaml-5.4) (comment macos-homebrew-5.4_arm64_opam-2.5) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (run (shell "ln -f ~/local/bin/opam-2.5 ~/local/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 89f06e80b560f790bbdcff688b789a6b39ebfb2f || git fetch origin master) && git reset -q --hard 89f06e80b560f790bbdcff688b789a6b39ebfb2f && 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 atd-yamlx.opam atd-jsonlike.opam) (dst ./src/./)) (run (network host) (shell "opam pin add -yn atdts.dev './src/./' && \ \nopam pin add -yn atds.dev './src/./' && \ \nopam pin add -yn atdpy.dev './src/./' && \ \nopam pin add -yn atdml.dev './src/./' && \ \nopam pin add -yn atdj.dev './src/./' && \ \nopam pin add -yn atdgen.dev './src/./' && \ \nopam pin add -yn atdgen-runtime.dev './src/./' && \ \nopam pin add -yn atdgen-codec-runtime.dev './src/./' && \ \nopam pin add -yn atdd.dev './src/./' && \ \nopam pin add -yn atdcpp.dev './src/./' && \ \nopam pin add -yn atd.dev './src/./' && \ \nopam pin add -yn atd-yamlx.dev './src/./' && \ \nopam pin add -yn atd-jsonlike.dev './src/./'")) (run (shell "echo '(lang dune 3.0)' > './src/./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.22.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.38.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 yamlx.0.1.0 yojson.3.0.0") (env CI true) (env OCAMLCI true) (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (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 atd-yamlx.dev atd-jsonlike.dev $DEPS")) (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst ./src)) (run (shell "cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build")) ) 2026-04-13 21:44.38: Waiting for resource in pool OCluster 2026-04-13 21:44.38: Waiting for worker… 2026-04-13 21:45.13: Got resource from pool OCluster Building on m1-worker-02 HEAD is now at fbadf0d Release 4.1.0 (#496) HEAD is now at 7b155a0 Simplify the maintenance of opam packages Now, all the atd packages depend on the same version of the other atd packages. This is overconstrained but simplifies opam-repository releases and it's not expected to cause problems for users. (from macos-homebrew-ocaml-5.4) 2026-04-13 21:45.15 ---> using "338135fbf1889e924a607b47198b8b308c32a925cc9436066d65a9bdc402cad5" from cache /: (comment macos-homebrew-5.4_arm64_opam-2.5) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (run (shell "ln -f ~/local/bin/opam-2.5 ~/local/bin/opam")) 2026-04-13 21:45.15 ---> using "0e9d0f8ed44ab1f77ef30c8d8456629e6c63f869a24319cbb64657a84e315111" from cache /: (run (shell "opam init --reinit -ni")) No configuration file found, using 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 /Users/mac1000/.opam from version 2.1 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 1 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=1 --global Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [default] no changes from git+file:///Users/mac1000/opam-repository 2026-04-13 21:45.15 ---> using "06effe220fa63e5f9fae9bf4643255961d59bf292a94931a0e1dd6d81a9fa7c6" from cache /: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Darwin 24.5.0 The OCaml toplevel, version 5.4.0 2.5.0 2026-04-13 21:45.15 ---> using "78e99acc02a52806060d0075d40f6ea681e9ef77eb60ecbbaff6e5155272646b" from cache /: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (network host) (shell "cd ~/opam-repository && (git cat-file -e 89f06e80b560f790bbdcff688b789a6b39ebfb2f || git fetch origin master) && git reset -q --hard 89f06e80b560f790bbdcff688b789a6b39ebfb2f && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 95f7875db7..c18adeb75d master -> origin/master 89f06e80b5 Merge pull request #29684 from mjambon/release-yamlx-0.1.0 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [default] synchronised from git+file:///Users/mac1000/opam-repository Everything as up-to-date as possible The following packages are not being upgraded because the new versions conflict with other installed packages: - ocaml.5.5.0 - ocaml-compiler.5.4.1 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-04-13 21:45.15 ---> using "60a20cfbe70c9baef56d2b8a86b95b2443b95657982b25b35c9f6eacbe7463cb" from cache /: (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 atd-yamlx.opam atd-jsonlike.opam) (dst ./src/./)) 2026-04-13 21:45.16 ---> saved as "54075df4c7a10cb715e5d9b481871382073bf2e2ed765624bb81138c99ee2178" /: (run (network host) (shell "opam pin add -yn atdts.dev './src/./' && \ \nopam pin add -yn atds.dev './src/./' && \ \nopam pin add -yn atdpy.dev './src/./' && \ \nopam pin add -yn atdml.dev './src/./' && \ \nopam pin add -yn atdj.dev './src/./' && \ \nopam pin add -yn atdgen.dev './src/./' && \ \nopam pin add -yn atdgen-runtime.dev './src/./' && \ \nopam pin add -yn atdgen-codec-runtime.dev './src/./' && \ \nopam pin add -yn atdd.dev './src/./' && \ \nopam pin add -yn atdcpp.dev './src/./' && \ \nopam pin add -yn atd.dev './src/./' && \ \nopam pin add -yn atd-yamlx.dev './src/./' && \ \nopam pin add -yn atd-jsonlike.dev './src/./'")) [atdts.dev] synchronised (file:///Users/mac1000/src) atdts is now pinned to file:///Users/mac1000/src (version dev) [atds.dev] synchronised (file:///Users/mac1000/src) atds is now pinned to file:///Users/mac1000/src (version dev) [atdpy.dev] synchronised (file:///Users/mac1000/src) atdpy is now pinned to file:///Users/mac1000/src (version dev) [atdml.dev] synchronised (file:///Users/mac1000/src) atdml is now pinned to file:///Users/mac1000/src (version dev) [atdj.dev] synchronised (file:///Users/mac1000/src) atdj is now pinned to file:///Users/mac1000/src (version dev) [atdgen.dev] synchronised (file:///Users/mac1000/src) atdgen is now pinned to file:///Users/mac1000/src (version dev) [atdgen-runtime.dev] synchronised (file:///Users/mac1000/src) atdgen-runtime is now pinned to file:///Users/mac1000/src (version dev) [atdgen-codec-runtime.dev] synchronised (file:///Users/mac1000/src) atdgen-codec-runtime is now pinned to file:///Users/mac1000/src (version dev) [atdd.dev] synchronised (file:///Users/mac1000/src) atdd is now pinned to file:///Users/mac1000/src (version dev) [atdcpp.dev] synchronised (file:///Users/mac1000/src) atdcpp is now pinned to file:///Users/mac1000/src (version dev) [atd.dev] synchronised (file:///Users/mac1000/src) atd is now pinned to file:///Users/mac1000/src (version dev) [NOTE] Package atd-yamlx does not exist in opam repositories registered in the current switch. [atd-yamlx.dev] synchronised (file:///Users/mac1000/src) atd-yamlx is now pinned to file:///Users/mac1000/src (version dev) [NOTE] Package atd-jsonlike does not exist in opam repositories registered in the current switch. [atd-jsonlike.dev] synchronised (file:///Users/mac1000/src) atd-jsonlike is now pinned to file:///Users/mac1000/src (version dev) 2026-04-13 21:45.44 ---> saved as "f21d0b29d90ab1e5380187774efd4553d4dde474698b5fde65522c1b67622cff" /: (run (shell "echo '(lang dune 3.0)' > './src/./dune-project'")) 2026-04-13 21:45.45 ---> saved as "455f790268aace4d8f0e2abf26f6f8453d07619740734adc98b596e82c25c215" /: (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.22.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.38.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 yamlx.0.1.0 yojson.3.0.0") /: (env CI true) /: (env OCAMLCI true) /: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (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 atd-yamlx.dev atd-jsonlike.dev $DEPS")) + /opt/homebrew/bin/brew "update" - ==> Updating Homebrew... - Already up-to-date. <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [atd-yamlx.dev] synchronised (file:///Users/mac1000/src) [atd-jsonlike.dev] synchronised (file:///Users/mac1000/src) [atd.dev] synchronised (file:///Users/mac1000/src) [atdd.dev] synchronised (file:///Users/mac1000/src) [atdcpp.dev] synchronised (file:///Users/mac1000/src) [atdgen.dev] synchronised (file:///Users/mac1000/src) [atdgen-codec-runtime.dev] synchronised (file:///Users/mac1000/src) [atdgen-runtime.dev] synchronised (file:///Users/mac1000/src) [atdj.dev] synchronised (file:///Users/mac1000/src) [atdml.dev] synchronised (file:///Users/mac1000/src) [atdpy.dev] synchronised (file:///Users/mac1000/src) [atds.dev] synchronised (file:///Users/mac1000/src) [atdts.dev] synchronised (file:///Users/mac1000/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: python@3.9 <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><> + /opt/homebrew/bin/brew "install" "python@3.9" - ==> Fetching downloads for: python@3.9 - Warning: python@3.9 has been deprecated because it is deprecated upstream! It will be disabled on 2026-10-15. - ✔︎ Bottle Manifest python@3.9 (3.9.25) - ✔︎ Bottle Manifest python@3.9 (3.9.25) - ✔︎ Bottle Manifest gdbm (1.26) - ✔︎ Bottle gdbm (1.26) - ✔︎ Bottle Manifest mpdecimal (4.0.1) - ✔︎ Bottle mpdecimal (4.0.1) - ✔︎ Bottle Manifest ca-certificates (2026-03-19) - ✔︎ Bottle ca-certificates (2026-03-19) - ✔︎ Bottle Manifest openssl@3 (3.6.2) - ✔︎ Bottle Manifest readline (8.3.3) - ✔︎ Bottle Manifest sqlite (3.53.0) - ✔︎ Bottle Manifest xz (5.8.3) - ✔︎ Bottle readline (8.3.3) - ✔︎ Bottle sqlite (3.53.0) - ✔︎ Bottle xz (5.8.3) - ✔︎ Bottle python@3.9 (3.9.25) - ✔︎ Bottle openssl@3 (3.6.2) - ==> Installing dependencies for python@3.9: gdbm, mpdecimal, ca-certificates, openssl@3, readline, sqlite and xz - ==> Installing python@3.9 dependency: gdbm - ==> Pouring gdbm--1.26.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/gdbm/1.26: 25 files, 1.1MB - ==> Installing python@3.9 dependency: mpdecimal - ==> Pouring mpdecimal--4.0.1.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/mpdecimal/4.0.1: 22 files, 659.6KB - ==> Installing python@3.9 dependency: ca-certificates - ==> Pouring ca-certificates--2026-03-19.all.bottle.tar.gz - ==> Regenerating CA certificate bundle from keychain, this may take a while... - 🍺 /opt/homebrew/Cellar/ca-certificates/2026-03-19: 4 files, 237KB - ==> Installing python@3.9 dependency: openssl@3 - ==> Pouring openssl@3--3.6.2.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/openssl@3/3.6.2: 7,627 files, 37.5MB - ==> Installing python@3.9 dependency: readline - ==> Pouring readline--8.3.3.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/readline/8.3.3: 56 files, 2.7MB - ==> Installing python@3.9 dependency: sqlite - ==> Pouring sqlite--3.53.0.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/sqlite/3.53.0: 13 files, 5.3MB - ==> Installing python@3.9 dependency: xz - ==> Pouring xz--5.8.3.arm64_sequoia.bottle.tar.gz - 🍺 /opt/homebrew/Cellar/xz/5.8.3: 96 files, 2.7MB - ==> Installing python@3.9 - ==> Pouring python@3.9--3.9.25.arm64_sequoia.bottle.1.tar.gz - ==> /opt/homebrew/Cellar/python@3.9/3.9.25/bin/python3.9 -Im ensurepip - ==> /opt/homebrew/Cellar/python@3.9/3.9.25/bin/python3.9 -Im pip install -v --no-index --upgrade --isolated --target=/opt/homebrew/lib/python3.9/site-packages /opt/homebrew/Cellar/python@3.9/3.9.25/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ensurepip/_bundled/setuptools-80.9.0-py3-none-any.whl /opt/homebrew/Cellar/python@3.9/3.9.25/Frameworks/Python.framework/Versions/3.9/lib/python3.9/ensurepip/_bundled/pip-25.3-py3-none-any.whl /opt/homebrew/Cellar/python@3.9/3.9.25/libexec/wheel-0.45.1-py3-none-any.whl - ==> Caveats - Python is installed as - /opt/homebrew/bin/python3.9 - - Unversioned and major-versioned symlinks `python`, `python3`, `python-config`, `python3-config`, `pip`, `pip3`, etc. pointing to - `python3.9`, `python3.9-config`, `pip3.9` etc., respectively, are installed into - /opt/homebrew/opt/python@3.9/libexec/bin - - You can install Python packages with - pip3.9 install <package> - They will install into the site-package directory - /opt/homebrew/lib/python3.9/site-packages - - `idle3.9` requires tkinter, which is available separately: - brew install python-tk@3.9 - - If you do not need a specific version of Python, and always want Homebrew's `python3` in your PATH: - brew install python3 - - See: https://docs.brew.sh/Homebrew-and-Python - ==> Summary - 🍺 /opt/homebrew/Cellar/python@3.9/3.9.25: 3,039 files, 59.4MB - ==> Running `brew cleanup python@3.9`... - Disable this behaviour by setting `HOMEBREW_NO_INSTALL_CLEANUP=1`. - Hide these hints with `HOMEBREW_NO_ENV_HINTS=1` (see `man brew`). - ==> Caveats - ==> python@3.9 - Python is installed as - /opt/homebrew/bin/python3.9 - - Unversioned and major-versioned symlinks `python`, `python3`, `python-config`, `python3-config`, `pip`, `pip3`, etc. pointing to - `python3.9`, `python3.9-config`, `pip3.9` etc., respectively, are installed into - /opt/homebrew/opt/python@3.9/libexec/bin - - You can install Python packages with - pip3.9 install <package> - They will install into the site-package directory - /opt/homebrew/lib/python3.9/site-packages - - `idle3.9` requires tkinter, which is available separately: - brew install python-tk@3.9 - - If you do not need a specific version of Python, and always want Homebrew's `python3` in your PATH: - brew install python3 - - See: https://docs.brew.sh/Homebrew-and-Python # To update the current shell environment, run: eval $(opam env) 2026-04-13 21:46.42 ---> saved as "5f5add59a59c37c47ca5a64374ec9fed3adce0d62d0a207a7b277b76b8766ee1" /: (run (cache (opam-archives (target /Users/mac1000/.opam/download-cache)) (homebrew (target /Users/mac1000/Library/Caches/Homebrew))) (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 33 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.22.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.38.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 yamlx 0.1.0 - install yojson 3.0.0 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved biniou.1.2.2 (cached) -> retrieved astring.0.8.5 (cached) -> retrieved alcotest.1.9.1 (cached) -> retrieved conf-python-3.9.0.0 (cached) -> retrieved cmdliner.2.1.0 (cached) -> retrieved cppo.1.8.0 (cached) -> retrieved camlp-streams.5.0.1 (cached) -> installed conf-python-3.9.0.0 -> retrieved easy-format.1.3.4 (cached) -> 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 ocamlfind.1.9.8 (cached) -> retrieved ppx_derivers.1.2.1 (cached) -> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209 (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 ppxlib.0.38.0 (cached) -> retrieved topkg.1.1.1 (cached) -> retrieved uutf.1.0.4 (cached) -> retrieved dune.3.22.1 (cached) -> retrieved yojson.3.0.0 (cached) -> retrieved yamlx.0.1.0 (cached) -> retrieved testo.0.4.0, testo-diff.0.4.0, testo-util.0.4.0 (cached) -> installed cmdliner.2.1.0 -> installed ocamlbuild.0.16.1 -> installed ocamlfind.1.9.8 -> 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.22.1 -> installed menhirCST.20260209 -> installed easy-format.1.3.4 -> installed camlp-streams.5.0.1 -> installed ppx_derivers.1.2.1 -> installed menhirGLR.20260209 -> installed menhirLib.20260209 -> installed ocaml-syntax-shims.1.0.0 -> installed menhirSdk.20260209 -> installed ocaml-compiler-libs.v0.17.0 -> installed stdlib-shims.0.3.0 -> installed biniou.1.2.2 -> installed cppo.1.8.0 -> installed sexplib0.v0.17.0 -> installed re.1.14.0 -> installed yojson.3.0.0 -> installed alcotest.1.9.1 -> installed menhir.20260209 -> installed ppxlib.0.38.0 -> installed ppx_deriving.6.1.1 -> installed testo-diff.0.4.0 -> installed yamlx.0.1.0 -> installed testo-util.0.4.0 -> installed testo.0.4.0 Done. # To update the current shell environment, run: eval $(opam env) 2026-04-13 21:47.51 ---> saved as "7dac352ffe5422eb7570a169ad9d068cd3b3978749b006370a822cd9ac2be1e3" /: (copy (src .) (dst ./src)) 2026-04-13 21:47.52 ---> saved as "f95e778b5cb3e17b4ec61cb3628d15dcfc90d615565e70abc9fbe60a5f83c569" /: (run (shell "cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default && /Users/mac1000/.opam/5.4.0/bin/ocamldep.opt -modules -impl doc/atdgen-tutorial-data/config-file/config_atd.ml) > _build/default/doc/atdgen-tutorial-data/config-file/.config.eobjs/dune__exe__Config_atd.impl.d File "doc/atdgen-tutorial-data/config-file/config_atd.ml", line 7, characters 18-21: 7 | <ocaml valid="fun l -> ^^^ Error: Syntax error (cd _build/default/atd/test && ./unit_tests.exe) Testing `atd'. This run has ID `652277TE'. [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.002s. 32 tests run. (cd _build/default/atdts/src/test && ./Main.exe) Testing `atdts'. This run has ID `6ARVCF7C'. 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 && /bin/bash -e -u -o pipefail -c 'ldc2 everything_atd.d test_atdd.d --of test') /bin/bash: ldc2: 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 File "atdj/test/dune", lines 58-66, characters 0-160: 58 | (rule 59 | (alias runtest) 60 | (package atdj) 61 | (deps 62 | AtdjTest.java 63 | json.jar 64 | junit-4.8.2.jar 65 | (glob_files com/mylife/test/*.java)) 66 | (action (run ./run_test.sh))) (cd _build/default/atdj/test && ./run_test.sh) The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. The operation couldn’t be completed. Unable to locate a Java Runtime. Please visit http://www.java.com for information on installing Java. (cd _build/default/atdpy/src/test && ./Main.exe) Testing `atdpy'. This run has ID `J5USN7ME'. Full test results in `~/src/_build/default/atdpy/src/test/_build/_tests/atdpy'. Test Successful in 0.000s. 0 test run. 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 .) /Library/Developer/CommandLineTools/usr/bin/python3: No module named flake8 (cd _build/default/atd-yamlx/examples && ./main.exe) Application : myapp Log level : Info Tags : [production, v2] Database : PostgreSQL myapp_prod@db.example.com:5432 (ssl=true) (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. (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. 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 && /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' file not found 12 | #include <rapidjson/document.h> | ^~~~~~~~~~~~~~~~~~~~~~ 1 error generated. In file included from test_atdd.cpp:12: ./everything_atd.hpp:12:10: fatal error: 'rapidjson/document.h' file not found 12 | #include <rapidjson/document.h> | ^~~~~~~~~~~~~~~~~~~~~~ 1 error generated. (cd _build/default/atdgen/test && ./test_atdgen_main.exe) Testing `atdgen'. This run has ID `ZEPB56OO'. [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.005s. 45 tests run. "/usr/bin/env" "bash" "-c" "cd ./src && opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1 2026-04-13 21:48.03: Job failed: Failed: Build failed