(for PR #29582)
2026-03-25 13:15.21: New job: test yocaml_git.2.7.0 with ocaml-compiler.5.4.0~beta1, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29582/head (fa5fb3a6a806e832e4c7791145889a6bbe8b64ef)
on debian-13-ocaml-5.4/amd64
To reproduce locally:
cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/29582/head" && git reset --hard fa5fb3a6
git fetch origin master
git merge --no-edit 2f93e9d4614d6376ed929fc2cee7c59cb9d5833b
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-dev /usr/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn ocaml-compiler.5.4.0~beta1 5.4.0~beta1
RUN opam reinstall --update-invariant ocaml-compiler.5.4.0~beta1; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'ocaml-compiler.5.4.0~beta1' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN opam reinstall yocaml_git.2.7.0; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'yocaml_git.2.7.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN (opam reinstall --with-test yocaml_git.2.7.0) || true
RUN opam reinstall --with-test --verbose yocaml_git.2.7.0; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'yocaml_git.2.7.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
END-OF-DOCKERFILE
docker build -f ../Dockerfile .
2026-03-25 13:15.21: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6-ocaml-compiler.5.4.0~beta1-yocaml_git.2.7.0-fa5fb3a6a806e832e4c7791145889a6bbe8b64ef"
2026-03-25 13:15.21: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6)
(user (uid 1000) (gid 1000))
(workdir /home/opam)
(run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
(run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -ni"))
(run (shell "opam option solver=builtin-0install && opam config report"))
(env OPAMDOWNLOADJOBS 1)
(env OPAMERRLOGLEN 0)
(env OPAMPRECISETRACKING 1)
(env CI true)
(env OPAM_REPO_CI true)
(run (shell "rm -rf opam-repository/"))
(copy (src .) (dst opam-repository/))
(run (shell "opam repository set-url --strict default opam-repository/"))
(run (network host)
(shell "opam update --depexts || true"))
(run (shell "opam pin add -k version -yn ocaml-compiler.5.4.0~beta1 5.4.0~beta1"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall --update-invariant ocaml-compiler.5.4.0~beta1;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'ocaml-compiler.5.4.0~beta1' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall yocaml_git.2.7.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'yocaml_git.2.7.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
(run (network host)
(shell "(opam reinstall --with-test yocaml_git.2.7.0) || true"))
(run (shell "opam reinstall --with-test --verbose yocaml_git.2.7.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'yocaml_git.2.7.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
)
2026-03-25 13:15.21: Waiting for resource in pool OCluster
2026-03-25 21:57.51: Waiting for worker…
2026-03-25 22:01.18: Got resource from pool OCluster
Building on toxis.caelum.ci.dev
All commits already cached
HEAD is now at 2f93e9d461 Merge pull request #29592 from dinosaure/release-miou-v0.5.5
Merge made by the 'ort' strategy.
Auto packing the repository in the background for optimum performance.
See "git help gc" for manual housekeeping.
warning: The last gc run reported the following. Please correct the root cause
and remove .git/gc.log
Automatic cleanup will not be performed until the file is removed.
warning: There are too many unreachable loose objects; run 'git prune' to remove them.
packages/ocaml-compiler/ocaml-compiler.5.3.0/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.3/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4.0/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.4.0~alpha1/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.4.0~beta1/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.4.0~beta2/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4.0~rc1/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4.1/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.4/opam | 5 ++++-
.../ocaml-compiler/ocaml-compiler.5.5.0~alpha1/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.5/opam | 5 ++++-
packages/ocaml-compiler/ocaml-compiler.5.6/opam | 5 ++++-
packages/ocaml-option-llvm/ocaml-option-llvm.1/opam | 18 ++++++++++++++++++
.../ocaml-options-vanilla/ocaml-options-vanilla.1/opam | 1 +
packages/ocaml-variants/ocaml-variants.5.2.0+msvc/opam | 2 ++
15 files changed, 69 insertions(+), 12 deletions(-)
create mode 100644 packages/ocaml-option-llvm/ocaml-option-llvm.1/opam
(from ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6)
2026-03-25 22:01.22 ---> using "41eea30e3f639c18d8cf57c309ec76919ec7b2398036f7e41744cbce59a133d3" from cache
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-03-25 22:01.22 ---> using "4ad7f430d684c40cedc651267e0edf890c044fe4e624255de377c471b4526bac" from cache
/home/opam: (run (network host)
(shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally 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.
Continue? [Y/n] y
Format upgrade done.
This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-03-25 22:01.22 ---> using "71fa58e52457bf6a7eac317c6a6ef1e2bdf53e533a1e4fd04b90c9349347e038" from cache
/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version 2.5.0
# self-upgrade no
# system arch=x86_64 os=linux os-distribution=debian os-version=13
# solver builtin-0install
# install-criteria -changed,-count[avoid-version,solution]
# upgrade-criteria -count[avoid-version,solution]
# jobs 71
# repositories 1 (version-controlled)
# pinned 1 (version)
# current-switch 5.4
# invariant ["ocaml-base-compiler" {= "5.4.0"}]
# compiler-packages ocaml-base-compiler.5.4.0, ocaml-compiler.5.4.0, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /home/opam/.opam/5.4/lib/ocaml/stublibs:/home/opam/.opam/5.4/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 5.4.0
2026-03-25 22:01.22 ---> using "ed86081cb38ca125a920162bfe6a4bb7b1c27c6973c917551687c83cf44dbfdf" from cache
/home/opam: (env OPAMDOWNLOADJOBS 1)
/home/opam: (env OPAMERRLOGLEN 0)
/home/opam: (env OPAMPRECISETRACKING 1)
/home/opam: (env CI true)
/home/opam: (env OPAM_REPO_CI true)
/home/opam: (run (shell "rm -rf opam-repository/"))
2026-03-25 22:01.22 ---> using "04a48515eea40c32b96da0c71328b4bba0edb66eed83d4f78554b39097cf1f25" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-03-25 22:01.23 ---> using "034191995d824300f355cbba1072d6e5fe6d815701f24eb84d82c75009d73829" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-25 22:01.23 ---> using "8232259ea36ea8848dc29ae49703acf145fd27b40f3ebd8fb785db7f8da1b9d4" from cache
/home/opam: (run (network host)
(shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian trixie InRelease [140 kB]
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian trixie/main amd64 Packages [9671 kB]
- Get:5 http://deb.debian.org/debian-security trixie-security/main amd64 Packages [114 kB]
- Fetched 10.0 MB in 1s (7242 kB/s)
- Reading package lists...
-
2026-03-25 22:01.23 ---> using "a75782a571df4fc8f8933e94c681af881015ee87cdd4c652f8ae9af1d8cfad37" from cache
/home/opam: (run (shell "opam pin add -k version -yn ocaml-compiler.5.4.0~beta1 5.4.0~beta1"))
ocaml-compiler is now pinned to version 5.4.0~beta1
2026-03-25 22:01.23 ---> using "2099603933b4d6fefa06b285478a2e8fb05b82034e4d51f2aa158c2f8142ec7f" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall --update-invariant ocaml-compiler.5.4.0~beta1;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'ocaml-compiler.5.4.0~beta1' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
ocaml-compiler.5.4.0~beta1 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== remove 1 package
- remove ocaml-base-compiler 5.4.0 (pinned) [conflicts with ocaml-compiler]
=== downgrade 1 package
- downgrade ocaml-compiler 5.4.0 to 5.4.0~beta1 (pinned)
=== recompile 6 packages
- recompile base-domains base [uses ocaml]
- recompile base-effects base [uses ocaml]
- recompile base-nnp base [uses base-domains]
- recompile ocaml 5.4.0 [uses ocaml-base-compiler]
- recompile ocaml-config 3 [uses ocaml-base-compiler]
- recompile opam-depext 1.2.3 [uses ocaml]
=== install 1 package
- install ocaml-variants 5.4.0~beta1+options [required by ocaml]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved ocaml-compiler.5.4.0~beta1 (cached)
-> retrieved ocaml-config.3 (cached)
-> retrieved opam-depext.1.2.3 (cached)
-> removed base-effects.base
-> removed base-nnp.base
-> removed base-domains.base
-> removed opam-depext.1.2.3
-> removed ocaml.5.4.0
-> removed ocaml-config.3
-> removed ocaml-base-compiler.5.4.0
-> removed ocaml-compiler.5.4.0
-> installed ocaml-compiler.5.4.0~beta1
-> installed ocaml-variants.5.4.0~beta1+options
-> installed ocaml-config.3
-> installed ocaml.5.4.0
-> installed base-domains.base
-> installed base-effects.base
-> installed base-nnp.base
-> installed opam-depext.1.2.3
[NOTE] Switch invariant was updated to ["ocaml-variants" {= "5.4.0~beta1+options"}]
Use `opam switch set-invariant' to change it.
Done.
<><> opam-depext.1.2.3 installed successfully <><><><><><><><><><><><><><><><><>
=> opam-depext is unnecessary when used with opam >= 2.1. Please use opam install directly instead
# To update the current shell environment, run: eval $(opam env)
2026-03-25 22:02.22 ---> saved as "4ade08db1d862fcbe952182c248248cadec1de72f3de330b8d46a223b59c02fd"
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall yocaml_git.2.7.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'yocaml_git.2.7.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
yocaml_git.2.7.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 134 packages
- install angstrom 0.16.1 [required by uri, emile, encore, h1]
- install arp 4.1.0 [required by tcpip]
- install asn1-combinators 0.3.2 [required by x509]
- install astring 0.8.5 [required by fpath]
- install awa 0.5.2 [required by awa-mirage]
- install awa-mirage 0.5.2 [required by git-net]
- install base v0.17.3 [required by ppx_expect]
- install base-bytes base [required by ocplib-endian]
- install base64 3.5.2 [required by git-kv]
- install bigstringaf 0.10.0 [required by encore, emile, paf]
- install bos 0.2.1 [required by ca-certs-nss]
- install bstr 0.0.4 [required by git-kv]
- install ca-certs-nss 3.121 [required by git-net]
- install cachet 0.0.4 [required by carton]
- install cachet-lwt 0.0.4 [required by carton-git-lwt]
- install carton 1.2.0 [required by git-kv]
- install carton-git-lwt 1.2.0 [required by git-kv]
- install carton-lwt 1.2.0 [required by carton-git-lwt]
- install checkseum 0.5.2 [required by carton]
- install cmdliner 2.1.0 [required by ca-certs-nss, emile, fmt, etc.]
- install cohttp 6.2.1 [required by yocaml_runtime]
- install conf-gmp 5 [required by conf-gmp-powm-sec, zarith]
- install conf-gmp-powm-sec 4 [required by mirage-crypto-pk]
- install conf-pkg-config 4 [required by zarith]
- install cppo 1.8.0 [required by lwt]
- install csexp 1.5.2 [required by dune-configurator]
- install cstruct 6.2.0 [required by yocaml_git]
- install cstruct-lwt 6.2.0 [required by tcpip]
- install cstruct-unix 6.2.0 [required by awa]
- install decompress 1.5.3 [required by carton]
- install digestif 1.3.0 [required by git-kv, yocaml_runtime]
- install dns 10.2.4 [required by happy-eyeballs-lwt]
- install dns-client 10.2.4 [required by dns-client-mirage]
- install dns-client-mirage 10.2.4 [required by mimic-happy-eyeballs]
- install domain-name 0.5.0 [required by happy-eyeballs-lwt]
- install duff 0.5 [required by carton]
- install dune 3.22.0 [required by yocaml_git]
- install dune-configurator 3.22.0 [required by hxd, base]
- install duration 0.2.1 [required by awa-mirage, happy-eyeballs-lwt]
- install emile 1.1 [required by git-kv]
- install encore 0.8.1 [required by git-kv]
- install eqaf 0.10 [required by digestif, awa]
- install ethernet 3.2.0 [required by tcpip]
- install faraday 0.8.2 [required by h1, paf]
- install fmt 0.11.0 [required by git-kv, cstruct, yocaml_runtime]
- install fpath 0.7.3 [required by git-kv]
- install git-kv 0.2.1 [required by yocaml_git]
- install git-net 0.2.1 [required by yocaml_git]
- install gmap 0.3.0 [required by dns]
- install h1 1.1.0 [required by git-net]
- install h2 0.13.0 [required by paf]
- install happy-eyeballs 2.0.1 [required by happy-eyeballs-lwt]
- install happy-eyeballs-lwt 2.0.1 [required by git-net]
- install happy-eyeballs-mirage 2.0.1 [required by mimic-happy-eyeballs]
- install hpack 0.13.0 [required by h2]
- install http 6.2.1 [required by cohttp]
- install httpun-types 0.2.0 [required by h1]
- install hxd 0.4.0 [required by git-kv]
- install ipaddr 5.6.2 [required by happy-eyeballs-lwt, emile, cohttp]
- install ipaddr-cstruct 5.6.2 [required by tcpip]
- install jane-street-headers v0.17.0 [required by time_now]
- install jst-config v0.17.0 [required by time_now]
- install kdf 1.0.0 [required by x509]
- install ke 0.6 [required by git-kv]
- install logs 0.10.0 [required by yocaml, git-kv, yocaml_runtime]
- install lru 0.3.1 [required by dns]
- install lwt 6.1.1 [required by yocaml_git]
- install lwt-dllist 1.1.0 [required by tcpip]
- install macaddr 5.6.2 [required by ipaddr]
- install macaddr-cstruct 5.6.2 [required by tcpip]
- install magic-mime 1.3.1 [required by yocaml_runtime]
- install metrics 0.5.0 [required by dns]
- install mimic 0.0.9 [required by yocaml_git]
- install mimic-happy-eyeballs 0.0.9 [required by git-net]
- install mirage-clock 4.2.0 [required by yocaml_git]
- install mirage-crypto 2.1.0 [required by awa]
- install mirage-crypto-ec 2.1.0 [required by awa]
- install mirage-crypto-pk 2.1.0 [required by awa]
- install mirage-crypto-rng 2.1.0 [required by yocaml_git]
- install mirage-flow 5.0.0 [required by mimic, awa-mirage]
- install mirage-kv 6.1.1 [required by git-kv]
- install mirage-mtime 5.2.0 [required by awa-mirage]
- install mirage-net 4.0.0 [required by tcpip]
- install mirage-ptime 5.2.0 [required by git-kv]
- install mirage-sleep 4.1.0 [required by awa-mirage]
- install mtime 2.1.0 [required by awa-mirage, happy-eyeballs-lwt]
- install ocaml-compiler-libs v0.17.0 [required by ppxlib]
- install ocaml-syntax-shims 1.0.0 [required by angstrom]
- install ocaml_intrinsics_kernel v0.17.1 [required by base]
- install ocamlbuild 0.16.1 [required by fmt, fpath]
- install ocamlfind 1.9.8 [required by fmt, fpath]
- install ocplib-endian 1.2 [required by lwt]
- install ohex 0.2.0 [required by carton]
- install optint 0.3.0 [required by carton, mirage-kv]
- install paf 0.8.0 [required by git-net]
- install pecu 0.7 [required by emile]
- install ppx_assert v0.17.0 [required by jst-config]
- install ppx_base v0.17.0 [required by time_now]
- install ppx_cold v0.17.0 [required by ppx_base]
- install ppx_compare v0.17.0 [required by ppx_base]
- install ppx_derivers 1.2.1 [required by ppxlib]
- install ppx_enumerate v0.17.0 [required by ppx_base]
- install ppx_expect v0.17.3 [required by yocaml_git]
- install ppx_globalize v0.17.2 [required by ppx_base]
- install ppx_hash v0.17.0 [required by ppx_base]
- install ppx_here v0.17.0 [required by ppx_expect]
- install ppx_inline_test v0.17.1 [required by ppx_expect]
- install ppx_optcomp v0.17.1 [required by time_now]
- install ppx_sexp_conv v0.17.1 [required by cohttp]
- install ppxlib 0.37.0 [required by ppx_expect]
- install ppxlib_jane v0.17.4 [required by ppx_globalize, ppx_enumerate, ppx_hash]
- install psq 0.2.1 [required by git-kv]
- install ptime 1.2.0 [required by git-kv]
- install randomconv 0.2.0 [required by dns-client]
- install re 1.14.0 [required by cohttp]
- install rresult 0.7.0 [required by bos]
- install seq base [required by psq]
- install sexplib0 v0.17.0 [required by base, cohttp]
- install stdio v0.17.0 [required by ppx_expect]
- install stdlib-shims 0.3.0 [required by ppxlib]
- install stringext 1.6.0 [required by uri, cohttp]
- install tcpip 9.0.1 [required by git-net]
- install time_now v0.17.0 [required by ppx_inline_test]
- install tls 2.0.4 [required by git-net]
- install tls-mirage 2.0.4 [required by git-net]
- install topkg 1.1.1 [required by fmt, fpath]
- install uri 4.4.0 [required by git-kv, git-net]
- install uri-sexp 4.4.0 [required by cohttp]
- install uutf 1.0.4 [required by emile]
- install x509 1.0.6 [required by ca-certs-nss]
- install yocaml 2.7.0 [required by yocaml_git]
- install yocaml_git 2.7.0
- install yocaml_runtime 2.7.0 [required by yocaml_git]
- install zarith 1.14 [required by awa]
The following system packages will first need to be installed:
libgmp-dev pkg-config
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
opam believes some required external dependencies are missing. opam can:
> 1. Run apt-get to install them (may need root/sudo access)
2. Display the recommended apt-get command and wait while you run it manually (e.g. in another terminal)
3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
4. Abort the installation
[1/2/3/4] 1
+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libgmp-dev" "pkg-config"
- Selecting previously unselected package libgmpxx4ldbl:amd64.
- (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20654 files and directories currently installed.)
- Preparing to unpack .../0-libgmpxx4ldbl_2%3a6.3.0+dfsg-3_amd64.deb ...
- Unpacking libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
- Selecting previously unselected package libgmp-dev:amd64.
- Preparing to unpack .../1-libgmp-dev_2%3a6.3.0+dfsg-3_amd64.deb ...
- Unpacking libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
- Selecting previously unselected package libpkgconf3:amd64.
- Preparing to unpack .../2-libpkgconf3_1.8.1-4_amd64.deb ...
- Unpacking libpkgconf3:amd64 (1.8.1-4) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../3-pkgconf-bin_1.8.1-4_amd64.deb ...
- Unpacking pkgconf-bin (1.8.1-4) ...
- Selecting previously unselected package pkgconf:amd64.
- Preparing to unpack .../4-pkgconf_1.8.1-4_amd64.deb ...
- Unpacking pkgconf:amd64 (1.8.1-4) ...
- Selecting previously unselected package pkg-config:amd64.
- Preparing to unpack .../5-pkg-config_1.8.1-4_amd64.deb ...
- Unpacking pkg-config:amd64 (1.8.1-4) ...
- Setting up libpkgconf3:amd64 (1.8.1-4) ...
- Setting up libgmpxx4ldbl:amd64 (2:6.3.0+dfsg-3) ...
- Setting up pkgconf-bin (1.8.1-4) ...
- Setting up libgmp-dev:amd64 (2:6.3.0+dfsg-3) ...
- Setting up pkgconf:amd64 (1.8.1-4) ...
- Setting up pkg-config:amd64 (1.8.1-4) ...
- Processing triggers for libc-bin (2.41-12+deb13u1) ...
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1 (cached)
-> retrieved arp.4.1.0 (cached)
-> retrieved asn1-combinators.0.3.2 (cached)
-> retrieved astring.0.8.5 (cached)
-> retrieved awa.0.5.2, awa-mirage.0.5.2 (cached)
-> retrieved base.v0.17.3 (cached)
-> retrieved base64.3.5.2 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved bos.0.2.1 (cached)
-> retrieved bstr.0.0.4 (cached)
-> retrieved ca-certs-nss.3.121 (cached)
-> retrieved cachet.0.0.4, cachet-lwt.0.0.4 (cached)
-> retrieved carton.1.2.0, carton-git-lwt.1.2.0, carton-lwt.1.2.0 (cached)
-> retrieved checkseum.0.5.2 (cached)
-> retrieved cmdliner.2.1.0 (cached)
-> retrieved cohttp.6.2.1, http.6.2.1 (cached)
-> retrieved conf-gmp.5 (cached)
-> retrieved conf-gmp-powm-sec.4 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> installed conf-gmp.5
-> installed conf-pkg-config.4
-> retrieved cstruct.6.2.0, cstruct-lwt.6.2.0, cstruct-unix.6.2.0 (cached)
-> installed conf-gmp-powm-sec.4
-> retrieved decompress.1.5.3 (cached)
-> retrieved digestif.1.3.0 (cached)
-> retrieved dns.10.2.4, dns-client.10.2.4, dns-client-mirage.10.2.4 (cached)
-> retrieved domain-name.0.5.0 (cached)
-> retrieved duff.0.5 (cached)
-> retrieved dune.3.22.0, dune-configurator.3.22.0 (cached)
-> retrieved duration.0.2.1 (cached)
-> retrieved emile.1.1 (cached)
-> retrieved encore.0.8.1 (cached)
-> retrieved eqaf.0.10 (cached)
-> retrieved ethernet.3.2.0 (cached)
-> retrieved faraday.0.8.2 (cached)
-> retrieved fmt.0.11.0 (cached)
-> retrieved fpath.0.7.3 (cached)
-> retrieved git-kv.0.2.1, git-net.0.2.1 (cached)
-> retrieved gmap.0.3.0 (cached)
-> retrieved h1.1.1.0 (cached)
-> installed cmdliner.2.1.0
-> retrieved h2.0.13.0, hpack.0.13.0 (cached)
-> retrieved happy-eyeballs.2.0.1, happy-eyeballs-lwt.2.0.1, happy-eyeballs-mirage.2.0.1 (cached)
-> retrieved httpun-types.0.2.0 (cached)
-> retrieved hxd.0.4.0 (cached)
-> retrieved ipaddr.5.6.2, ipaddr-cstruct.5.6.2, macaddr.5.6.2, macaddr-cstruct.5.6.2 (cached)
-> retrieved jane-street-headers.v0.17.0 (cached)
-> retrieved jst-config.v0.17.0 (cached)
-> retrieved kdf.1.0.0 (cached)
-> retrieved ke.0.6 (cached)
-> retrieved logs.0.10.0 (cached)
-> retrieved lru.0.3.1 (cached)
-> retrieved lwt.6.1.1 (cached)
-> retrieved lwt-dllist.1.1.0 (cached)
-> retrieved magic-mime.1.3.1 (cached)
-> retrieved metrics.0.5.0 (cached)
-> retrieved mimic.0.0.9, mimic-happy-eyeballs.0.0.9 (cached)
-> retrieved mirage-clock.4.2.0 (cached)
-> retrieved mirage-crypto.2.1.0, mirage-crypto-ec.2.1.0, mirage-crypto-pk.2.1.0, mirage-crypto-rng.2.1.0 (cached)
-> retrieved mirage-flow.5.0.0 (cached)
-> retrieved mirage-kv.6.1.1 (cached)
-> retrieved mirage-mtime.5.2.0 (cached)
-> retrieved mirage-net.4.0.0 (cached)
-> retrieved mirage-ptime.5.2.0 (cached)
-> retrieved mirage-sleep.4.1.0 (cached)
-> retrieved mtime.2.1.0 (cached)
-> retrieved ocaml-compiler-libs.v0.17.0 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved ohex.0.2.0 (cached)
-> retrieved optint.0.3.0 (cached)
-> retrieved paf.0.8.0 (cached)
-> retrieved pecu.0.7 (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_enumerate.v0.17.0 (cached)
-> retrieved ppx_expect.v0.17.3 (cached)
-> retrieved ppx_globalize.v0.17.2 (cached)
-> retrieved ppx_hash.v0.17.0 (cached)
-> retrieved ppx_here.v0.17.0 (cached)
-> retrieved ppx_inline_test.v0.17.1 (cached)
-> retrieved ppx_optcomp.v0.17.1 (cached)
-> retrieved ppx_sexp_conv.v0.17.1 (cached)
-> retrieved ppxlib.0.37.0 (cached)
-> retrieved ppxlib_jane.v0.17.4 (cached)
-> retrieved psq.0.2.1 (cached)
-> retrieved ptime.1.2.0 (cached)
-> retrieved randomconv.0.2.0 (cached)
-> retrieved re.1.14.0 (cached)
-> retrieved rresult.0.7.0 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved stdio.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved stringext.1.6.0 (cached)
-> retrieved tcpip.9.0.1 (cached)
-> retrieved time_now.v0.17.0 (cached)
-> retrieved tls.2.0.4, tls-mirage.2.0.4 (cached)
-> retrieved topkg.1.1.1 (cached)
-> retrieved uri.4.4.0, uri-sexp.4.4.0 (cached)
-> retrieved uutf.1.0.4 (cached)
-> retrieved x509.1.0.6 (cached)
-> retrieved yocaml.2.7.0, yocaml_git.2.7.0, yocaml_runtime.2.7.0 (cached)
-> retrieved zarith.1.14 (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocamlbuild.0.16.1
-> installed zarith.1.14
-> installed topkg.1.1.1
-> installed rresult.0.7.0
-> installed mtime.2.1.0
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed ptime.1.2.0
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed dune.3.22.0
-> installed mirage-clock.4.2.0
-> installed jane-street-headers.v0.17.0
-> installed csexp.1.5.2
-> installed asn1-combinators.0.3.2
-> installed base64.3.5.2
-> installed bstr.0.0.4
-> installed cppo.1.8.0
-> installed cstruct.6.2.0
-> installed domain-name.0.5.0
-> installed duff.0.5
-> installed duration.0.2.1
-> installed eqaf.0.10
-> installed gmap.0.3.0
-> installed http.6.2.1
-> installed ke.0.6
-> installed lwt-dllist.1.1.0
-> installed macaddr.5.6.2
-> installed magic-mime.1.3.1
-> installed metrics.0.5.0
-> installed mirage-mtime.5.2.0
-> installed mirage-ptime.5.2.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed ohex.0.2.0
-> installed optint.0.3.0
-> installed pecu.0.7
-> installed ppx_derivers.1.2.1
-> installed psq.0.2.1
-> installed randomconv.0.2.0
-> installed re.1.14.0
-> installed sexplib0.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed stringext.1.6.0
-> installed cstruct-unix.6.2.0
-> installed ocplib-endian.1.2
-> installed macaddr-cstruct.5.6.2
-> installed cachet.0.0.4
-> installed lru.0.3.1
-> installed ipaddr.5.6.2
-> installed ipaddr-cstruct.5.6.2
-> installed digestif.1.3.0
-> installed dune-configurator.3.22.0
-> installed bigstringaf.0.10.0
-> installed faraday.0.8.2
-> installed checkseum.0.5.2
-> installed angstrom.0.16.1
-> installed httpun-types.0.2.0
-> installed encore.0.8.1
-> installed emile.1.1
-> installed hpack.0.13.0
-> installed h1.1.1.0
-> installed mirage-crypto.2.1.0
-> installed decompress.1.5.3
-> installed kdf.1.0.0
-> installed lwt.6.1.1
-> installed cachet-lwt.0.0.4
-> installed h2.0.13.0
-> installed cstruct-lwt.6.2.0
-> installed mirage-flow.5.0.0
-> installed mirage-kv.6.1.1
-> installed mirage-net.4.0.0
-> installed mirage-sleep.4.1.0
-> installed uri.4.4.0
-> installed hxd.0.4.0
-> installed logs.0.10.0
-> installed ethernet.3.2.0
-> installed happy-eyeballs.2.0.1
-> installed mimic.0.0.9
-> installed mirage-crypto-rng.2.1.0
-> installed arp.4.1.0
-> installed carton.1.2.0
-> installed mirage-crypto-pk.2.1.0
-> installed carton-lwt.1.2.0
-> installed carton-git-lwt.1.2.0
-> installed tcpip.9.0.1
-> installed base.v0.17.3
-> installed happy-eyeballs-mirage.2.0.1
-> installed stdio.v0.17.0
-> installed bos.0.2.1
-> installed dns.10.2.4
-> installed git-kv.0.2.1
-> installed happy-eyeballs-lwt.2.0.1
-> installed dns-client.10.2.4
-> installed mirage-crypto-ec.2.1.0
-> installed x509.1.0.6
-> installed ca-certs-nss.3.121
-> installed tls.2.0.4
-> installed awa.0.5.2
-> installed tls-mirage.2.0.4
-> installed awa-mirage.0.5.2
-> installed dns-client-mirage.10.2.4
-> installed paf.0.8.0
-> installed mimic-happy-eyeballs.0.0.9
-> installed ppxlib.0.37.0
-> installed git-net.0.2.1
-> installed ppx_optcomp.v0.17.1
-> installed ppxlib_jane.v0.17.4
-> installed ppx_cold.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ppx_enumerate.v0.17.0
-> installed ppx_compare.v0.17.0
-> installed ppx_globalize.v0.17.2
-> installed ppx_sexp_conv.v0.17.1
-> installed uri-sexp.4.4.0
-> installed ppx_hash.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_base.v0.17.0
-> installed cohttp.6.2.1
-> installed jst-config.v0.17.0
-> installed time_now.v0.17.0
-> installed ppx_inline_test.v0.17.1
-> installed ppx_expect.v0.17.3
-> installed yocaml.2.7.0
-> installed yocaml_runtime.2.7.0
-> installed yocaml_git.2.7.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 22:08.18 ---> saved as "8d6d2099cf4d93ae3711096b053263c09899eb2f151274a96c07e97f06345ed3"
/home/opam: (run (network host)
(shell "(opam reinstall --with-test yocaml_git.2.7.0) || true"))
The following actions will be performed:
=== recompile 1 package
- recompile yocaml_git 2.7.0
=== install 4 packages
- install camlp-streams 5.0.1 [required by mdx]
- install mdx 2.5.1 [required by yocaml_git]
- install ocaml-version 4.0.4 [required by mdx]
- install result 1.5 [required by mdx]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved camlp-streams.5.0.1 (https://opam.ocaml.org/cache)
-> retrieved mdx.2.5.1 (https://opam.ocaml.org/cache)
-> retrieved ocaml-version.4.0.4 (https://opam.ocaml.org/cache)
-> retrieved result.1.5 (https://opam.ocaml.org/cache)
-> installed camlp-streams.5.0.1
-> retrieved yocaml_git.2.7.0 (https://opam.ocaml.org/cache)
-> installed result.1.5
-> removed yocaml_git.2.7.0
-> installed ocaml-version.4.0.4
-> installed mdx.2.5.1
[ERROR] The compilation of yocaml_git.2.7.0 failed at "dune build -p yocaml_git -j 71 @install @runtest".
#=== ERROR while compiling yocaml_git.2.7.0 ===================================#
# context 2.5.0 | linux/x86_64 | ocaml-variants.5.4.0~beta1+options | file:///home/opam/opam-repository
# path ~/.opam/5.4/.opam-switch/build/yocaml_git.2.7.0
# command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p yocaml_git -j 71 @install @runtest
# exit-code 1
# env-file ~/.opam/log/yocaml_git-7-a5b9f0.env
# output-file ~/.opam/log/yocaml_git-7-a5b9f0.out
### output ###
# File "doc/data_validation.mld", line 1, characters 0-0:
# /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/doc/data_validation.mld _build/default/doc/.mdx/data_validation.mld.corrected
# diff --git a/_build/default/doc/data_validation.mld b/_build/default/doc/.mdx/data_validation.mld.corrected
# index a888627..1736271 100644
# --- a/_build/default/doc/data_validation.mld
# +++ b/_build/default/doc/.mdx/data_validation.mld.corrected
# @@ -120,7 +120,7 @@ Let's try to validate an incorrect entry. For example, let's try to treat a
# {@ocaml[
# # V.int (D.bool true) ;;
# - : int V.validated_value =
# -Error (V.Invalid_shape {V.expected = "int"; given = Yocaml.Data.Bool true})
# +Error (V.Invalid_shape {V.expected = "int"; given = Yocaml__Data.Bool true})
# ]}
#
# As you can see, {!val:Yocaml.Data.Validation.bool} refuses to consider a number
# @@ -170,7 +170,7 @@ boolean as a string:
# - : string V.validated_value =
# Error
# (V.Invalid_shape
# - {V.expected = "strict-string"; given = Yocaml.Data.Bool true})
# + {V.expected = "strict-string"; given = Yocaml__Data.Bool true})
# ]}
#
# However, if you validate the boolean as a non-strict string, it will be
# @@ -227,13 +227,13 @@ Error
# Yocaml__.Nel.(::)
# ((3,
# V.Invalid_shape
# - {V.expected = "strict-string"; given = Yocaml.Data.Bool false}),
# + {V.expected = "strict-string"; given = Yocaml__Data.Bool false}),
# [(1,
# V.Invalid_shape
# - {V.expected = "strict-string"; given = Yocaml.Data.Int 42})]);
# + {V.expected = "strict-string"; given = Yocaml__Data.Int 42})]);
# given =
# - [Yocaml.Data.String "hello"; Yocaml.Data.Int 42;
# - Yocaml.Data.String "world"; Yocaml.Data.Bool false]})
# + [Yocaml__Data.String "hello"; Yocaml__Data.Int 42;
# + Yocaml__Data.String "world"; Yocaml__Data.Bool false]})
# ]eof}
#
# Holy Moly, the error is quite frightening! As mentioned earlier in the guide,
# @@ -350,16 +350,17 @@ Error
# (Yocaml.Data.Validation.Missing_field
# {Yocaml.Data.Validation.field = "username"},
# [Yocaml.Data.Validation.Invalid_field
# - {Yocaml.Data.Validation.given = Yocaml.Data.Bool true; field = "age";
# + {Yocaml.Data.Validation.given = Yocaml__Data.Bool true;
# + field = "age";
# error =
# Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected = "int";
# - given = Yocaml.Data.Bool true}};
# + given = Yocaml__Data.Bool true}};
# Yocaml.Data.Validation.Invalid_field
# {Yocaml.Data.Validation.given =
# - Yocaml.Data.List
# - [Yocaml.Data.Int 1; Yocaml.Data.Int 2; Yocaml.Data.Int 3;
# - Yocaml.Data.Int 4];
# + Yocaml__Data.List
# + [Yocaml__Data.Int 1; Yocaml__Data.Int 2; Yocaml__Data.Int 3;
# + Yocaml__Data.Int 4];
# field = "nouns";
# error =
# Yocaml.Data.Validation.Invalid_list
# @@ -368,29 +369,29 @@ Error
# ((3,
# Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected = "strict-string";
# - given = Yocaml.Data.Int 4}),
# + given = Yocaml__Data.Int 4}),
# [(2,
# Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected = "strict-string";
# - given = Yocaml.Data.Int 3});
# + given = Yocaml__Data.Int 3});
# (1,
# Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected = "strict-string";
# - given = Yocaml.Data.Int 2});
# + given = Yocaml__Data.Int 2});
# (0,
# Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected = "strict-string";
# - given = Yocaml.Data.Int 1})]);
# + given = Yocaml__Data.Int 1})]);
# given =
# - [Yocaml.Data.Int 1; Yocaml.Data.Int 2; Yocaml.Data.Int 3;
# - Yocaml.Data.Int 4]}}]);
# + [Yocaml__Data.Int 1; Yocaml__Data.Int 2; Yocaml__Data.Int 3;
# + Yocaml__Data.Int 4]}}]);
# given =
# - [("usernme", Yocaml.Data.String "JohnDoe42");
# - ("age", Yocaml.Data.Bool true);
# + [("usernme", Yocaml__Data.String "JohnDoe42");
# + ("age", Yocaml__Data.Bool true);
# ("nouns",
# - Yocaml.Data.List
# - [Yocaml.Data.Int 1; Yocaml.Data.Int 2; Yocaml.Data.Int 3;
# - Yocaml.Data.Int 4])]})
# + Yocaml__Data.List
# + [Yocaml__Data.Int 1; Yocaml__Data.Int 2; Yocaml__Data.Int 3;
# + Yocaml__Data.Int 4])]})
# ]eof}
#
#
# @@ -442,7 +443,8 @@ An trying to validate something invalid leads to an error:
# {eof@ocaml[
# # option_int (D.string "15") ;;
# - : int option V.validated_value =
# -Error (V.Invalid_shape {V.expected = "int"; given = Yocaml.Data.String "15"})
# +Error
# + (V.Invalid_shape {V.expected = "int"; given = Yocaml__Data.String "15"})
# ]eof}
#
# {3 Dealing with products}
# @@ -491,17 +493,17 @@ Error
# {V.errors =
# Yocaml__.Nel.(::)
# (V.Invalid_field
# - {V.given = Yocaml.Data.Bool false; field = "fst";
# + {V.given = Yocaml__Data.Bool false; field = "fst";
# error =
# V.Invalid_shape
# - {V.expected = "strict-string"; given = Yocaml.Data.Bool false}},
# + {V.expected = "strict-string"; given = Yocaml__Data.Bool false}},
# [V.Invalid_field
# - {V.given = Yocaml.Data.String "foo"; field = "snd";
# + {V.given = Yocaml__Data.String "foo"; field = "snd";
# error =
# V.Invalid_shape
# - {V.expected = "int"; given = Yocaml.Data.String "foo"}}]);
# + {V.expected = "int"; given = Yocaml__Data.String "foo"}}]);
# given =
# - [("fst", Yocaml.Data.Bool false); ("snd", Yocaml.Data.String "foo")]})
# + [("fst", Yocaml__Data.Bool false); ("snd", Yocaml__Data.String "foo")]})
# ]eof}
#
# Which gives us some information about how the products are encoded under the
# @@ -577,7 +579,7 @@ hood:
# Error
# (V.Invalid_shape
# {V.expected = "Left <abstr> | Right <abstr>";
# - given = Yocaml.Data.String "foo"})
# + given = Yocaml__Data.String "foo"})
# ]eof}
#
# by trying to validate an [option] as an [either] doesn't give us much
# @@ -682,7 +684,7 @@ Error
# (Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected =
# "Aaf <abstr> | Bcwrz <abstr> | Krups <abstr> | Kalco <abstr> | Piou <abstr> | Xxxx <abstr> | Zzzz <abstr>";
# - given = Yocaml.Data.Int 64})
# + given = Yocaml__Data.Int 64})
# ]eof}
#
# And let's observe an invalid constructor, we learn more about the representation
# @@ -696,8 +698,8 @@ Error
# {Yocaml.Data.Validation.expected =
# "Aaf <abstr> | Bcwrz <abstr> | Krups <abstr> | Kalco <abstr> | Piou <abstr> | Xxxx <abstr> | Zzzz <abstr>";
# given =
# - Yocaml.Data.Record
# - [("constr", Yocaml.Data.String "arf"); ("value", Yocaml.Data.Int 10)]})
# + Yocaml__Data.Record
# + [("constr", Yocaml__Data.String "arf"); ("value", Yocaml__Data.Int 10)]})
# ]eof}
#
# The validation of the sums is a little less secure than one might hope because
# @@ -969,7 +971,7 @@ Result.Error
# {Yocaml.Data.Validation.errors =
# Yocaml__.Nel.(::)
# (Yocaml.Data.Validation.Invalid_field
# - {Yocaml.Data.Validation.given = Yocaml.Data.String "JohnDoe43";
# + {Yocaml.Data.Validation.given = Yocaml__Data.String "JohnDoe43";
# field = "username_confirmation";
# error =
# Yocaml.Data.Validation.With_message
# @@ -977,14 +979,14 @@ Result.Error
# message = "should be equal to JohnDoe42"}},
# []);
# given =
# - [("username", Yocaml.Data.String "JohnDoe42");
# - ("age", Yocaml.Data.Int 42);
# + [("username", Yocaml__Data.String "JohnDoe42");
# + ("age", Yocaml__Data.Int 42);
# ("nouns",
# - Yocaml.Data.List
# - [Yocaml.Data.String "he"; Yocaml.Data.String "him";
# - Yocaml.Data.String "his"; Yocaml.Data.String "himself"]);
# - ("email", Yocaml.Data.String "jdoe@name.com");
# - ("username_confirmation", Yocaml.Data.String "JohnDoe43")]})
# + Yocaml__Data.List
# + [Yocaml__Data.String "he"; Yocaml__Data.String "him";
# + Yocaml__Data.String "his"; Yocaml__Data.String "himself"]);
# + ("email", Yocaml__Data.String "jdoe@name.com");
# + ("username_confirmation", Yocaml__Data.String "JohnDoe43")]})
# ]eof}
#
# In some cases, dependent validation makes it possible to construct increasingly
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build yocaml_git 2.7.0
+-
+- The following changes have been performed
| - remove yocaml_git 2.7.0
| - install camlp-streams 5.0.1
| - install mdx 2.5.1
| - install ocaml-version 4.0.4
| - install result 1.5
+-
The former state can be restored with:
/usr/bin/opam switch import "/home/opam/.opam/5.4/.opam-switch/backup/state-20260325220819.export"
Or you can retry to install your package selection with:
/usr/bin/opam install --restore
# To update the current shell environment, run: eval $(opam env)
2026-03-25 22:08.49 ---> saved as "d68f7cbb44ebfba5e8a04e286f47e177cd9d523463b0dca31b9a6d6a60e4d02a"
/home/opam: (run (shell "opam reinstall --with-test --verbose yocaml_git.2.7.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'yocaml_git.2.7.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
yocaml_git.2.7.0 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
- install yocaml_git 2.7.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 1/3: [yocaml_git.2.7.0: extract]
-> retrieved yocaml_git.2.7.0 (cached)
Processing 2/3: [yocaml_git: dune build]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "dune" "build" "-p" "yocaml_git" "-j" "71" "@install" "@runtest" (CWD=/home/opam/.opam/5.4/.opam-switch/build/yocaml_git.2.7.0)
- File "doc/data_validation.mld", line 1, characters 0-0:
- /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/doc/data_validation.mld _build/default/doc/.mdx/data_validation.mld.corrected
- diff --git a/_build/default/doc/data_validation.mld b/_build/default/doc/.mdx/data_validation.mld.corrected
- index a888627..1736271 100644
- --- a/_build/default/doc/data_validation.mld
- +++ b/_build/default/doc/.mdx/data_validation.mld.corrected
- @@ -120,7 +120,7 @@ Let's try to validate an incorrect entry. For example, let's try to treat a
- {@ocaml[
- # V.int (D.bool true) ;;
- - : int V.validated_value =
- -Error (V.Invalid_shape {V.expected = "int"; given = Yocaml.Data.Bool true})
- +Error (V.Invalid_shape {V.expected = "int"; given = Yocaml__Data.Bool true})
- ]}
-
- As you can see, {!val:Yocaml.Data.Validation.bool} refuses to consider a number
- @@ -170,7 +170,7 @@ boolean as a string:
- - : string V.validated_value =
- Error
- (V.Invalid_shape
- - {V.expected = "strict-string"; given = Yocaml.Data.Bool true})
- + {V.expected = "strict-string"; given = Yocaml__Data.Bool true})
- ]}
-
- However, if you validate the boolean as a non-strict string, it will be
- @@ -227,13 +227,13 @@ Error
- Yocaml__.Nel.(::)
- ((3,
- V.Invalid_shape
- - {V.expected = "strict-string"; given = Yocaml.Data.Bool false}),
- + {V.expected = "strict-string"; given = Yocaml__Data.Bool false}),
- [(1,
- V.Invalid_shape
- - {V.expected = "strict-string"; given = Yocaml.Data.Int 42})]);
- + {V.expected = "strict-string"; given = Yocaml__Data.Int 42})]);
- given =
- - [Yocaml.Data.String "hello"; Yocaml.Data.Int 42;
- - Yocaml.Data.String "world"; Yocaml.Data.Bool false]})
- + [Yocaml__Data.String "hello"; Yocaml__Data.Int 42;
- + Yocaml__Data.String "world"; Yocaml__Data.Bool false]})
- ]eof}
-
- Holy Moly, the error is quite frightening! As mentioned earlier in the guide,
- @@ -350,16 +350,17 @@ Error
- (Yocaml.Data.Validation.Missing_field
- {Yocaml.Data.Validation.field = "username"},
- [Yocaml.Data.Validation.Invalid_field
- - {Yocaml.Data.Validation.given = Yocaml.Data.Bool true; field = "age";
- + {Yocaml.Data.Validation.given = Yocaml__Data.Bool true;
- + field = "age";
- error =
- Yocaml.Data.Validation.Invalid_shape
- {Yocaml.Data.Validation.expected = "int";
- - given = Yocaml.Data.Bool true}};
- + given = Yocaml__Data.Bool true}};
- Yocaml.Data.Validation.Invalid_field
- {Yocaml.Data.Validation.given =
- - Yocaml.Data.List
- - [Yocaml.Data.Int 1; Yocaml.Data.Int 2; Yocaml.Data.Int 3;
- - Yocaml.Data.Int 4];
- + Yocaml__Data.List
- + [Yocaml__Data.Int 1; Yocaml__Data.Int 2; Yocaml__Data.Int 3;
- + Yocaml__Data.Int 4];
- field = "nouns";
- error =
- Yocaml.Data.Validation.Invalid_list
- @@ -368,29 +369,29 @@ Error
- ((3,
- Yocaml.Data.Validation.Invalid_shape
- {Yocaml.Data.Validation.expected = "strict-string";
- - given = Yocaml.Data.Int 4}),
- + given = Yocaml__Data.Int 4}),
- [(2,
- Yocaml.Data.Validation.Invalid_shape
- {Yocaml.Data.Validation.expected = "strict-string";
- - given = Yocaml.Data.Int 3});
- + given = Yocaml__Data.Int 3});
- (1,
- Yocaml.Data.Validation.Invalid_shape
- {Yocaml.Data.Validation.expected = "strict-string";
- - given = Yocaml.Data.Int 2});
- + given = Yocaml__Data.Int 2});
- (0,
- Yocaml.Data.Validation.Invalid_shape
- {Yocaml.Data.Validation.expected = "strict-string";
- - given = Yocaml.Data.Int 1})]);
- + given = Yocaml__Data.Int 1})]);
- given =
- - [Yocaml.Data.Int 1; Yocaml.Data.Int 2; Yocaml.Data.Int 3;
- - Yocaml.Data.Int 4]}}]);
- + [Yocaml__Data.Int 1; Yocaml__Data.Int 2; Yocaml__Data.Int 3;
- + Yocaml__Data.Int 4]}}]);
- given =
- - [("usernme", Yocaml.Data.String "JohnDoe42");
- - ("age", Yocaml.Data.Bool true);
- + [("usernme", Yocaml__Data.String "JohnDoe42");
- + ("age", Yocaml__Data.Bool true);
- ("nouns",
- - Yocaml.Data.List
- - [Yocaml.Data.Int 1; Yocaml.Data.Int 2; Yocaml.Data.Int 3;
- - Yocaml.Data.Int 4])]})
- + Yocaml__Data.List
- + [Yocaml__Data.Int 1; Yocaml__Data.Int 2; Yocaml__Data.Int 3;
- + Yocaml__Data.Int 4])]})
- ]eof}
-
-
- @@ -442,7 +443,8 @@ An trying to validate something invalid leads to an error:
- {eof@ocaml[
- # option_int (D.string "15") ;;
- - : int option V.validated_value =
- -Error (V.Invalid_shape {V.expected = "int"; given = Yocaml.Data.String "15"})
- +Error
- + (V.Invalid_shape {V.expected = "int"; given = Yocaml__Data.String "15"})
- ]eof}
-
- {3 Dealing with products}
- @@ -491,17 +493,17 @@ Error
- {V.errors =
- Yocaml__.Nel.(::)
- (V.Invalid_field
- - {V.given = Yocaml.Data.Bool false; field = "fst";
- + {V.given = Yocaml__Data.Bool false; field = "fst";
- error =
- V.Invalid_shape
- - {V.expected = "strict-string"; given = Yocaml.Data.Bool false}},
- + {V.expected = "strict-string"; given = Yocaml__Data.Bool false}},
- [V.Invalid_field
- - {V.given = Yocaml.Data.String "foo"; field = "snd";
- + {V.given = Yocaml__Data.String "foo"; field = "snd";
- error =
- V.Invalid_shape
- - {V.expected = "int"; given = Yocaml.Data.String "foo"}}]);
- + {V.expected = "int"; given = Yocaml__Data.String "foo"}}]);
- given =
- - [("fst", Yocaml.Data.Bool false); ("snd", Yocaml.Data.String "foo")]})
- + [("fst", Yocaml__Data.Bool false); ("snd", Yocaml__Data.String "foo")]})
- ]eof}
-
- Which gives us some information about how the products are encoded under the
- @@ -577,7 +579,7 @@ hood:
- Error
- (V.Invalid_shape
- {V.expected = "Left <abstr> | Right <abstr>";
- - given = Yocaml.Data.String "foo"})
- + given = Yocaml__Data.String "foo"})
- ]eof}
-
- by trying to validate an [option] as an [either] doesn't give us much
- @@ -682,7 +684,7 @@ Error
- (Yocaml.Data.Validation.Invalid_shape
- {Yocaml.Data.Validation.expected =
- "Aaf <abstr> | Bcwrz <abstr> | Krups <abstr> | Kalco <abstr> | Piou <abstr> | Xxxx <abstr> | Zzzz <abstr>";
- - given = Yocaml.Data.Int 64})
- + given = Yocaml__Data.Int 64})
- ]eof}
-
- And let's observe an invalid constructor, we learn more about the representation
- @@ -696,8 +698,8 @@ Error
- {Yocaml.Data.Validation.expected =
- "Aaf <abstr> | Bcwrz <abstr> | Krups <abstr> | Kalco <abstr> | Piou <abstr> | Xxxx <abstr> | Zzzz <abstr>";
- given =
- - Yocaml.Data.Record
- - [("constr", Yocaml.Data.String "arf"); ("value", Yocaml.Data.Int 10)]})
- + Yocaml__Data.Record
- + [("constr", Yocaml__Data.String "arf"); ("value", Yocaml__Data.Int 10)]})
- ]eof}
-
- The validation of the sums is a little less secure than one might hope because
- @@ -969,7 +971,7 @@ Result.Error
- {Yocaml.Data.Validation.errors =
- Yocaml__.Nel.(::)
- (Yocaml.Data.Validation.Invalid_field
- - {Yocaml.Data.Validation.given = Yocaml.Data.String "JohnDoe43";
- + {Yocaml.Data.Validation.given = Yocaml__Data.String "JohnDoe43";
- field = "username_confirmation";
- error =
- Yocaml.Data.Validation.With_message
- @@ -977,14 +979,14 @@ Result.Error
- message = "should be equal to JohnDoe42"}},
- []);
- given =
- - [("username", Yocaml.Data.String "JohnDoe42");
- - ("age", Yocaml.Data.Int 42);
- + [("username", Yocaml__Data.String "JohnDoe42");
- + ("age", Yocaml__Data.Int 42);
- ("nouns",
- - Yocaml.Data.List
- - [Yocaml.Data.String "he"; Yocaml.Data.String "him";
- - Yocaml.Data.String "his"; Yocaml.Data.String "himself"]);
- - ("email", Yocaml.Data.String "jdoe@name.com");
- - ("username_confirmation", Yocaml.Data.String "JohnDoe43")]})
- + Yocaml__Data.List
- + [Yocaml__Data.String "he"; Yocaml__Data.String "him";
- + Yocaml__Data.String "his"; Yocaml__Data.String "himself"]);
- + ("email", Yocaml__Data.String "jdoe@name.com");
- + ("username_confirmation", Yocaml__Data.String "JohnDoe43")]})
- ]eof}
-
- In some cases, dependent validation makes it possible to construct increasingly
[ERROR] The compilation of yocaml_git.2.7.0 failed at "dune build -p yocaml_git -j 71 @install @runtest".
#=== ERROR while compiling yocaml_git.2.7.0 ===================================#
# context 2.5.0 | linux/x86_64 | ocaml-variants.5.4.0~beta1+options | file:///home/opam/opam-repository
# path ~/.opam/5.4/.opam-switch/build/yocaml_git.2.7.0
# command ~/.opam/opam-init/hooks/sandbox.sh build dune build -p yocaml_git -j 71 @install @runtest
# exit-code 1
# env-file ~/.opam/log/yocaml_git-7-01d903.env
# output-file ~/.opam/log/yocaml_git-7-01d903.out
### output ###
# File "doc/data_validation.mld", line 1, characters 0-0:
# /usr/bin/git --no-pager diff --no-index --color=always -u _build/default/doc/data_validation.mld _build/default/doc/.mdx/data_validation.mld.corrected
# diff --git a/_build/default/doc/data_validation.mld b/_build/default/doc/.mdx/data_validation.mld.corrected
# index a888627..1736271 100644
# --- a/_build/default/doc/data_validation.mld
# +++ b/_build/default/doc/.mdx/data_validation.mld.corrected
# @@ -120,7 +120,7 @@ Let's try to validate an incorrect entry. For example, let's try to treat a
# {@ocaml[
# # V.int (D.bool true) ;;
# - : int V.validated_value =
# -Error (V.Invalid_shape {V.expected = "int"; given = Yocaml.Data.Bool true})
# +Error (V.Invalid_shape {V.expected = "int"; given = Yocaml__Data.Bool true})
# ]}
#
# As you can see, {!val:Yocaml.Data.Validation.bool} refuses to consider a number
# @@ -170,7 +170,7 @@ boolean as a string:
# - : string V.validated_value =
# Error
# (V.Invalid_shape
# - {V.expected = "strict-string"; given = Yocaml.Data.Bool true})
# + {V.expected = "strict-string"; given = Yocaml__Data.Bool true})
# ]}
#
# However, if you validate the boolean as a non-strict string, it will be
# @@ -227,13 +227,13 @@ Error
# Yocaml__.Nel.(::)
# ((3,
# V.Invalid_shape
# - {V.expected = "strict-string"; given = Yocaml.Data.Bool false}),
# + {V.expected = "strict-string"; given = Yocaml__Data.Bool false}),
# [(1,
# V.Invalid_shape
# - {V.expected = "strict-string"; given = Yocaml.Data.Int 42})]);
# + {V.expected = "strict-string"; given = Yocaml__Data.Int 42})]);
# given =
# - [Yocaml.Data.String "hello"; Yocaml.Data.Int 42;
# - Yocaml.Data.String "world"; Yocaml.Data.Bool false]})
# + [Yocaml__Data.String "hello"; Yocaml__Data.Int 42;
# + Yocaml__Data.String "world"; Yocaml__Data.Bool false]})
# ]eof}
#
# Holy Moly, the error is quite frightening! As mentioned earlier in the guide,
# @@ -350,16 +350,17 @@ Error
# (Yocaml.Data.Validation.Missing_field
# {Yocaml.Data.Validation.field = "username"},
# [Yocaml.Data.Validation.Invalid_field
# - {Yocaml.Data.Validation.given = Yocaml.Data.Bool true; field = "age";
# + {Yocaml.Data.Validation.given = Yocaml__Data.Bool true;
# + field = "age";
# error =
# Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected = "int";
# - given = Yocaml.Data.Bool true}};
# + given = Yocaml__Data.Bool true}};
# Yocaml.Data.Validation.Invalid_field
# {Yocaml.Data.Validation.given =
# - Yocaml.Data.List
# - [Yocaml.Data.Int 1; Yocaml.Data.Int 2; Yocaml.Data.Int 3;
# - Yocaml.Data.Int 4];
# + Yocaml__Data.List
# + [Yocaml__Data.Int 1; Yocaml__Data.Int 2; Yocaml__Data.Int 3;
# + Yocaml__Data.Int 4];
# field = "nouns";
# error =
# Yocaml.Data.Validation.Invalid_list
# @@ -368,29 +369,29 @@ Error
# ((3,
# Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected = "strict-string";
# - given = Yocaml.Data.Int 4}),
# + given = Yocaml__Data.Int 4}),
# [(2,
# Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected = "strict-string";
# - given = Yocaml.Data.Int 3});
# + given = Yocaml__Data.Int 3});
# (1,
# Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected = "strict-string";
# - given = Yocaml.Data.Int 2});
# + given = Yocaml__Data.Int 2});
# (0,
# Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected = "strict-string";
# - given = Yocaml.Data.Int 1})]);
# + given = Yocaml__Data.Int 1})]);
# given =
# - [Yocaml.Data.Int 1; Yocaml.Data.Int 2; Yocaml.Data.Int 3;
# - Yocaml.Data.Int 4]}}]);
# + [Yocaml__Data.Int 1; Yocaml__Data.Int 2; Yocaml__Data.Int 3;
# + Yocaml__Data.Int 4]}}]);
# given =
# - [("usernme", Yocaml.Data.String "JohnDoe42");
# - ("age", Yocaml.Data.Bool true);
# + [("usernme", Yocaml__Data.String "JohnDoe42");
# + ("age", Yocaml__Data.Bool true);
# ("nouns",
# - Yocaml.Data.List
# - [Yocaml.Data.Int 1; Yocaml.Data.Int 2; Yocaml.Data.Int 3;
# - Yocaml.Data.Int 4])]})
# + Yocaml__Data.List
# + [Yocaml__Data.Int 1; Yocaml__Data.Int 2; Yocaml__Data.Int 3;
# + Yocaml__Data.Int 4])]})
# ]eof}
#
#
# @@ -442,7 +443,8 @@ An trying to validate something invalid leads to an error:
# {eof@ocaml[
# # option_int (D.string "15") ;;
# - : int option V.validated_value =
# -Error (V.Invalid_shape {V.expected = "int"; given = Yocaml.Data.String "15"})
# +Error
# + (V.Invalid_shape {V.expected = "int"; given = Yocaml__Data.String "15"})
# ]eof}
#
# {3 Dealing with products}
# @@ -491,17 +493,17 @@ Error
# {V.errors =
# Yocaml__.Nel.(::)
# (V.Invalid_field
# - {V.given = Yocaml.Data.Bool false; field = "fst";
# + {V.given = Yocaml__Data.Bool false; field = "fst";
# error =
# V.Invalid_shape
# - {V.expected = "strict-string"; given = Yocaml.Data.Bool false}},
# + {V.expected = "strict-string"; given = Yocaml__Data.Bool false}},
# [V.Invalid_field
# - {V.given = Yocaml.Data.String "foo"; field = "snd";
# + {V.given = Yocaml__Data.String "foo"; field = "snd";
# error =
# V.Invalid_shape
# - {V.expected = "int"; given = Yocaml.Data.String "foo"}}]);
# + {V.expected = "int"; given = Yocaml__Data.String "foo"}}]);
# given =
# - [("fst", Yocaml.Data.Bool false); ("snd", Yocaml.Data.String "foo")]})
# + [("fst", Yocaml__Data.Bool false); ("snd", Yocaml__Data.String "foo")]})
# ]eof}
#
# Which gives us some information about how the products are encoded under the
# @@ -577,7 +579,7 @@ hood:
# Error
# (V.Invalid_shape
# {V.expected = "Left <abstr> | Right <abstr>";
# - given = Yocaml.Data.String "foo"})
# + given = Yocaml__Data.String "foo"})
# ]eof}
#
# by trying to validate an [option] as an [either] doesn't give us much
# @@ -682,7 +684,7 @@ Error
# (Yocaml.Data.Validation.Invalid_shape
# {Yocaml.Data.Validation.expected =
# "Aaf <abstr> | Bcwrz <abstr> | Krups <abstr> | Kalco <abstr> | Piou <abstr> | Xxxx <abstr> | Zzzz <abstr>";
# - given = Yocaml.Data.Int 64})
# + given = Yocaml__Data.Int 64})
# ]eof}
#
# And let's observe an invalid constructor, we learn more about the representation
# @@ -696,8 +698,8 @@ Error
# {Yocaml.Data.Validation.expected =
# "Aaf <abstr> | Bcwrz <abstr> | Krups <abstr> | Kalco <abstr> | Piou <abstr> | Xxxx <abstr> | Zzzz <abstr>";
# given =
# - Yocaml.Data.Record
# - [("constr", Yocaml.Data.String "arf"); ("value", Yocaml.Data.Int 10)]})
# + Yocaml__Data.Record
# + [("constr", Yocaml__Data.String "arf"); ("value", Yocaml__Data.Int 10)]})
# ]eof}
#
# The validation of the sums is a little less secure than one might hope because
# @@ -969,7 +971,7 @@ Result.Error
# {Yocaml.Data.Validation.errors =
# Yocaml__.Nel.(::)
# (Yocaml.Data.Validation.Invalid_field
# - {Yocaml.Data.Validation.given = Yocaml.Data.String "JohnDoe43";
# + {Yocaml.Data.Validation.given = Yocaml__Data.String "JohnDoe43";
# field = "username_confirmation";
# error =
# Yocaml.Data.Validation.With_message
# @@ -977,14 +979,14 @@ Result.Error
# message = "should be equal to JohnDoe42"}},
# []);
# given =
# - [("username", Yocaml.Data.String "JohnDoe42");
# - ("age", Yocaml.Data.Int 42);
# + [("username", Yocaml__Data.String "JohnDoe42");
# + ("age", Yocaml__Data.Int 42);
# ("nouns",
# - Yocaml.Data.List
# - [Yocaml.Data.String "he"; Yocaml.Data.String "him";
# - Yocaml.Data.String "his"; Yocaml.Data.String "himself"]);
# - ("email", Yocaml.Data.String "jdoe@name.com");
# - ("username_confirmation", Yocaml.Data.String "JohnDoe43")]})
# + Yocaml__Data.List
# + [Yocaml__Data.String "he"; Yocaml__Data.String "him";
# + Yocaml__Data.String "his"; Yocaml__Data.String "himself"]);
# + ("email", Yocaml__Data.String "jdoe@name.com");
# + ("username_confirmation", Yocaml__Data.String "JohnDoe43")]})
# ]eof}
#
# In some cases, dependent validation makes it possible to construct increasingly
'opam reinstall --with-test --verbose yocaml_git.2.7.0' failed.
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build yocaml_git 2.7.0
+-
- No changes have been performed
# To update the current shell environment, run: eval $(opam env)
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
"/usr/bin/env" "bash" "-c" "opam reinstall --with-test --verbose yocaml_git.2.7.0;
res=$?;
test "$res" != 31 && exit "$res";
export OPAMCLI=2.0;
build_dir=$(opam var prefix)/.opam-switch/build;
failed=$(ls "$build_dir");
partial_fails="";
for pkg in $failed; do
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
fi;
test "$pkg" != 'yocaml_git.2.7.0' && partial_fails="$partial_fails $pkg";
done;
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
exit 1" failed with exit status 1
2026-03-25 22:09.33: Job failed: Failed: Build failed
2026-03-25 22:09.33: Log analysis:
2026-03-25 22:09.33: >>>
[ERROR] The compilation of yocaml_git.2.7.0 failed at "dune build -p yocaml_git -j 71 @install @runtest".
(score = 20)
2026-03-25 22:09.33: >>>
[ERROR] The compilation of yocaml_git.2.7.0 failed at "dune build -p yocaml_git -j 71 @install @runtest".
(score = 20)
2026-03-25 22:09.33: The compilation of yocaml_git.2.7.0 failed at "dune build -p yocaml_git -j 71 @install @runtest".