Organisationsahrefsocannl397418 ()debian-12-5.3_arm32_opam-2.3

debian-12-5.3_arm32_opam-2.3

Logs

Show full logs
2025-05-22 20:00.59: New job: test ahrefs/ocannl https://github.com/ahrefs/ocannl.git#refs/heads/master (39741884b740497ac10065d5e464e6c70f9151f4) (linux-arm64:debian-12-5.3_arm32_opam-2.3)
Base: ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f
Opam project build

To reproduce locally:

git clone --recursive "https://github.com/ahrefs/ocannl.git" -b "master" && cd "ocannl" && git reset --hard 39741884
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f
# debian-12-5.3_arm32_opam-2.3
USER 1000:1000
SHELL [ "/usr/bin/linux32", "/bin/sh", "-c" ]
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.3 /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 2df846cb67d6f96ae4fced111519ff4ae27d19ae || git fetch origin master) && git reset -q --hard 2df846cb67d6f96ae4fced111519ff4ae27d19ae && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 neural_nets_lib.opam arrayjit.opam ./
RUN opam pin add -yn neural_nets_lib.dev './' && \
    opam pin add -yn arrayjit.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.1 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 cmdliner.1.3.0 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.23.0 ctypes-foreign.0.23.0 dune.3.19.0 dune-configurator.3.19.0 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.8.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.5-1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-option-bytecode-only.1 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.0 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.0.3 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.0 ppx_minidebug.2.2.0 ppx_optcomp.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_string.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.12.0 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.3 --depext-only -y neural_nets_lib.dev arrayjit.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

2025-05-22 20:00.59: Using cache hint "ahrefs/ocannl-ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f-debian-12-5.3_arm32_opam-2.3-f50bf6e38f575bb13b2f80ed3aa73062"
2025-05-22 20:00.59: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f)
 (comment debian-12-5.3_arm32_opam-2.3)
 (user (uid 1000) (gid 1000))
 (shell /usr/bin/linux32 /bin/sh -c)
 (env CLICOLOR_FORCE 1)
 (env OPAMCOLOR always)
 (workdir /src)
 (run (shell "sudo ln -f /usr/bin/opam-2.3 /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 2df846cb67d6f96ae4fced111519ff4ae27d19ae || git fetch origin master) && git reset -q --hard 2df846cb67d6f96ae4fced111519ff4ae27d19ae && git log --no-decorate -n1 --oneline && opam update -u"))
 (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
 (run (network host)
      (shell  "opam pin add -yn neural_nets_lib.dev './' && \
             \nopam pin add -yn arrayjit.dev './'"))
 (run (network host)
      (shell "echo '(lang dune 3.0)' > './dune-project'"))
 (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.1 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 cmdliner.1.3.0 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.23.0 ctypes-foreign.0.23.0 dune.3.19.0 dune-configurator.3.19.0 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.8.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.5-1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-option-bytecode-only.1 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.0 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.0.3 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.0 ppx_minidebug.2.2.0 ppx_optcomp.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_string.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.12.0 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.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.3 --depext-only -y neural_nets_lib.dev arrayjit.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"))
)

2025-05-22 20:00.59: Waiting for resource in pool OCluster
2025-05-22 20:00.59: Waiting for worker…
2025-05-22 20:02.15: Got resource from pool OCluster
Building on okypous.caelum.ci.dev
HEAD is now at 8c5145c5 experiment: try a different runner
HEAD is now at 39741884 Untested: convert remaining uses of Format except where printing Sexp values

(from ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f)
Unable to find image 'ocaml/opam:debian-12-ocaml-5.3@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f' locally
docker.io/ocaml/opam@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f: Pulling from ocaml/opam
1b4fb3e02e16: Pulling fs layer
1b4fb3e02e16: Verifying Checksum
1b4fb3e02e16: Download complete
1b4fb3e02e16: Pull complete
Digest: sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f
Status: Downloaded newer image for ocaml/opam@sha256:71c585b40a233634d2ba60a97652fd4cb5dae7b100662571d5727ada704faa6f
WARNING: The requested image's platform (linux/arm/v7) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
2025-05-22 20:02.17 ---> using "4014f3d07420d009ce6703e770f4e84f8da319d8f2397f249f6d8bb27eb76ab4" from cache

/: (comment debian-12-5.3_arm32_opam-2.3)

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

/: (shell /usr/bin/linux32 /bin/sh -c)

/: (env CLICOLOR_FORCE 1)

/: (env OPAMCOLOR always)

/: (workdir /src)

/src: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-05-22 20:02.17 ---> using "006c71a59f49e5628c158da699cec04f5ac8489fcc13393712f5c5f8540ece08" 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
2025-05-22 20:02.17 ---> using "314e9124bb78cc1087879e80c40df8c7548a14e79c16ffec4c1e54d307e9e311" from cache

/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-138-generic
The OCaml toplevel, version 5.3.0
2.3.0
2025-05-22 20:02.17 ---> using "6a2d60bb9de3b6159a54ab46f59b5dfe72a365cd372830e90e2e08d296a6501a" from cache

/src: (workdir /src)

/src: (run (shell "sudo chown opam /src"))
2025-05-22 20:02.17 ---> using "a544d8562359f0a4175bab283fb8c7c206c8941d5cb9b40cc7f7d0b1e3b1257f" from cache

/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
           (network host)
           (shell "cd ~/opam-repository && (git cat-file -e 2df846cb67d6f96ae4fced111519ff4ae27d19ae || git fetch origin master) && git reset -q --hard 2df846cb67d6f96ae4fced111519ff4ae27d19ae && git log --no-decorate -n1 --oneline && opam update -u"))
From https://github.com/ocaml/opam-repository
 * branch                  master     -> FETCH_HEAD
   35eb2f107a..2df846cb67  master     -> origin/master
2df846cb67 Merge pull request #27910 from maiste/release-dune-3.19.0

<><> 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.
# To update the current shell environment, run: eval $(opam env)
2025-05-22 20:02.17 ---> using "5e7ce2a2046488d45907b4249d65428b5d1ef8afb773f17e014256f6eb70f5d4" from cache

/src: (copy (src neural_nets_lib.opam arrayjit.opam) (dst ./))
2025-05-22 20:02.17 ---> saved as "6dbcd85044d21efc4ee5fa993bdd7b1322a41f766bb08c352e10a9422d524319"

/src: (run (network host)
           (shell  "opam pin add -yn neural_nets_lib.dev './' && \
                  \nopam pin add -yn arrayjit.dev './'"))
[neural_nets_lib.dev] synchronised (file:///src)
neural_nets_lib is now pinned to file:///src (version dev)
[arrayjit.dev] synchronised (file:///src)
arrayjit is now pinned to file:///src (version dev)
2025-05-22 20:02.23 ---> saved as "7a70e385d1c5f400d95d7dda2bb49865cfe16c77c903f87e81aa0377b555640f"

/src: (run (network host)
           (shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-05-22 20:02.23 ---> saved as "c31984b58c7e8e3ef73dc4f8c6553433ddd652125ff30702b184b4a2d04160cc"

/src: (env DEPS "angstrom.0.16.1 astring.0.8.5 backoff.0.1.1 base.v0.17.1 base-bigarray.base base-domains.base base-effects.base base-nnp.base base-threads.base base-unix.base bigarray-compat.1.1.0 bigstringaf.0.10.0 camlp-streams.5.0.1 cmdliner.1.3.0 conf-libffi.2.0.0 conf-pkg-config.4 cppo.1.8.0 csexp.1.5.2 ctypes.0.23.0 ctypes-foreign.0.23.0 dune.3.19.0 dune-configurator.3.19.0 fieldslib.v0.17.0 fmt.0.10.0 integers.0.7.0 jane-street-headers.v0.17.0 jst-config.v0.17.0 logs.0.8.0 mdx.2.5.0 mtime.2.1.0 multicore-magic.2.3.1 num.1.5-1 ocaml.5.3.0 ocaml-base-compiler.5.3.0 ocaml-compiler.5.3.0 ocaml-compiler-libs.v0.17.0 ocaml-config.3 ocaml-option-bytecode-only.1 ocaml-options-vanilla.1 ocaml-syntax-shims.1.0.0 ocaml-version.4.0.0 ocaml_intrinsics_kernel.v0.17.1 ocamlbuild.0.16.1 ocamlfind.1.9.8 parsexp.v0.17.0 pprint.20230830 ppx_assert.v0.17.0 ppx_base.v0.17.0 ppx_cold.v0.17.0 ppx_compare.v0.17.0 ppx_derivers.1.2.1 ppx_deriving.6.0.3 ppx_enumerate.v0.17.0 ppx_expect.v0.17.2 ppx_fields_conv.v0.17.0 ppx_globalize.v0.17.0 ppx_hash.v0.17.0 ppx_here.v0.17.0 ppx_inline_test.v0.17.0 ppx_minidebug.2.2.0 ppx_optcomp.v0.17.0 ppx_sexp_conv.v0.17.0 ppx_string.v0.17.0 ppx_variants_conv.v0.17.0 ppxlib.0.35.0 ppxlib_jane.v0.17.2 printbox.0.12 printbox-ext-plot.0.12 printbox-html.0.12 printbox-md.0.12 printbox-text.0.12 ptime.1.2.0 re.1.12.0 result.1.5 saturn_lockfree.0.5.0 seq.base sexplib.v0.17.0 sexplib0.v0.17.0 stdio.v0.17.0 stdlib-shims.0.3.0 thread-local-storage.0.2 time_now.v0.17.0 topkg.1.0.8 tyxml.4.6.0 uucp.16.0.0 uutf.1.0.4 variantslib.v0.17.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.3 --depext-only -y neural_nets_lib.dev arrayjit.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Get:4 http://deb.debian.org/debian bookworm/main armhf Packages [8508 kB]
- Get:5 http://deb.debian.org/debian-security bookworm-security/main armhf Packages [240 kB]
- Fetched 9003 kB in 1s (6466 kB/s)
- Reading package lists...
- 

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[arrayjit.dev] synchronised (file:///src)
[neural_nets_lib.dev] synchronised (file:///src)

[NOTE] Package ocaml-options-vanilla is already installed (current version is 1).
[NOTE] Package ocaml-option-bytecode-only 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.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.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:
    libffi-dev pkg-config

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

+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libffi-dev" "pkg-config"
- debconf: delaying package configuration, since apt-utils is not installed
- Selecting previously unselected package libffi-dev:armhf.
- (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 ... 18506 files and directories currently installed.)
- Preparing to unpack .../libffi-dev_3.4.4-1_armhf.deb ...
- Unpacking libffi-dev:armhf (3.4.4-1) ...
- Selecting previously unselected package libpkgconf3:armhf.
- Preparing to unpack .../libpkgconf3_1.8.1-1_armhf.deb ...
- Unpacking libpkgconf3:armhf (1.8.1-1) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../pkgconf-bin_1.8.1-1_armhf.deb ...
- Unpacking pkgconf-bin (1.8.1-1) ...
- Selecting previously unselected package pkgconf:armhf.
- Preparing to unpack .../pkgconf_1.8.1-1_armhf.deb ...
- Unpacking pkgconf:armhf (1.8.1-1) ...
- Selecting previously unselected package pkg-config:armhf.
- Preparing to unpack .../pkg-config_1.8.1-1_armhf.deb ...
- Unpacking pkg-config:armhf (1.8.1-1) ...
- Setting up libffi-dev:armhf (3.4.4-1) ...
- Setting up libpkgconf3:armhf (1.8.1-1) ...
- Setting up pkgconf-bin (1.8.1-1) ...
- Setting up pkgconf:armhf (1.8.1-1) ...
- Setting up pkg-config:armhf (1.8.1-1) ...
- Processing triggers for libc-bin (2.36-9+deb12u10) ...
2025-05-22 20:02.53 ---> saved as "aa9eb1ba01096f027e6d7206f06cb7823cf737d08f8a8419b588b6f59c8ced1b"

/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-option-bytecode-only 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.3.0).
[NOTE] Package ocaml-base-compiler is already installed (current version is 5.3.0).
[NOTE] Package ocaml is already installed (current version is 5.3.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 75 packages
  - install angstrom                0.16.1
  - install astring                 0.8.5
  - install backoff                 0.1.1
  - install base                    v0.17.1
  - install bigarray-compat         1.1.0
  - install bigstringaf             0.10.0
  - install camlp-streams           5.0.1
  - install cmdliner                1.3.0
  - install conf-libffi             2.0.0
  - install conf-pkg-config         4
  - install cppo                    1.8.0
  - install csexp                   1.5.2
  - install ctypes                  0.23.0
  - install ctypes-foreign          0.23.0
  - install dune                    3.19.0
  - install dune-configurator       3.19.0
  - install fieldslib               v0.17.0
  - install fmt                     0.10.0
  - install integers                0.7.0
  - install jane-street-headers     v0.17.0
  - install jst-config              v0.17.0
  - install logs                    0.8.0
  - install mdx                     2.5.0
  - install mtime                   2.1.0
  - install multicore-magic         2.3.1
  - install num                     1.5-1
  - install ocaml-compiler-libs     v0.17.0
  - install ocaml-syntax-shims      1.0.0
  - install ocaml-version           4.0.0
  - install ocaml_intrinsics_kernel v0.17.1
  - install ocamlbuild              0.16.1
  - install ocamlfind               1.9.8
  - install parsexp                 v0.17.0
  - install pprint                  20230830
  - install ppx_assert              v0.17.0
  - install ppx_base                v0.17.0
  - install ppx_cold                v0.17.0
  - install ppx_compare             v0.17.0
  - install ppx_derivers            1.2.1
  - install ppx_deriving            6.0.3
  - install ppx_enumerate           v0.17.0
  - install ppx_expect              v0.17.2
  - install ppx_fields_conv         v0.17.0
  - install ppx_globalize           v0.17.0
  - install ppx_hash                v0.17.0
  - install ppx_here                v0.17.0
  - install ppx_inline_test         v0.17.0
  - install ppx_minidebug           2.2.0
  - install ppx_optcomp             v0.17.0
  - install ppx_sexp_conv           v0.17.0
  - install ppx_string              v0.17.0
  - install ppx_variants_conv       v0.17.0
  - install ppxlib                  0.35.0
  - install ppxlib_jane             v0.17.2
  - install printbox                0.12
  - install printbox-ext-plot       0.12
  - install printbox-html           0.12
  - install printbox-md             0.12
  - install printbox-text           0.12
  - install ptime                   1.2.0
  - install re                      1.12.0
  - install result                  1.5
  - install saturn_lockfree         0.5.0
  - install seq                     base
  - install sexplib                 v0.17.0
  - install sexplib0                v0.17.0
  - install stdio                   v0.17.0
  - install stdlib-shims            0.3.0
  - install thread-local-storage    0.2
  - install time_now                v0.17.0
  - install topkg                   1.0.8
  - install tyxml                   4.6.0
  - install uucp                    16.0.0
  - install uutf                    1.0.4
  - install variantslib             v0.17.0

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved backoff.0.1.1  (cached)
-> retrieved angstrom.0.16.1  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved base.v0.17.1  (cached)
-> retrieved bigarray-compat.1.1.0  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved camlp-streams.5.0.1  (cached)
-> installed conf-pkg-config.4
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> installed conf-libffi.2.0.0
-> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0  (cached)
-> retrieved fieldslib.v0.17.0  (cached)
-> retrieved fmt.0.10.0  (cached)
-> retrieved integers.0.7.0  (cached)
-> retrieved jane-street-headers.v0.17.0  (cached)
-> retrieved jst-config.v0.17.0  (cached)
-> retrieved logs.0.8.0  (cached)
-> retrieved mtime.2.1.0  (cached)
-> retrieved mdx.2.5.0  (cached)
-> retrieved multicore-magic.2.3.1  (cached)
-> retrieved num.1.5-1  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocaml-version.4.0.0  (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved dune.3.19.0, dune-configurator.3.19.0  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved parsexp.v0.17.0  (cached)
-> retrieved pprint.20230830  (cached)
-> retrieved ppx_assert.v0.17.0  (cached)
-> retrieved ppx_base.v0.17.0  (cached)
-> retrieved ppx_cold.v0.17.0  (cached)
-> retrieved ppx_compare.v0.17.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_deriving.6.0.3  (cached)
-> retrieved ppx_enumerate.v0.17.0  (cached)
-> retrieved ppx_expect.v0.17.2  (cached)
-> installed cmdliner.1.3.0
-> installed num.1.5-1
-> retrieved ppx_fields_conv.v0.17.0  (cached)
-> retrieved ppx_globalize.v0.17.0  (cached)
-> retrieved ppx_hash.v0.17.0  (cached)
-> retrieved ppx_here.v0.17.0  (cached)
-> retrieved ppx_inline_test.v0.17.0  (cached)
-> retrieved ppx_optcomp.v0.17.0  (cached)
-> retrieved ppx_sexp_conv.v0.17.0  (cached)
-> retrieved ppx_string.v0.17.0  (cached)
-> retrieved ppx_variants_conv.v0.17.0  (cached)
-> retrieved ppx_minidebug.2.2.0  (cached)
-> retrieved ppxlib_jane.v0.17.2  (cached)
-> retrieved ptime.1.2.0  (cached)
-> retrieved re.1.12.0  (cached)
-> retrieved result.1.5  (cached)
-> retrieved saturn_lockfree.0.5.0  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved sexplib.v0.17.0  (cached)
-> retrieved ppxlib.0.35.0  (cached)
-> retrieved printbox.0.12, printbox-ext-plot.0.12, printbox-html.0.12, printbox-md.0.12, printbox-text.0.12  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved stdio.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved thread-local-storage.0.2  (cached)
-> retrieved time_now.v0.17.0  (cached)
-> retrieved tyxml.4.6.0  (cached)
-> retrieved topkg.1.0.8  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved variantslib.v0.17.0  (cached)
-> retrieved uucp.16.0.0  (cached)
-> installed ocamlfind.1.9.8
-> installed ocamlbuild.0.16.1
-> installed topkg.1.0.8
-> installed fmt.0.10.0
-> installed mtime.2.1.0
-> installed ptime.1.2.0
-> installed logs.0.8.0
-> installed astring.0.8.5
-> installed uutf.1.0.4
-> installed uucp.16.0.0
-> installed dune.3.19.0
-> installed bigarray-compat.1.1.0
-> installed jane-street-headers.v0.17.0
-> installed backoff.0.1.1
-> installed printbox.0.12
-> installed ppx_derivers.1.2.1
-> installed multicore-magic.2.3.1
-> installed pprint.20230830
-> installed camlp-streams.5.0.1
-> installed stdlib-shims.0.3.0
-> installed csexp.1.5.2
-> installed ocaml-version.4.0.0
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed re.1.12.0
-> installed result.1.5
-> installed sexplib0.v0.17.0
-> installed thread-local-storage.0.2
-> installed printbox-text.0.12
-> installed saturn_lockfree.0.5.0
-> installed integers.0.7.0
-> installed printbox-md.0.12
-> installed cppo.1.8.0
-> installed parsexp.v0.17.0
-> installed ocaml-syntax-shims.1.0.0
-> installed dune-configurator.3.19.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed bigstringaf.0.10.0
-> installed tyxml.4.6.0
-> installed sexplib.v0.17.0
-> installed angstrom.0.16.1
-> installed printbox-html.0.12
-> installed printbox-ext-plot.0.12
-> installed mdx.2.5.0
-> installed ctypes.0.23.0
-> installed base.v0.17.1
-> installed variantslib.v0.17.0
-> installed fieldslib.v0.17.0
-> installed stdio.v0.17.0
-> installed ctypes-foreign.0.23.0
-> installed ppxlib.0.35.0
-> installed ppxlib_jane.v0.17.2
-> installed ppx_optcomp.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ppx_cold.v0.17.0
-> installed ppx_variants_conv.v0.17.0
-> installed ppx_fields_conv.v0.17.0
-> installed ppx_enumerate.v0.17.0
-> installed ppx_compare.v0.17.0
-> installed ppx_globalize.v0.17.0
-> installed ppx_sexp_conv.v0.17.0
-> installed ppx_deriving.6.0.3
-> installed ppx_hash.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_base.v0.17.0
-> installed ppx_minidebug.2.2.0
-> installed jst-config.v0.17.0
-> installed ppx_string.v0.17.0
-> installed time_now.v0.17.0
-> installed ppx_inline_test.v0.17.0
-> installed ppx_expect.v0.17.2
Done.
# To update the current shell environment, run: eval $(opam env)
2025-05-22 20:06.58 ---> saved as "e60b9bdf297b3d53034ec258cc156a449adbcb955ccda99b3a42d589c209ae52"

/src: (copy (src .) (dst /src))
2025-05-22 20:06.59 ---> saved as "3f925c7d6fdfbc1adcefe3d4e9d38a25ec24ac8cc38c32cb9ceeb27689c02fc1"

/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
(cd _build/default/test/config && ../../arrayjit/bin/read_config.exe --read=backend)

Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/config/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Wrote value of 'backend' to ocannl_backend.txt
(cd _build/default/test_ppx && ./test_ppx_op_expected.exe)

Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test_ppx/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/default/test_ppx && ./test_ppx_op.exe)

Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test_ppx/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/dune", lines 30-40, characters 0-281:
30 | (rule
31 |  (alias runtest)
32 |  (target
33 |   (dir log_files))
34 |  (action
35 |   (run
36 |    %{dep:micrograd_demo_logging.exe}
37 |    "--ocannl_debug_backend=text"
38 |    "--ocannl_log_file_stem=micrograd_demo_logging"
39 |    "--ocannl_log_main_domain_to_stdout=false"
40 |    "--ocannl_debug_log_to_stream_files=true")))
(cd _build/default/test && ./micrograd_demo_logging.exe --ocannl_debug_backend=text --ocannl_log_file_stem=micrograd_demo_logging --ocannl_log_main_domain_to_stdout=false --ocannl_debug_log_to_stream_files=true)

Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
Retrieving commandline, environment, or config file variable ocannl_backend
Found multicore_cc, in the config file
Retrieving commandline, environment, or config file variable ocannl_cd_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_ll_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity
Found true, in the config file
Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files
Found true, commandline --ocannl_debug_log_to_stream_files=true
Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level
Not found, using default 3
Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command
Not found, using default gcc
Fatal error: exception File "src/printbox-text/PrintBox_text.ml", line 212, characters 6-12: Assertion failed
Called from unknown location
Called from unknown location
Called from unknown location
Called from unknown location
Called from unknown location
Called from unknown location
Called from unknown location
Called from unknown location
Called from unknown location
Called from unknown location
Called from unknown location
Called from unknown location
(cd _build/.sandbox/c158487f566e6089802412058420a431/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/7df772a663599c531b3aa49dd3ecd685/default/test/ocannl_config.' -source-tree-root .. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/c158487f566e6089802412058420a431/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/c158487f566e6089802412058420a431/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition '' -source-tree-root .. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/c158487f566e6089802412058420a431/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/c158487f566e6089802412058420a431/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Retrieving commandline, environment, or config file variable ocannl_log_level' -source-tree-root .. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/c158487f566e6089802412058420a431/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/c158487f566e6089802412058420a431/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition 'Found 0, in the config file' -source-tree-root .. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/c158487f566e6089802412058420a431/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/c158487f566e6089802412058420a431/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition primitive_ops.ml -source-tree-root .. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/c158487f566e6089802412058420a431/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/c158487f566e6089802412058420a431/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition zero2hero_1of7.ml -source-tree-root .. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/c158487f566e6089802412058420a431/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/c158487f566e6089802412058420a431/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition hello_world_op.ml -source-tree-root .. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/c158487f566e6089802412058420a431/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/c158487f566e6089802412058420a431/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition einsum_trivia.ml -source-tree-root .. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/c158487f566e6089802412058420a431/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/default/test && ./moons_demo_parallel_run.exe)

Welcome to OCANNL! Reading configuration defaults from /src/_build/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
("Set log_level to" 1)
└─{orphaned from #2}
Retrieving commandline, environment, or config file variable ocannl_backend
Found multicore_cc, in the config file
Properties of devices:
(multicore_devices
 (device ((device_name CPU) (device_ordinal 0) (num_domains 16))))
@!Retrieving commandline, environment, or config file variable ocannl_prefer_backend_uniformity
Found true, in the config file
Retrieving commandline, environment, or config file variable ocannl_debug_log_to_stream_files
Not found, using default false
Retrieving commandline, environment, or config file variable ocannl_ll_ident_style
Not found, using default heuristic
Retrieving commandline, environment, or config file variable ocannl_cc_backend_optimization_level
Not found, using default 3
Retrieving commandline, environment, or config file variable ocannl_cc_backend_compiler_command
Not found, using default gcc
Retrieving commandline, environment, or config file variable ocannl_never_capture_stdout
Not found, using default false
Batch=139, step=140, lr=0.197900, batch loss=0.383325, epoch loss=37.722242
Batch=279, step=280, lr=0.195567, batch loss=0.424132, epoch loss=41.520285
Batch=299, step=300, lr=0.195100, batch loss=0.252791, epoch loss=42.008345
Epoch=0, step=300, lr=0.195100, epoch loss=42.008345
Batch=139, step=440, lr=0.192667, batch loss=0.199331, epoch loss=2.541394
Batch=279, step=580, lr=0.190567, batch loss=0.290961, epoch loss=5.440748
Batch=299, step=600, lr=0.190000, batch loss=0.230367, epoch loss=5.901101
Epoch=1, step=600, lr=0.190000, epoch loss=5.901101
Batch=139, step=740, lr=0.187900, batch loss=0.188517, epoch loss=2.437504
Batch=279, step=880, lr=0.185567, batch loss=0.279430, epoch loss=5.165281
Batch=299, step=900, lr=0.185100, batch loss=0.196995, epoch loss=5.551378
Epoch=2, step=900, lr=0.185100, epoch loss=5.551378
Batch=139, step=1040, lr=0.182900, batch loss=0.186520, epoch loss=2.411758
Batch=279, step=1180, lr=0.180567, batch loss=0.258728, epoch loss=5.256853
Batch=299, step=1200, lr=0.180100, batch loss=0.187958, epoch loss=5.615326
Epoch=3, step=1200, lr=0.180100, epoch loss=5.615326
Batch=139, step=1340, lr=0.177900, batch loss=0.184976, epoch loss=2.309180
Batch=279, step=1480, lr=0.175567, batch loss=0.251345, epoch loss=4.935523
Batch=299, step=1500, lr=0.175000, batch loss=0.184486, epoch loss=5.286493
Epoch=4, step=1500, lr=0.175000, epoch loss=5.286493
Batch=139, step=1640, lr=0.172900, batch loss=0.181541, epoch loss=2.280561
Batch=279, step=1780, lr=0.170567, batch loss=0.248773, epoch loss=4.851208
Batch=299, step=1800, lr=0.170100, batch loss=0.177149, epoch loss=5.186853
Epoch=5, step=1800, lr=0.170100, epoch loss=5.186853
Batch=139, step=1940, lr=0.167900, batch loss=0.182691, epoch loss=2.168247
Batch=279, step=2080, lr=0.165567, batch loss=0.245073, epoch loss=4.687724
Batch=299, step=2100, lr=0.165100, batch loss=0.172416, epoch loss=5.014050
Epoch=6, step=2100, lr=0.165100, epoch loss=5.014050
Batch=139, step=2240, lr=0.162900, batch loss=0.174906, epoch loss=2.096807
Batch=279, step=2380, lr=0.160333, batch loss=0.238247, epoch loss=4.507922
Batch=299, step=2400, lr=0.160100, batch loss=0.180424, epoch loss=4.863689
Epoch=7, step=2400, lr=0.160100, epoch loss=4.863689
Batch=139, step=2540, lr=0.157900, batch loss=0.162025, epoch loss=1.992376
Batch=279, step=2680, lr=0.155567, batch loss=0.291187, epoch loss=4.581321
Batch=299, step=2700, lr=0.155100, batch loss=0.165779, epoch loss=4.895600
Epoch=8, step=2700, lr=0.155100, epoch loss=4.895600
Batch=139, step=2840, lr=0.152900, batch loss=0.147475, epoch loss=1.844174
Batch=279, step=2980, lr=0.150567, batch loss=0.188714, epoch loss=3.908178
Batch=299, step=3000, lr=0.150100, batch loss=0.133002, epoch loss=4.160964
Epoch=9, step=3000, lr=0.150100, epoch loss=4.160964
Batch=139, step=3140, lr=0.147900, batch loss=0.126082, epoch loss=1.765896
Batch=279, step=3280, lr=0.145567, batch loss=0.231236, epoch loss=3.785541
Batch=299, step=3300, lr=0.145100, batch loss=0.136414, epoch loss=4.039882
Epoch=10, step=3300, lr=0.145100, epoch loss=4.039882
Batch=139, step=3440, lr=0.142900, batch loss=0.102971, epoch loss=1.418818
Batch=279, step=3580, lr=0.140567, batch loss=0.128951, epoch loss=3.158769
Batch=299, step=3600, lr=0.140100, batch loss=0.113572, epoch loss=3.365086
Epoch=11, step=3600, lr=0.140100, epoch loss=3.365086
Batch=139, step=3740, lr=0.137900, batch loss=0.072702, epoch loss=1.090305
Batch=279, step=3880, lr=0.135567, batch loss=0.123010, epoch loss=3.251065
Batch=299, step=3900, lr=0.135100, batch loss=0.081153, epoch loss=3.399839
Epoch=12, step=3900, lr=0.135100, epoch loss=3.399839
Batch=139, step=4040, lr=0.132900, batch loss=0.056743, epoch loss=0.828245
Batch=279, step=4180, lr=0.130567, batch loss=0.093744, epoch loss=1.674803
Batch=299, step=4200, lr=0.130100, batch loss=0.035024, epoch loss=1.736141
Epoch=13, step=4200, lr=0.130100, epoch loss=1.736141
Batch=139, step=4340, lr=0.127900, batch loss=0.080737, epoch loss=0.588185
Batch=279, step=4480, lr=0.125567, batch loss=0.037461, epoch loss=1.124478
Batch=299, step=4500, lr=0.125100, batch loss=0.027202, epoch loss=1.182161
Epoch=14, step=4500, lr=0.125100, epoch loss=1.182161
Batch=139, step=4640, lr=0.122900, batch loss=0.013758, epoch loss=0.310770
Batch=279, step=4780, lr=0.120567, batch loss=0.023393, epoch loss=0.761006
Batch=299, step=4800, lr=0.120100, batch loss=0.010525, epoch loss=0.780133
Epoch=15, step=4800, lr=0.120100, epoch loss=0.780133
Batch=139, step=4940, lr=0.117900, batch loss=0.013751, epoch loss=0.151196
Batch=279, step=5080, lr=0.115567, batch loss=0.015128, epoch loss=0.395097
Batch=299, step=5100, lr=0.115100, batch loss=0.009407, epoch loss=0.412917
Epoch=16, step=5100, lr=0.115100, epoch loss=0.412917
Batch=139, step=5240, lr=0.112900, batch loss=0.010698, epoch loss=0.112017
Batch=279, step=5380, lr=0.110567, batch loss=0.011587, epoch loss=0.279259
Batch=299, step=5400, lr=0.110100, batch loss=0.005967, epoch loss=0.291008
Epoch=17, step=5400, lr=0.110100, epoch loss=0.291008
Batch=139, step=5540, lr=0.107900, batch loss=0.007730, epoch loss=0.082475
Batch=279, step=5680, lr=0.105567, batch loss=0.009537, epoch loss=0.260927
Batch=299, step=5700, lr=0.105100, batch loss=0.004735, epoch loss=0.274198
Epoch=18, step=5700, lr=0.105100, epoch loss=0.274198
Batch=139, step=5840, lr=0.102900, batch loss=0.007494, epoch loss=0.076664
Batch=279, step=5980, lr=0.100567, batch loss=0.008097, epoch loss=0.213538
Batch=299, step=6000, lr=0.100100, batch loss=0.004875, epoch loss=0.223288
Epoch=19, step=6000, lr=0.100100, epoch loss=0.223288

Half-moons scatterplot and decision boundary:
┌────────────────────────────────────────────────────────────────────────────────────────────────────┐
│********************************#*******************************************************************│
│**********************#*#*#######*###*#####*********************************************************│
│**********************#########################*****************************************************│
│*****************#**########*######*###########*###*************************************************│
│***************#################*###################************************************************│
│************######*#################*#################**********************************************│
│**********#*#####*########*#**************##*#########*#*******************************************.│
│***********########*##*#******************#*****##########***************************************...│
│***********###########*************************############************************************.....│
│********######*####*********************************###*###*#********************************.......│
│*******######**##***********.......****************#*######*#******************************.........│
│*******##*##**##**********...........***************########*##**************************...........│
│*****#######************.......%...%%...***************#########************************..........%.│
│******######**********..........%.........**************##*#####***********************.......%.%.%.│
│***#########*********..........%%%.%%......*************#*#######*********************.......%.%%%%.│
│****#######**********..........%%%%.........************#########*******************.........%%.%%.%│
│**#######***********...........%%%%%%%........*************###*###*****************..........%%%%%%.│
│*##*####************...........%%%%%%%.........***********########****************...........%%%%%%.│
│*#######***********............%%%%%%%..........************#######**************............%%%%%%.│
│*##*####***********............%%.%%%%%...........***********####***************............%%%%%%%.│
│*#####*#***********.............%%%%%%%............**********##*###***********...............%%%%%..│
│#######***********.............%.%%%%%%.............*********#######*********..............%%%%.%%..│
│#####*#***********..............%%%%%%%...............*******#######********...............%%%%%%%%.│
│###*#*#**********...............%%%%%%%%%..............*******######*******................%%%%%%...│
│#######**********................%%%%%%%%...............*****###*###*****.................%%%%%%....│
│######**********.................%%%%%%%%%................***#*###******................%%%%%%%%%...│
│*#*##*#*********..................%%%%%%%%%%...............***######***..................%%%%%%.....│
│#****##********....................%%%%%%%%%................***###*#**................%.%%%%%%%.....│
│***************....................%.%%%%%%...................******...................%.%%.%%......│
│**************.......................%..%%%%%%%................****...............%.%%%%%%%%%.......│
│**************........................%.%%%.%%%%.................*................%%%%%%%.%.%.......│
│*************...........................%..%%%%..%................................%%%%%%%%..........│
│*************............................%%%%%%%%%%%........................%%..%%%%%%%%.%..........│
│************.............................%%.%%%%%%%%..%....................%..%%%.%%%%%%%...........│
│************................................%%%%.%%%%%%%%...............%.%%%%%%%%%%%%.%............│
│***********..................................%%%%%%%%%%%%%%%%%%%%%%.%%%%.%%%%%%%%%%%%%..............│
│***********...................................%%.%%%%%%%%%%%%%%%%%%%%%%.%%%%%%%%%%%.................│
│**********........................................%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%...................│
│**********...........................................%%%.%%%%%%%%%%%%%%%%%%%%%......................│
│*********...............................................%...%%%%.%%.%%%%..%.........................│
└────────────────────────────────────────────────────────────────────────────────────────────────────┘
(cd _build/.sandbox/c158487f566e6089802412058420a431/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition moons_demo_parallel.ml -source-tree-root .. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/c158487f566e6089802412058420a431/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
(cd _build/.sandbox/c158487f566e6089802412058420a431/default/test && .tutorials.inline-tests/inline-test-runner.exe inline-test-runner tutorials -partition micrograd_demo.ml -source-tree-root .. -diff-cmd -)

Welcome to OCANNL! Reading configuration defaults from /src/_build/.sandbox/c158487f566e6089802412058420a431/default/test/ocannl_config.
Retrieving commandline, environment, or config file variable ocannl_log_level
Found 0, in the config file
File "test/micrograd_demo.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/micrograd_demo.ml _build/.sandbox/c158487f566e6089802412058420a431/default/test/micrograd_demo.ml.corrected
diff --git a/_build/default/test/micrograd_demo.ml b/_build/.sandbox/c158487f566e6089802412058420a431/default/test/micrograd_demo.ml.corrected
index 77e46c6..ab81526 100644
--- a/_build/default/test/micrograd_demo.ml
+++ b/_build/.sandbox/c158487f566e6089802412058420a431/default/test/micrograd_demo.ml.corrected
@@ -52,15 +52,14 @@ let%expect_test "Micrograd README basic example" =
     │├┼───────┤       │
     │││ -4.00 │       │
     │└┴───────┘       │
-    └─────────────────┘
-    ┌────────────────────────┐
-                                                              │[0]: a shape 0:1  grad_a│
-                                                              │┌┬─────────┐            │
-                                                              │││axis 0   │            │
-                                                              │├┼─────────┤            │
-                                                              │││ 1.38e+2 │            │
-                                                              │└┴─────────┘            │
-                                                              └────────────────────────┘
+    └─────────────────┘┌────────────────────────┐
+    │[0]: a shape 0:1  grad_a│
+    │┌┬─────────┐            │
+    │││axis 0   │            │
+    │├┼─────────┤            │
+    │││ 1.38e+2 │            │
+    │└┴─────────┘            │
+    └────────────────────────┘
     |}];
   Tensor.print ~with_code:false ~with_grad:true `Default b;
   [%expect
@@ -72,15 +71,14 @@ let%expect_test "Micrograd README basic example" =
     │├┼──────┤        │
     │││ 2.00 │        │
     │└┴──────┘        │
-    └─────────────────┘
-    ┌────────────────────────┐
-                                                              │[2]: b shape 0:1  grad_b│
-                                                              │┌┬─────────┐            │
-                                                              │││axis 0   │            │
-                                                              │├┼─────────┤            │
-                                                              │││ 6.45e+2 │            │
-                                                              │└┴─────────┘            │
-                                                              └────────────────────────┘
+    └─────────────────┘┌────────────────────────┐
+    │[2]: b shape 0:1  grad_b│
+    │┌┬─────────┐            │
+    │││axis 0   │            │
+    │├┼─────────┤            │
+    │││ 6.45e+2 │            │
+    │└┴─────────┘            │
+    └────────────────────────┘
     |}]
 
 let%expect_test "Micrograd half-moons example" =
File "test/hello_world_op.ml", line 1, characters 0-0:
/usr/bin/git --no-pager diff --no-index --color=always -u _build/default/test/hello_world_op.ml _build/.sandbox/c158487f566e6089802412058420a431/default/test/hello_world_op.ml.corrected
diff --git a/_build/default/test/hello_world_op.ml b/_build/.sandbox/c158487f566e6089802412058420a431/default/test/hello_world_op.ml.corrected
index ba9d7ef..6bfa309 100644
--- a/_build/default/test/hello_world_op.ml
+++ b/_build/.sandbox/c158487f566e6089802412058420a431/default/test/hello_world_op.ml.corrected
@@ -102,36 +102,46 @@ let%expect_test "Print constant tensor" =
   let%op hey = [ (1, 2, 3); (4, 5, 6) ] in
   Train.forward_and_forget backend ctx hey;
   Tensor.print ~with_code:false ~with_grad:false `Inline @@ hey;
-  [%expect {| [1.00, 2.00, 3.00; 4.00, 5.00, 6.00] |}];
+  [%expect {|
+    [0]: [  1.00 , 2.00 , 3.00  ;  4.00 , 5.00 , 6.00  ]_hey shape 1:3->0:2  [
+       1.00 , 2.00 , 3.00
+      ;  4.00 , 5.00 , 6.00
+    ]
+    |}];
   Tensor.print ~with_code:false ~with_grad:false `Default @@ hey;
   [%expect
     {|
-    ┌─────────────────────────────────────────────────────────────┐
-    │[0]: [1.00, 2.00, 3.00; 4.00, 5.00, 6.00]_hey shape 1:3->0:2 │
-    │┌──────┬──────────────────┐                                  │
-    ││      │axis 1            │                                  │
-    │├──────┼──────────────────┤                                  │
-    ││axis 0│ 1.00  2.00  3.00 │                                  │
-    ││      │ 4.00  5.00  6.00 │                                  │
-    │└──────┴──────────────────┘                                  │
-    └─────────────────────────────────────────────────────────────┘
+    ┌────────────────────────────────────────────────────────────────────────┐
+    │[0]: [  1.00 , 2.00 , 3.00  ;  4.00 , 5.00 , 6.00  ]_hey shape 1:3->0:2 │
+    │┌──────┬──────────────────┐                                             │
+    ││      │axis 1            │                                             │
+    │├──────┼──────────────────┤                                             │
+    ││axis 0│ 1.00  2.00  3.00 │                                             │
+    ││      │ 4.00  5.00  6.00 │                                             │
+    │└──────┴──────────────────┘                                             │
+    └────────────────────────────────────────────────────────────────────────┘
     |}];
   let%op hoo = [| [ 1; 2; 3 ]; [ 4; 5; 6 ] |] in
   Train.forward_and_forget backend ctx hoo;
   Tensor.print ~with_code:false ~with_grad:false `Inline @@ hoo;
-  [%expect {| [|[1.00; 2.00; 3.00]; [4.00; 5.00; 6.00]|] |}];
+  [%expect {|
+    [1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3  [|
+      [ 1.00 ; 2.00 ; 3.00 ]
+      ; [ 4.00 ; 5.00 ; 6.00 ]
+    |]
+    |}];
   Tensor.print ~with_code:false ~with_grad:false `Default @@ hoo;
   [%expect
     {|
-    ┌──────────────────────────────────────────────────────────────────┐
-    │[1]: [|[1.00; 2.00; 3.00]; [4.00; 5.00; 6.00]|]_hoo shape 0:2|1:3 │
-    │┌──────┬──────────────────┐                                       │
-    ││      │axis 1            │                                       │
-    │├──────┼──────────────────┤                                       │
-    ││axis 0│ 1.00  2.00  3.00 │                                       │
-    ││      │ 4.00  5.00  6.00 │                                       │
-    │└──────┴──────────────────┘                                       │
-    └──────────────────────────────────────────────────────────────────┘
+    ┌─────────────────────────────────────────────────────────────────────────────┐
+    │[1]: [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]_hoo shape 0:2|1:3 │
+    │┌──────┬──────────────────┐                                                  │
+    ││      │axis 1            │                                                  │
+    │├──────┼──────────────────┤                                                  │
+    ││axis 0│ 1.00  2.00  3.00 │                                                  │
+    ││      │ 4.00  5.00  6.00 │                                                  │
+    │└──────┴──────────────────┘                                                  │
+    └─────────────────────────────────────────────────────────────────────────────┘
     |}];
   let%op hey2 =
     [
@@ -145,10 +155,12 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~with_code:false ~with_grad:false `Inline @@ hey2;
   [%expect
     {|
-    [(1.00, 2.00, 3.00), (4.00, 5.00, 6.00);
-      (7.00, 8.00, 9.00), (10.00, 11.00, 12.00);
-      (13.00, 14.00, 15.00), (16.00, 17.00, 18.00);
-      (19.00, 20.00, 21.00), (22.00, 23.00, 24.00)]
+    [2]: c4x2x3_hey2 shape 1:2,2:3->0:4  [
+       ( 1.00 , 2.00 , 3.00 ) , ( 4.00 , 5.00 , 6.00 )
+      ;  ( 7.00 , 8.00 , 9.00 ) , ( 10.00 , 11.00 , 12.00 )
+      ;  ( 13.00 , 14.00 , 15.00 ) , ( 16.00 , 17.00 , 18.00 )
+      ;  ( 19.00 , 20.00 , 21.00 ) , ( 22.00 , 23.00 , 24.00 )
+    ]
     |}];
   Tensor.print ~with_code:false ~with_grad:false `Default @@ hey2;
   [%expect
@@ -178,10 +190,12 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~with_code:false ~with_grad:false `Inline @@ hoo2;
   [%expect
     {|
-    [|[[1.00; 2.00; 3.00]; [4.00; 5.00; 6.00]];
-      [[7.00; 8.00; 9.00]; [10.00; 11.00; 12.00]];
-      [[13.00; 14.00; 15.00]; [16.00; 17.00; 18.00]];
-      [[19.00; 20.00; 21.00]; [22.00; 23.00; 24.00]]|]
+    [3]: c4x2x3_hoo2 shape 0:4|1:2,2:3  [|
+      [ [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] ]
+      ; [ [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] ]
+      ; [ [ 13.00 ; 14.00 ; 15.00 ] ; [ 16.00 ; 17.00 ; 18.00 ] ]
+      ; [ [ 19.00 ; 20.00 ; 21.00 ] ; [ 22.00 ; 23.00 ; 24.00 ] ]
+    |]
     |}];
   Tensor.print ~with_code:false ~with_grad:false `Default @@ hoo2;
   [%expect
@@ -209,10 +223,12 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo;
   [%expect
     {|
-    [|[|[1.00; 2.00; 3.00]; [4.00; 5.00; 6.00]|];
-      [|[7.00; 8.00; 9.00]; [10.00; 11.00; 12.00]|];
-      [|[13.00; 14.00; 15.00]; [16.00; 17.00; 18.00]|];
-      [|[19.00; 20.00; 21.00]; [22.00; 23.00; 24.00]|]|]
+    [4]: c4x2x3_heyhoo shape 0:4,1:2|2:3  [|
+      [| [ 1.00 ; 2.00 ; 3.00 ] ; [ 4.00 ; 5.00 ; 6.00 ] |]
+      ; [| [ 7.00 ; 8.00 ; 9.00 ] ; [ 10.00 ; 11.00 ; 12.00 ] |]
+      ; [| [ 13.00 ; 14.00 ; 15.00 ] ; [ 16.00 ; 17.00 ; 18.00 ] |]
+      ; [| [ 19.00 ; 20.00 ; 21.00 ] ; [ 22.00 ; 23.00 ; 24.00 ] |]
+    |]
     |}];
   Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo;
   [%expect
@@ -240,15 +256,24 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo2;
   [%expect
     {|
-    [|
-      [|[[1.00; 31.00]; [2.00; 32.00]; [3.00; 33.00]];
-        [[4.00; 34.00]; [5.00; 35.00]; [6.00; 36.00]]|];
-      [|[[7.00; 37.00]; [8.00; 38.00]; [9.00; 39.00]];
-        [[10.00; 40.00]; [11.00; 41.00]; [12.00; 42.00]]|];
-      [|[[13.00; 43.00]; [14.00; 44.00]; [15.00; 45.00]];
-        [[16.00; 46.00]; [17.00; 47.00]; [18.00; 48.00]]|];
-      [|[[19.00; 49.00]; [20.00; 50.00]; [21.00; 51.00]];
-        [[22.00; 52.00]; [23.00; 53.00]; [24.00; 54.00]]|]|]
+    [5]: c4x2x3x2_heyhoo2 shape 0:4,1:2|2:3,3:2  [|
+      [|
+        [ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]
+        ; [ [ 4.00 ; 34.00 ] ; [ 5.00 ; 35.00 ] ; [ 6.00 ; 36.00 ] ]
+      |]
+      ; [|
+        [ [ 7.00 ; 37.00 ] ; [ 8.00 ; 38.00 ] ; [ 9.00 ; 39.00 ] ]
+        ; [ [ 10.00 ; 40.00 ] ; [ 11.00 ; 41.00 ] ; [ 12.00 ; 42.00 ] ]
+      |]
+      ; [|
+        [ [ 13.00 ; 43.00 ] ; [ 14.00 ; 44.00 ] ; [ 15.00 ; 45.00 ] ]
+        ; [ [ 16.00 ; 46.00 ] ; [ 17.00 ; 47.00 ] ; [ 18.00 ; 48.00 ] ]
+      |]
+      ; [|
+        [ [ 19.00 ; 49.00 ] ; [ 20.00 ; 50.00 ] ; [ 21.00 ; 51.00 ] ]
+        ; [ [ 22.00 ; 52.00 ] ; [ 23.00 ; 53.00 ] ; [ 24.00 ; 54.00 ] ]
+      |]
+    |]
     |}];
   Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo2;
   [%expect
@@ -293,17 +318,28 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo3;
   [%expect
     {|
-    [|
+    [6]: c2x2x2x3x2_heyhoo3 shape 0:2,1:2|2:2,3:3,4:2  [|
       [|
-        [[[1.00; 31.00]; [2.00; 32.00]; [3.00; 33.00]];
-          [[4.00; 34.00]; [5.00; 35.00]; [6.00; 36.00]]];
-        [[[7.00; 37.00]; [8.00; 38.00]; [9.00; 39.00]];
-          [[10.00; 40.00]; [11.00; 41.00]; [12.00; 42.00]]]|];
-      [|
-        [[[13.00; 43.00]; [14.00; 44.00]; [15.00; 45.00]];
-          [[16.00; 46.00]; [17.00; 47.00]; [18.00; 48.00]]];
-        [[[19.00; 49.00]; [20.00; 50.00]; [21.00; 51.00]];
-          [[22.00; 52.00]; [23.00; 53.00]; [24.00; 54.00]]]|]|]
+        [
+          [ [ 1.00 ; 31.00 ] ; [ 2.00 ; 32.00 ] ; [ 3.00 ; 33.00 ] ]
+          ; [ [ 4.00 ; 34.00 ] ; [ 5.00 ; 35.00 ] ; [ 6.00 ; 36.00 ] ]
+        ]
+        ; [
+          [ [ 7.00 ; 37.00 ] ; [ 8.00 ; 38.00 ] ; [ 9.00 ; 39.00 ] ]
+          ; [ [ 10.00 ; 40.00 ] ; [ 11.00 ; 41.00 ] ; [ 12.00 ; 42.00 ] ]
+        ]
+      |]
+      ; [|
+        [
+          [ [ 13.00 ; 43.00 ] ; [ 14.00 ; 44.00 ] ; [ 15.00 ; 45.00 ] ]
+          ; [ [ 16.00 ; 46.00 ] ; [ 17.00 ; 47.00 ] ; [ 18.00 ; 48.00 ] ]
+        ]
+        ; [
+          [ [ 19.00 ; 49.00 ] ; [ 20.00 ; 50.00 ] ; [ 21.00 ; 51.00 ] ]
+          ; [ [ 22.00 ; 52.00 ] ; [ 23.00 ; 53.00 ] ; [ 24.00 ; 54.00 ] ]
+        ]
+      |]
+    |]
     |}];
   Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo3;
   [%expect
@@ -353,17 +389,28 @@ let%expect_test "Print constant tensor" =
   Tensor.print ~with_code:false ~with_grad:false `Inline @@ heyhoo4;
   [%expect
     {|
-    [|
-      [
-        [[1.00, 31.00; 2.00, 32.00; 3.00, 33.00];
-          [4.00, 34.00; 5.00, 35.00; 6.00, 36.00]];
-        [[7.00, 37.00; 8.00, 38.00; 9.00, 39.00];
-          [10.00, 40.00; 11.00, 41.00; 12.00, 42.00]]];
+    [7]: c2x2x2x3x2_heyhoo4 shape 0:2|4:2->1:2,2:2,3:3  [|
       [
-        [[13.00, 43.00; 14.00, 44.00; 15.00, 45.00];
-          [16.00, 46.00; 17.00, 47.00; 18.00, 48.00]];
-        [[19.00, 49.00; 20.00, 50.00; 21.00, 51.00];
-          [22.00, 52.00; 23.00, 53.00; 24.00, 54.00]]]|]
+        [
+          [  1.00 , 31.00  ;  2.00 , 32.00  ;  3.00 , 33.00  ]
+          ; [  4.00 , 34.00  ;  5.00 , 35.00  ;  6.00 , 36.00  ]
+        ]
+        ; [
+          [  7.00 , 37.00  ;  8.00 , 38.00  ;  9.00 , 39.00  ]
+          ; [  10.00 , 40.00  ;  11.00 , 41.00  ;  12.00 , 42.00  ]
+        ]
+      ]
+      ; [
+        [
+          [  13.00 , 43.00  ;  14.00 , 44.00  ;  15.00 , 45.00  ]
+          ; [  16.00 , 46.00  ;  17.00 , 47.00  ;  18.00 , 48.00  ]
+        ]
+        ; [
+          [  19.00 , 49.00  ;  20.00 , 50.00  ;  21.00 , 51.00  ]
+          ; [  22.00 , 52.00  ;  23.00 , 53.00  ;  24.00 , 54.00  ]
+        ]
+      ]
+    |]
     |}];
   Tensor.print ~with_code:false ~with_grad:false `Default @@ heyhoo4;
   [%expect
@@ -462,8 +509,29 @@ let%expect_test "Big matrix" =
   Tensor.print ~with_code:false ~with_grad:false `Inline zero_to_twenty;
   [%expect
     {|
-    [0.00; 1.00; 2.00; 3.00; 4.00; 5.00; 6.00; 7.00; 8.00; 9.00; 10.00; 11.00;
-      12.00; 13.00; 14.00; 15.00; 16.00; 17.00; 18.00; 19.00; 20.00]
+    [2]: 0...20 shape 0:21  [
+      0.00
+      ; 1.00
+      ; 2.00
+      ; 3.00
+      ; 4.00
+      ; 5.00
+      ; 6.00
+      ; 7.00
+      ; 8.00
+      ; 9.00
+      ; 10.00
+      ; 11.00
+      ; 12.00
+      ; 13.00
+      ; 14.00
+      ; 15.00
+      ; 16.00
+      ; 17.00
+      ; 18.00
+      ; 19.00
+      ; 20.00
+    ]
     |}];
   Tensor.print ~with_code:false ~with_grad:false `Default zero_to_twenty;
   [%expect
"/usr/bin/linux32" "/bin/sh" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-05-22 20:07.45: Job failed: Failed: Build failed