(for PR #29582)

2026-03-25 13:14.42: New job: test ott.0.33 with ocaml-compiler.5.4.0, 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 5.4.0
RUN opam reinstall --update-invariant ocaml-compiler.5.4.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" != 'ocaml-compiler.5.4.0' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN opam reinstall ott.0.33; \
    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" != 'ott.0.33' && 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 ott.0.33) || true
RUN opam reinstall --with-test --verbose ott.0.33; \
    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" != 'ott.0.33' && 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:14.42: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6-ocaml-compiler.5.4.0-ott.0.33-fa5fb3a6a806e832e4c7791145889a6bbe8b64ef"
2026-03-25 13:14.42: 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 5.4.0"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall --update-invariant ocaml-compiler.5.4.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\" != 'ocaml-compiler.5.4.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 (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall ott.0.33;\
             \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\" != 'ott.0.33' && 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 ott.0.33) || true"))
 (run (shell  "opam reinstall --with-test --verbose ott.0.33;\
             \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\" != 'ott.0.33' && 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:14.42: Waiting for resource in pool OCluster
2026-03-25 18:36.04: Waiting for worker…
2026-03-25 18:38.15: Got resource from pool OCluster
Building on eumache.caelum.ci.dev
All commits already cached
Updating files:  70% (13030/18520)
Updating files:  71% (13150/18520)
Updating files:  72% (13335/18520)
Updating files:  73% (13520/18520)
Updating files:  74% (13705/18520)
Updating files:  75% (13890/18520)
Updating files:  76% (14076/18520)
Updating files:  77% (14261/18520)
Updating files:  78% (14446/18520)
Updating files:  79% (14631/18520)
Updating files:  80% (14816/18520)
Updating files:  81% (15002/18520)
Updating files:  82% (15187/18520)
Updating files:  83% (15372/18520)
Updating files:  84% (15557/18520)
Updating files:  85% (15742/18520)
Updating files:  86% (15928/18520)
Updating files:  87% (16113/18520)
Updating files:  88% (16298/18520)
Updating files:  89% (16483/18520)
Updating files:  90% (16668/18520)
Updating files:  91% (16854/18520)
Updating files:  92% (17039/18520)
Updating files:  93% (17224/18520)
Updating files:  94% (17409/18520)
Updating files:  95% (17594/18520)
Updating files:  96% (17780/18520)
Updating files:  97% (17965/18520)
Updating files:  98% (18150/18520)
Updating files:  99% (18335/18520)
Updating files: 100% (18520/18520)
Updating files: 100% (18520/18520), done.
HEAD is now at 2f93e9d461 Merge pull request #29592 from dinosaure/release-miou-v0.5.5
Merge made by the 'ort' strategy.
 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)
Unable to find image 'ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6' locally
docker.io/ocaml/opam@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6: Pulling from ocaml/opam
866771c43bf5: Already exists
1e49bea09367: Already exists
e793768537e6: Already exists
ed323d3d481a: Already exists
7df34a5cd5f1: Already exists
fd712d3eb935: Already exists
4b9fb8c99118: Already exists
9d9a01948b94: Already exists
0f1514f90b32: Already exists
e1ec5a753447: Already exists
03cc323e2f71: Already exists
c09c08ea9749: Already exists
b36b619f8e6b: Already exists
195344ca5274: Already exists
228ee78582a6: Already exists
504bde1c25b3: Already exists
9d8b1356c89f: Already exists
9d8b1356c89f: Already exists
568fb6dda155: Already exists
c499c9198aea: Already exists
048e5e358118: Already exists
871ca48eb45d: Already exists
4f4fb700ef54: Already exists
a5a2568b9df9: Already exists
068cf3106ac8: Already exists
559f54ec9b29: Already exists
798ffd96fde5: Already exists
e9a891bf80d7: Already exists
d720cfe12674: Already exists
c81c932f4a91: Already exists
79f24fa3bb11: Already exists
8c1debcd8c20: Already exists
1bb2cfea7250: Already exists
2b3d3ca75e4c: Already exists
557cacaf263c: Already exists
d10483022eef: Already exists
7b62a90d8223: Already exists
28ce8ea66e72: Already exists
d975909ea717: Already exists
5c215c69c247: Already exists
e7c082452a54: Already exists
f6cbd774d654: Already exists
b40777a84cca: Already exists
7bb5edb9c889: Already exists
020670bcefab: Already exists
46df05d0db83: Already exists
45bde7b38933: Already exists
b4d63fa01ada: Already exists
Digest: sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6
Status: Downloaded newer image for ocaml/opam@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6
2026-03-25 18:41.44 ---> 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 18:41.44 ---> 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.

This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.

Continue? [Y/n] y
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-03-25 18:41.44 ---> 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 18:41.44 ---> 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 18:41.44 ---> using "04a48515eea40c32b96da0c71328b4bba0edb66eed83d4f78554b39097cf1f25" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-03-25 18:41.46 ---> using "034191995d824300f355cbba1072d6e5fe6d815701f24eb84d82c75009d73829" from cache

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-25 18:41.46 ---> 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 (6968 kB/s)
- Reading package lists...
- 
2026-03-25 18:41.46 ---> using "a75782a571df4fc8f8933e94c681af881015ee87cdd4c652f8ae9af1d8cfad37" from cache

/home/opam: (run (shell "opam pin add -k version -yn ocaml-compiler.5.4.0 5.4.0"))
ocaml-compiler is now pinned to version 5.4.0
2026-03-25 18:41.46 ---> using "60e129f7398974b5fa5afc8f56ec09bd24a9182f5e9834464bfc959db1aa6b14" 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;\
                        \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' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
The following actions will be performed:
=== recompile 8 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-base-compiler 5.4.0 (pinned) [uses ocaml-compiler]
  - recompile ocaml-compiler      5.4.0 (pinned)
  - recompile ocaml-config        3              [uses ocaml-base-compiler]
  - recompile opam-depext         1.2.3          [uses ocaml]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved ocaml-compiler.5.4.0  (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
-> installed ocaml-base-compiler.5.4.0
-> 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
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 18:41.46 ---> using "efbc92fc0c607605c8bb33f9e4c8fe340a48c67e14d2f61592db8a4edc5c0b15" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall ott.0.33;\
                        \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\" != 'ott.0.33' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
ott.0.33 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 4 packages
  - install dune       3.22.0 [required by ocamlgraph]
  - install ocamlfind  1.9.8  [required by ott]
  - install ocamlgraph 2.2.0  [required by ott]
  - install ott        0.33

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.22.0  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocamlgraph.2.2.0  (cached)
-> retrieved ott.0.33  (cached)
-> installed ocamlfind.1.9.8
-> installed dune.3.22.0
-> installed ocamlgraph.2.2.0
-> installed ott.0.33
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 18:43.11 ---> saved as "efd95589e88e72ca6579c6b3d1f3685e7aa8db9f15f1b301f03904299864d2cf"

/home/opam: (run (network host)
                 (shell "(opam reinstall --with-test ott.0.33) || true"))
The following actions will be performed:
=== recompile 1 package
  - recompile ott        0.33
=== install 7 packages
  - install   menhir     20260209 [required by ott]
  - install   menhirCST  20260209 [required by menhir]
  - install   menhirGLR  20260209 [required by menhir]
  - install   menhirLib  20260209 [required by menhir]
  - install   menhirSdk  20260209 [required by menhir]
  - install   ocamlbuild 0.16.1   [required by ott]
  - install   pprint     20230830 [required by ott]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved menhir.20260209, menhirCST.20260209, menhirGLR.20260209, menhirLib.20260209, menhirSdk.20260209  (https://opam.ocaml.org/cache)
-> retrieved ocamlbuild.0.16.1  (https://opam.ocaml.org/cache)
-> installed menhirCST.20260209
-> retrieved ott.0.33  (https://opam.ocaml.org/cache)
-> retrieved pprint.20230830  (https://opam.ocaml.org/cache)
-> installed menhirGLR.20260209
-> installed menhirLib.20260209
-> installed menhirSdk.20260209
-> installed pprint.20230830
-> removed   ott.0.33
-> installed ocamlbuild.0.16.1
-> installed menhir.20260209
-> installed ott.0.33
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 18:43.51 ---> saved as "0f76787870b2e90020217e38ccf075b1edc25ffc5fde2798a8ce115222d8f0a5"

/home/opam: (run (shell  "opam reinstall --with-test --verbose ott.0.33;\
                        \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\" != 'ott.0.33' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
The following actions will be performed:
=== recompile 1 package
  - recompile ott 0.33

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  1/4: [ott.0.33: extract]
-> retrieved ott.0.33  (cached)
Processing  2/4: [ott: make world]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "world" (CWD=/home/opam/.opam/5.4/.opam-switch/build/ott.0.33)
- cd src; make install
- make[1]: Entering directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/src'
- ocamllex grammar_lexer.mll
- 374 states, 16439 transitions, table size 68000 bytes
- 3397 additional bytes used for bindings
- ocamlyacc -v grammar_parser.mly
- 2 rules never reduced
- ocamldep location.ml types.ml auxl.ml merge.ml global_option.ml grammar_lexer.ml grammar_parser.mli grammar_parser.ml version.ml grammar_pp.ml parse_table.ml glr.ml new_term_parser.ml term_parser.ml dependency.ml bounds.ml context_pp.ml quotient_rules.ml grammar_typecheck.ml transform.ml substs_pp.ml subrules_pp.ml embed_pp.ml defns.ml ln_transform.ml coq_induct.ml system_pp.ml lex_menhir_pp.ml align.ml main.ml align.mli bounds.mli coq_induct.mli defns.mli dependency.mli embed_pp.mli grammar_typecheck.mli merge.mli subrules_pp.mli substs_pp.mli system_pp.mli lex_menhir_pp.mli transform.mli term_parser.mli > .depend
- mkdir ../bin
- make opt
- make[2]: Entering directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/src'
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c location.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c types.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c auxl.ml
- File "auxl.ml", lines 405-412, characters 7-19:
- 405 | .......( match hse with
- 406 | 	      | Hom_index _ | Hom_terminal _ -> []
- 407 | 	      | Hom_string s -> 
- 408 | 		  let strs = Str.split (Str.regexp "[ \t]+") s in
- 409 | 		  let ntrs_hom = List.filter (fun st -> List.mem st defined_ntrs) strs in
- 410 | 		  if promote 
- 411 | 		  then List.map (promote_ntr xd) ntrs_hom
- 412 | 		  else ntrs_hom ).
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Hom_ln_free_index (_, _)
- 
- File "auxl.ml", lines 467-471, characters 7-59:
- 467 | .......( match hse with
- 468 | 	      | Hom_index _ | Hom_terminal _ -> []
- 469 | 	      | Hom_string s -> 
- 470 | 		  let strs = Str.split (Str.regexp "[ \t]+") s in
- 471 | 		  List.filter (fun st -> List.mem st defined_mvrs) strs ).
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Hom_ln_free_index (_, _)
- 
- File "auxl.ml", lines 1839-1854, characters 4-42:
- 1839 | ....( match stre with 
- 1840 |     | Struct_md mvr ->  "metavar def: "^mvr
- 1841 |     | Struct_rs ntrs -> "rule def: "^(String.concat " " ntrs)
- 1842 |     | Struct_srs xs -> "subrule def: "^
- 1843 | 	(String.concat " " 
- ...
- 1851 |     | Struct_axs xs -> "aux def: "^
- 1852 |         (String.concat " " xs)
- 1853 |     | Struct_fun_or_defnclass s -> "fundefn_class def: "^s
- 1854 |     | Struct_embed (_,h,_) -> "embed: "^h)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Struct_crs _
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c location.ml
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c types.ml
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c merge.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c merge.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c global_option.ml
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c grammar_parser.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c grammar_parser.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c grammar_lexer.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c version.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c grammar_pp.ml
- File "grammar_pp.ml", lines 1875-2131, characters 6-25:
- 1875 | ......( match m with 
- 1876 |       | Lex _ | Menhir _ -> Auxl.errorm m "pp_mse"
- 1877 |       | Ascii ao -> 
- 1878 |           pp_auxfn m xd f ^ ""^pp_LPAREN ^ "" 
- 1879 |           ^ pp_ntlist
- ...
- 2128 | 	  else
- 2129 | 	    ( "(flat_map (fun "^pat_fun^" => "^pp_body^ pat_fun_end ^ ") "
- 2130 | 	      ^ de1i.de1_compound_id
- 2131 | 	      ^ ")", [], [] )  )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (Coq _|Isa _)
-     (However, some guarded clause may match this value.)
- 
- File "grammar_pp.ml", lines 4022-4025, characters 16-45:
- 4022 | ................(match hse with 
- 4023 |     | Hom_string _ -> arity_of_homspec hs'
- 4024 |     | Hom_index i -> max (1+i) (arity_of_homspec hs')
- 4025 |     | Hom_terminal _ -> arity_of_homspec hs')
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Hom_ln_free_index (_, _)
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c parse_table.ml
- File "parse_table.ml", line 914, characters 47-50:
- 914 |                             prod_action = (fun [r] -> r);
-                                                      ^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: r::_::_
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c glr.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c new_term_parser.ml
- File "new_term_parser.ml", lines 150-177, characters 11-29:
- 150 | ...........function 
- 151 |              | "[" -> "lbrac"
- 152 |              | "]" -> "rbrac"
- 153 |              | "!" -> "excl"
- 154 |              | "\"" -> "doublequote"
- ...
- 174 |              | "}" -> "rcurly"
- 175 |              | "|" -> "bar"
- 176 |              | "~" -> "tilde"
- 177 |              | "-" -> "minus".
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: ""
- 
- File "new_term_parser.ml", line 289, characters 14-39:
- 289 | let res_charl [Res_char c; Res_charl l] =
-                     ^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     Res_char c::Res_charl l::_::_
- 
- File "new_term_parser.ml", line 292, characters 20-45:
- 292 | let res_cons_string [Res_char c; Res_charl l] =
-                           ^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     Res_char c::Res_charl l::_::_
- 
- File "new_term_parser.ml", line 295, characters 14-39:
- 295 | let res_stlil [Res_stli a; Res_stlil b] = Res_stlil (a::b);;
-                     ^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     Res_stli a::Res_stlil b::_::_
- 
- File "new_term_parser.ml", lines 342-346, characters 67-66:
- 342 | ...................................................................function
- 343 |       [] -> []
- 344 |     | Res_ignore::rl -> process_prod_res rl
- 345 |     | Res_ste ste::rl -> ste::process_prod_res rl
- 346 |     | Res_st st::rl -> Ste_st (dummy_loc, st)::process_prod_res rl
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (Res_none|Res_stli _|Res_stlil _|Res_char _|Res_charl _|Res_string _|
-     Res_int _|Res_si _|Res_sil _)::_
- 
- File "new_term_parser.ml", line 382, characters 19-32:
- 382 |               (fun [Res_stlil x] -> elc x);
-                          ^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Res_stlil x::_::_
- 
- File "new_term_parser.ml", line 401, characters 13-25:
- 401 |         (fun [Res_stli x]-> Res_stlil [x]);
-                    ^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Res_stli x::_::_
- 
- File "new_term_parser.ml", line 416, characters 21-30:
- 416 |                 (fun [x; _; y] -> res_stlil [x; y])
-                            ^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: x::_::y::_::_
- 
- File "new_term_parser.ml", lines 463-466, characters 31-64:
- 463 | ...............................[Res_stli (Stli_single (_, es1)); 
- 464 |                                 _; 
- 465 |                                 Res_int n';
- 466 |                                 Res_stli (Stli_single (_, es2))]...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     Res_stli (Stli_single (_, es1))::_::Res_int n'::
-     Res_stli (Stli_single (_, es2))::_::_
- 
- File "new_term_parser.ml", lines 476-481, characters 31-64:
- 476 | ...............................[Res_stli (Stli_single (_, es1)); 
- 477 |                                 _; 
- 478 |                                 _;
- 479 |                                 Res_int n';
- 480 |                                 _;
- 481 |                                 Res_stli (Stli_single (_, es2))]...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     Res_stli (Stli_single (_, es1))::_::_::Res_int n'::_::
-     Res_stli (Stli_single (_, es2))::_::_
- 
- File "new_term_parser.ml", lines 488-489, characters 23-26:
- 488 | .......................[_; Res_stli (Stli_single (_, es)); _; _; Res_string ivr;
- 489 |                         _]...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     _::Res_stli (Stli_single (_, es))::_::_::Res_string ivr::_::_::_
- 
- File "new_term_parser.ml", lines 508-511, characters 23-26:
- 508 | .......................[_; Res_stli (Stli_single (_, es)); _; _; Res_string ivr;
- 509 |                         _;
- 510 |                         _; Res_string ivr';
- 511 |                         _]...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     _::Res_stli (Stli_single (_, es))::_::_::Res_string ivr::_::_::
-     Res_string ivr'::_::_::_
- 
- File "new_term_parser.ml", lines 536-544, characters 23-26:
- 536 | .......................[_; Res_stli (Stli_single (_, es)); _; _; Res_string ivr;
- 537 |                         _;
- 538 |                         _;
- 539 |                         Res_string lower;
- 540 |                         _;
- 541 |                         Res_int dotlength;
- 542 |                         _;
- 543 |                         Res_si si';
- 544 |                         _]...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     _::Res_stli (Stli_single (_, es))::_::_::Res_string ivr::_::_::
-     Res_string lower::_::Res_int dotlength::_::Res_si si'::_::_::_
- 
- File "new_term_parser.ml", line 560, characters 23-35:
- 560 |                   (fun [Res_stli x] -> Res_stlil [x]));
-                              ^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Res_stli x::_::_
- 
- File "new_term_parser.ml", line 574, characters 29-38:
- 574 |                         (fun [x; _; y] -> res_stlil [x; y]));
-                                    ^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: x::_::y::_::_
- 
- File "new_term_parser.ml", line 603, characters 20-27:
- 603 |                (fun (_::rl) -> build_res rl) in
-                           ^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: []
- 
- File "new_term_parser.ml", line 609, characters 20-27:
- 609 |                (fun (_::rl) -> build_res rl) in
-                           ^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: []
- 
- File "new_term_parser.ml", line 628, characters 17-23:
- 628 |             (fun [_; x] -> x)
-                        ^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: _::x::_::_
- 
- File "new_term_parser.ml", line 638, characters 18-32:
- 638 |              (fun [_; Res_sil l] ->
-                         ^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: _::Res_sil l::_::_
- 
- File "new_term_parser.ml", line 649, characters 23-37:
- 649 |                   (fun [_; Res_sil l] ->
-                              ^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: _::Res_sil l::_::_
- 
- File "new_term_parser.ml", line 664, characters 11-25:
- 664 |       (fun [_; Res_sil x] ->
-                  ^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: _::Res_sil x::_::_
- 
- File "new_term_parser.ml", line 695, characters 19-39:
- 695 |               (fun (_::Res_string s::_) -> Res_ste (Ste_metavar (dummy_loc, mvd.mvd_name, (s, []))))
-                          ^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     _::
-     (Res_ignore|Res_none|Res_st _|Res_ste _|Res_stli _|Res_stlil _|
-     Res_char _|Res_charl _|Res_int _|Res_si _|Res_sil _)::_
- 
- File "new_term_parser.ml", line 703, characters 21-38:
- 703 |                 (fun [_; Res_string s] -> 
-                            ^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: _::Res_string s::_::_
- 
- File "new_term_parser.ml", line 710, characters 21-38:
- 710 |                 (fun [_; Res_string s] -> 
-                            ^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: _::Res_string s::_::_
- 
- File "new_term_parser.ml", line 715, characters 21-59:
- 715 |                 (fun [((Res_ste (Ste_var (_, _, s))) as x)] -> 
-                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     Res_ste (Ste_var (_, _, s))::_::_
- 
- File "new_term_parser.ml", line 742, characters 11-23:
- 742 |       (fun [Res_char c] -> Res_charl [c]);
-                  ^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Res_char c::_::_
- 
- File "new_term_parser.ml", line 748, characters 11-24:
- 748 |       (fun [Res_charl s] -> Res_string (Auxl.string_of_char_list s));
-                  ^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Res_charl s::_::_
- 
- File "new_term_parser.ml", line 761, characters 11-33:
- 761 |       (fun [Res_si s; Res_sil sl] -> Res_sil (s::sl));
-                  ^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     Res_si s::Res_sil sl::_::_
- 
- File "new_term_parser.ml", line 767, characters 11-24:
- 767 |       (fun [Res_charl l] -> Res_si (Si_num (Auxl.string_of_char_list l)));
-                  ^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Res_charl l::_::_
- 
- File "new_term_parser.ml", line 771, characters 11-16:
- 771 |       (fun [rsi] -> rsi);
-                  ^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: rsi::_::_
- 
- File "new_term_parser.ml", line 794, characters 11-24:
- 794 |       (fun [Res_charl c] -> Res_charl ('_'::c));
-                  ^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Res_charl c::_::_
- 
- File "new_term_parser.ml", line 796, characters 11-24:
- 796 |       (fun [Res_charl c] -> Res_charl ('\''::c));
-                  ^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Res_charl c::_::_
- 
- File "new_term_parser.ml", line 831, characters 11-25:
- 831 |       (fun [Res_string s] -> Res_si (Si_var (s, 0)));
-                  ^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Res_string s::_::_
- 
- File "new_term_parser.ml", line 835, characters 11-25:
- 835 |       (fun [Res_string s] -> Res_si (Si_var (s, -1)));
-                  ^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: Res_string s::_::_
- 
- File "new_term_parser.ml", line 846, characters 18-32:
- 846 |              (fun [_; Res_sil x] ->
-                         ^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: _::Res_sil x::_::_
- 
- File "new_term_parser.ml", line 858, characters 18-21:
- 858 |              (fun [x] -> x);
-                         ^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: x::_::_
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c term_parser.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c term_parser.ml
- File "term_parser.ml", lines 1139-1172, characters 2-11:
- 1139 | ..let Ascii oldopts = pp_ascii_opts_default in
- 1140 |   let opts = Ascii {oldopts with ppa_colour = !Auxl.colour} in
- 1141 |   let sts = parse_complete lookup ntr concrete s in
- 1142 |   let sts = transform sts in
- 1143 |   match sts with
- ...
- 1169 |         begin  
- 1170 |           report_error (Some l) (sstart ^ concat "" intermed);
- 1171 |           St_uninterpreted(l, "multiple parses")
- 1172 |         end
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (Coq
-        {coq_quantified_vars_from_de={ _ }; coq_non_local_hyp_defn={ _ };
-        coq_non_local_hyp_defn_vars={ _ }; coq_list_types={ _ };
-        coq_list_aux_defns={defined={ _ }; newly_defined={ _ }};
-        coq_library={contents=(_, _)}; coq_locally_nameless={ _ }; _ }|
-     Isa {isa_library={contents=(_, _)}; _ }|
-     Hol {hol_library={contents=(_, _)}}|Lem {lem_library={contents=(_, _)}}|
-     Twf {twf_current_defn={ _ }; twf_library={contents=(_, _)}}|Tex { _ }|
-     Caml {caml_library={contents=(_, _)}; _ }|
-     Lex {ppm_caml_opts={caml_library={contents=(_, _)}; _ }; _ }|
-     Menhir {ppm_caml_opts={caml_library={contents=(_, _)}; _ }; _ })
- 
- File "term_parser.ml", line 1222, characters 30-48:
- 1222 |                 List.map (fun (Ntp.Gtp.Res_st s) -> s) res
-                                      ^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (Res_ignore|Res_none|Res_ste _|Res_stli _|Res_stlil _|Res_char _|
-     Res_charl _|Res_string _|Res_int _|Res_si _|Res_sil _)
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c dependency.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c dependency.ml
- File "dependency.ml", lines 571-579, characters 2-74:
- 571 | ..match m with
- 572 |   | Isa io when io.ppi_isa_primrec -> isa_primrec_collapse m xd funcs
- 573 |   | Isa io when not io.ppi_isa_primrec -> isa_fun_collapse m xd funcs
- 574 |   | Hol _ -> hol_collapse m xd funcs
- 575 |   | Lem _ -> lem_collapse m xd funcs
- 576 |   | Coq _ -> coq_collapse m xd funcs
- 577 |   | Twf _ -> twf_collapse m xd funcs
- 578 |   | Caml _ -> caml_collapse m xd funcs
- 579 |   | Tex _ | Ascii _ -> Auxl.error None "internal: collapse of Tex-Ascii\n"
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (Isa _|Lex _|Menhir _)
-     (However, some guarded clause may match this value.)
- 
- File "dependency.ml", lines 584-714, characters 2-53:
- 584 | ..match m with
- 585 |   | Tex _ | Ascii _ -> Auxl.error None "internal: print of Tex-Ascii\n"
- 586 |   | Isa io ->
- 587 |       let print_lemma block = 
- 588 | 	if ( List.exists 
- ...
- 711 | (*               (List.map (fun (_,((h1,h2,h3),s,_)) -> h1 ^ "FOO1" ^ h2 ^ "FOO2"^ h3 ^ "FOO3"^s) block))*)
- 712 |                (List.map (fun (_,((h1,h2,h3),s,_)) -> h1 ^ h2 ^ h3 ^ s ^ "  end\n") block))
- 713 | 	  ^ "\n") in
- 714 |       String.concat "" (List.map print_block sorting)
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: (Lex _|Menhir _)
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c bounds.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c bounds.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c context_pp.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c quotient_rules.ml
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c grammar_typecheck.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c grammar_typecheck.ml
- File "grammar_typecheck.ml", lines 54-56, characters 4-82:
- 54 | ....match (xs,keys) with
- 55 |     | ([],[]) -> None
- 56 |     | (x::xs, key::keys) -> if (List.mem key keys) then Some x else helper xs keys.
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: ([], _::_)
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c transform.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c transform.ml
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c substs_pp.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c substs_pp.ml
- File "substs_pp.ml", lines 333-336, characters 10-11:
- 333 | ..........(match m with 
- 334 |           | Caml _ -> Grammar_pp.pp_nt_or_mv_root_ty m xd ntmvr ^ " list" 
- 335 |           | Lem _ -> "list " ^Grammar_pp.pp_nt_or_mv_root_ty m xd ntmvr
- 336 |           )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (Coq _|Isa _|Hol _|Twf _|Ascii _|Tex _|Lex _|Menhir _)
- 
- File "substs_pp.ml", lines 1400-1412, characters 3-4:
- 1400 | ...(match m with 
- 1401 | 		 | Caml _ -> 	
- 1402 | 		     "(" 
- 1403 | 	             ^ Grammar_pp.pp_nt_or_mv_root_ty m xd subst.sb_that 
- 1404 | 		     ^ "*" ^ Grammar_pp.pp_nontermroot_ty m xd subst.sb_this 
- ...
- 1409 | 		     ^ Grammar_pp.pp_nt_or_mv_root_ty m xd subst.sb_that 
- 1410 | 		     ^ "*" ^ Grammar_pp.pp_nontermroot_ty m xd subst.sb_this 
- 1411 | 		     ^ ")"
- 1412 | 		 )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (Coq _|Isa _|Hol _|Twf _|Ascii _|Tex _|Lex _|Menhir _)
- 
- File "substs_pp.ml", lines 1747-1876, characters 3-8:
- 1747 | ...( match m with 
- 1748 |           | Ascii _ | Tex _ | Lex _ | Menhir _ -> Auxl.error (Some p.prod_loc) "pp_fv_symterm_list_body"
- 1749 | 	  | Isa io when io.ppi_isa_primrec ->
- 1750 |               let args = 
- 1751 | 	        String.concat "_" 
- ...
- 1873 | 		  ("(flat_map (fun (pat_:"^de1i.de1_coq_type_of_pattern^") => match pat_ with " ^ de1i.de1_pattern ^ " => "^pp_body^" end) "
- 1874 | 		   ^ de1i.de1_compound_id
- 1875 | 		   ^ ")"), funcs
- 1876 |        )..
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (Coq _|Isa _|Twf _)
-     (However, some guarded clause may match this value.)
- 
- File "substs_pp.ml", lines 2030-2033, characters 5-6:
- 2030 | .....(match m with 
- 2031 | 	    | Caml _ -> Grammar_pp.pp_nt_or_mv_root_ty m xd fv.fv_that ^ " list"
- 2032 | 	    | Lem _ -> " list " ^ Grammar_pp.pp_nt_or_mv_root_ty m xd fv.fv_that
- 2033 | 	    )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (Coq _|Isa _|Hol _|Twf _|Ascii _|Tex _|Lex _|Menhir _)
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c subrules_pp.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c subrules_pp.ml
- File "subrules_pp.ml", lines 167-368, characters 8-2:
- 167 | ........( match m with 
- 168 |         | Isa io when io.ppi_isa_primrec ->
- 169 | 	    let typ = 
- 170 | 	      Auxl.the (Grammar_pp.pp_elements 
- 171 | 	       	 m xd  ((Si_punct "_")::sie) elbu.elb_es true false true true) ^ " list" in
- ...
- 365 |             [ " %{ TWELF NOT IMPLEMENTED }%"], deps, []
- 366 |         | Tex _ | Ascii _ | Lex _ | Menhir _ -> Auxl.errorm m "pp_subelement"
- 367 | 
- 368 |  )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (Coq _|Isa _)
-     (However, some guarded clause may match this value.)
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c embed_pp.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c embed_pp.ml
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c defns.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c defns.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c ln_transform.ml
- File "ln_transform.ml", lines 1057-1067, characters 4-7:
- 1057 | ....match mse with
- 1058 |     | Empty -> 
- 1059 | 	"0",[]
- 1060 |     | MetaVarExp mv -> 
- 1061 | 	"1",[] (* FZ is this correct in the general case? *)
- ...
- 1064 |     | Aux (f1,nt1) -> 
- 1065 | 	let name = arity_name f1 (Auxl.promote_ntr xd_transformed (Auxl.primary_ntr_of_ntr xd_transformed (fst nt1))) in
- 1066 | 	name ^ " " ^ Grammar_pp.pp_nonterm m xd_transformed nt1,
- 1067 | 	[name]
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched:
-     (NonTermExp _|MetaVarListExp (_, _)|NonTermListExp (_, _)|
-     AuxList (_, _, _))
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c coq_induct.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c coq_induct.ml
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c system_pp.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c system_pp.ml
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c lex_menhir_pp.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c lex_menhir_pp.ml
- File "lex_menhir_pp.ml", lines 274-285, characters 10-11:
- 274 | ..........(match ocamllex_hom_opt, ocamllex_remove_hom with
- 275 |           | Some ocamllex_hom, false -> 
- 276 |               Some (token_name_of mvd.mvd_name, mvd.mvd_name, TK_metavar(ocaml_type, Some ocamllex_hom, ocamllex_of_string_hom_opt))
- 277 |           | None, false -> 
- 278 | (* hack: default to ocamllex-remove *)
- ...
- 282 |               Auxl.error (Some mvd.mvd_loc) ("ocamllex output: both ocamllex and ocamllex-remove hom for "^mvd.mvd_name^"\n")
- 283 |           | None, true -> 
- 284 |               Some (token_name_of mvd.mvd_name, mvd.mvd_name, TK_metavar(ocaml_type, None, ocamllex_of_string_hom_opt))
- 285 |           )
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: (Some ocamllex_hom, true)
- 
- File "lex_menhir_pp.ml", line 281, characters 12-36:
- 281 |           | Some ocamllex_hom, false -> 
-                   ^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 11 [redundant-case]: this match case is unused.
- 
- File "lex_menhir_pp.ml", lines 331-335, characters 13-42:
- 331 | .............(match ocaml_type with
- 332 |              | "string" -> ""
- 333 |              | "int" -> "int_of_string"
- 334 |              | "float" -> "float_of_string"
- 335 |              | "bool" -> "bool_of_string")
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
-   Here is an example of a case that is not matched: ""
- ocamlfind ocamlc -package str -package ocamlgraph -linkpkg -g -dtypes   -c align.mli
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c align.ml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -c main.ml
- sed -e 's/__VERSION__/0.33/' \
-     -e '/__DATE__/r tmp_date.txt' \
-     -e '/__DATE__/d' <version_src.tex >version.tex
- echo Makefile location.cmx types.cmx auxl.cmx merge.cmx global_option.cmx grammar_lexer.cmx grammar_parser.cmx version.cmx grammar_pp.cmx parse_table.cmx glr.cmx new_term_parser.cmx term_parser.cmx dependency.cmx bounds.cmx context_pp.cmx quotient_rules.cmx grammar_typecheck.cmx transform.cmx substs_pp.cmx subrules_pp.cmx embed_pp.cmx defns.cmx ln_transform.cmx coq_induct.cmx system_pp.cmx lex_menhir_pp.cmx align.cmx main.cmx align.cmi bounds.cmi coq_induct.cmi defns.cmi dependency.cmi embed_pp.cmi grammar_typecheck.cmi merge.cmi subrules_pp.cmi substs_pp.cmi system_pp.cmi lex_menhir_pp.cmi transform.cmi term_parser.cmi version.tex
- Makefile location.cmx types.cmx auxl.cmx merge.cmx global_option.cmx grammar_lexer.cmx grammar_parser.cmx version.cmx grammar_pp.cmx parse_table.cmx glr.cmx new_term_parser.cmx term_parser.cmx dependency.cmx bounds.cmx context_pp.cmx quotient_rules.cmx grammar_typecheck.cmx transform.cmx substs_pp.cmx subrules_pp.cmx embed_pp.cmx defns.cmx ln_transform.cmx coq_induct.cmx system_pp.cmx lex_menhir_pp.cmx align.cmx main.cmx align.cmi bounds.cmi coq_induct.cmi defns.cmi dependency.cmi embed_pp.cmi grammar_typecheck.cmi merge.cmi subrules_pp.cmi substs_pp.cmi system_pp.cmi lex_menhir_pp.cmi transform.cmi term_parser.cmi version.tex
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -v
- The OCaml native-code compiler, version 5.4.0
- Standard library directory: /home/opam/.opam/5.4/lib/ocaml
- ocamlfind ocamlopt -package str -package ocamlgraph -linkpkg -w y -g -dtypes -unsafe -inline 9 -o ott.opt  location.cmx  types.cmx  auxl.cmx  merge.cmx  global_option.cmx  grammar_lexer.cmx  grammar_parser.cmx  version.cmx  grammar_pp.cmx  parse_table.cmx  glr.cmx  new_term_parser.cmx  term_parser.cmx  dependency.cmx  bounds.cmx  context_pp.cmx  quotient_rules.cmx  grammar_typecheck.cmx  transform.cmx  substs_pp.cmx  subrules_pp.cmx  embed_pp.cmx  defns.cmx  ln_transform.cmx  coq_induct.cmx  system_pp.cmx  lex_menhir_pp.cmx  align.cmx  main.cmx
- ln -s -f ott.opt ott
- make[2]: Leaving directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/src'
- cp ./ott ../bin/ott
- make[1]: Leaving directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/src'
Processing  2/4: [ott: make ott.install]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "ott.install" (CWD=/home/opam/.opam/5.4/.opam-switch/build/ott.0.33)
- cp ott.install.nodoc ott.install
- echo "doc : [" >> ott.install
- echo "\"README.md\" { \"README.md\" }" >> ott.install
- echo "\"LICENCE\" { \"LICENSE\" }" >> ott.install
- echo "\"built_doc/top2.pdf\" { \"doc/ott_manual.pdf\" }" >> ott.install
- echo "\"built_doc/top2.html\" { \"doc/ott_manual.html\" }" >> ott.install
- echo  "\"built_doc/top2001.png\""  "\"built_doc/top2002.png\""  "\"built_doc/top2003.png\""  "\"built_doc/top2004.png\""  "\"built_doc/top2005.png\""  "\"built_doc/top2006.png\""  "\"built_doc/top2007.png\""  "\"built_doc/top2008.png\""  "\"built_doc/top2009.png\""  "\"built_doc/top2010.png\""  "\"built_doc/top2011.png\""  "\"built_doc/top2012.png\""  "\"built_doc/top2013.png\""  "\"built_doc/top2014.png\""  "\"built_doc/top2015.png\""  "\"built_doc/top2016.png\""  "\"built_doc/top2017.png\""  "\"built_doc/top2018.png\""  "\"built_doc/top2019.png\""  "\"built_doc/top2020.png\""  "\"built_doc/top2021.png\""  "\"built_doc/top2022.png\""  "\"built_doc/top2023.png\""  "\"built_doc/top2024.png\""  "\"built_doc/top2025.png\""  "\"built_doc/top2026.png\""  "\"built_doc/top2027.png\""  "\"built_doc/top2028.png\""  "\"built_doc/top2029.png\""  "\"built_doc/top2030.png\""  "\"built_doc/top2031.png\""  "\"built_doc/top2032.png\""  "\"built_doc/top2033.png\""  "\"built_doc/top2034.png\""  "\"built_doc/top2035.png\""  "\"built_doc/top2036.png\""  "\"built_doc/top2037.png\"" >> ott.install
- echo "]" >> ott.install
Processing  2/4: [ott: make]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "-C" "tests/menhir_tests/test_if" (CWD=/home/opam/.opam/5.4/.opam-switch/build/ott.0.33)
- make: Entering directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/tests/menhir_tests/test_if'
- ../../../bin/ott -show_sort true -quotient_rules false -i test_if.ott  -o test_if_parser.mly -o test_if_lexer.mll -o test_if_ast.ml -o test_if.tex
- Ott version 0.33   distribution of Mon 16 Jan 15:32:01 GMT 2023
- ********** AFTER CHECK, DISAMBIGUATE AND SORT  *********************
- 
- metavar var , x ::= {{ com term variable }} {{ isa string }} {{ coq nat }} {{ hol string }} {{ lem string }} {{ coq-equality  }} {{ ocaml string }} {{ lex alphanum }} {{ tex \mathit{[[0]]} }} {{ ocamllex ['a'-'z''A'-'Z']+ }}
- grammar
- 
- exp :: '' ::= {{ menhir-start  }}
-   | if exp1 then exp2 else exp3                                :: E_if 
-   | if exp1 then exp2                                          :: E_ifnoelse {{ ocaml E_if ([[0]], [[1]], E_skip) }}
-   | skip                                                       :: E_skip 
-   | x                                                          :: E_var 
-   | exp * exp'                                                 :: E_star 
- 
- 
- judgement :: '' ::= 
-   
- 
- user_syntax :: '' ::= 
-   | var                                                        :: user_syntax__var 
-   | exp                                                        :: user_syntax__exp 
- 
- 
- formula :: '' ::= {{ coq Prop }} {{ hol bool }} {{ lem bool }} {{ isa bool }} {{ ocaml bool }}
-   | judgement                                                  :: formula_judgement 
- 
- 
- subrules
- 
- 
- 
- substitutions
- 
- 
- ocamlbuild -use-ocamlfind -use-menhir -menhir "menhir --infer --explain --unused-tokens --trace --base test_if_parser ../../../../menhir/menhir_library_extra.mly " -package pprint main.byte
- + ocamlfind ocamlc -config
- + ocamlfind ocamldep -package pprint -modules main.ml > main.ml.depends
- + ocamlfind ocamldep -package pprint -modules test_if_ast.ml > test_if_ast.ml.depends
- + /home/opam/.opam/5.4/bin/ocamllex.opt -q test_if_lexer.mll
- + ocamlfind ocamldep -package pprint -modules test_if_lexer.ml > test_if_lexer.ml.depends
- + menhir --infer --explain --unused-tokens --trace --base test_if_parser ../../../../menhir/menhir_library_extra.mly  --raw-depend --ocamldep 'ocamlfind ocamldep -modules' test_if_parser.mly > test_if_parser.mly.depends
- + ocamlfind ocamlc -c -package pprint -o test_if_ast.cmo test_if_ast.ml
- + menhir --infer --explain --unused-tokens --trace --base test_if_parser ../../../../menhir/menhir_library_extra.mly  --ocamlc 'ocamlfind ocamlc -package pprint' --infer test_if_parser.mly
- + ocamlfind ocamldep -package pprint -modules test_if_parser.mli > test_if_parser.mli.depends
- + ocamlfind ocamlc -c -package pprint -o test_if_parser.cmi test_if_parser.mli
- + ocamlfind ocamldep -package pprint -modules test_if_parser_pp.ml > test_if_parser_pp.ml.depends
- + ocamlfind ocamlc -c -package pprint -o test_if_lexer.cmo test_if_lexer.ml
- + ocamlfind ocamlc -c -package pprint -o test_if_parser_pp.cmo test_if_parser_pp.ml
- + ocamlfind ocamlc -c -package pprint -o main.cmo main.ml
- + ocamlfind ocamldep -package pprint -modules test_if_parser.ml > test_if_parser.ml.depends
- + ocamlfind ocamlc -c -package pprint -o test_if_parser.cmo test_if_parser.ml
- + ocamlfind ocamlc -linkpkg -package pprint test_if_ast.cmo test_if_parser.cmo test_if_lexer.cmo test_if_parser_pp.cmo main.cmo -o main.byte
- make: Leaving directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/tests/menhir_tests/test_if'
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "-C" "tests/menhir_tests/test10menhir" (CWD=/home/opam/.opam/5.4/.opam-switch/build/ott.0.33)
- make: Entering directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/tests/menhir_tests/test10menhir'
- ../../../bin/ott -show_sort true -quotient_rules false -i test10menhir.ott  -o test10menhir_parser.mly -o test10menhir_lexer.mll -o test10menhir_ast.ml -o test10menhir.tex
- Ott version 0.33   distribution of Mon 16 Jan 15:32:01 GMT 2023
- ********** AFTER CHECK, DISAMBIGUATE AND SORT  *********************
- 
- metavar var , x ::= {{ com term variable }} {{ isa string }} {{ coq nat }} {{ hol string }} {{ lem string }} {{ coq-equality  }} {{ ocaml string }} {{ lex alphanum }} {{ tex \mathit{[[0]]} }} {{ ocamllex ['a'-'z''A'-'Z']+ }}
- grammar
- 
- judgement :: '' ::= 
-   
- 
- terminals :: '' ::= 
-   | \                                                          :: terminals_lambda {{ tex \lambda }}
-   | -->                                                        :: terminals_red {{ tex \longrightarrow }}
- 
- 
- term , t , v , atomic_term , at , lhs , rhs , lambda :: '' ::= {{ menhir-start  }}
-   | lhs rhs'                                                   :: T_app 
-   | { t / x } t'                                               :: T_sub {{ isa (tsubst_term [[0]] [[1]] [[2]]) }} {{ hol (tsubst_term [[0]] [[1]] [[2]]) }} {{ coq (tsubst_term [[0]] [[1]] [[2]]) }} {{ lem (tsubst_term [[0]] [[1]] [[2]]) }} {{ ocaml (tsubst_term [[0]] [[1]] [[2]]) }}
-   | x                                                          :: T_var 
-   | ( t )                                                      :: T_paren 
-   | \ x . t                                                    :: T_lambda 
- 
- 
- formula :: '' ::= {{ coq Prop }} {{ hol bool }} {{ lem bool }} {{ isa bool }} {{ ocaml bool }}
-   | judgement                                                  :: formula_judgement 
- 
- 
- user_syntax :: '' ::= 
-   | var                                                        :: user_syntax__var 
-   | term                                                       :: user_syntax__term 
-   | terminals                                                  :: user_syntax__terminals 
- 
- 
- subrules
- 
- 
- 
- substitutions
- 
- 
- ocamlbuild -use-ocamlfind -use-menhir -menhir "menhir --infer" -package pprint main.byte
- + ocamlfind ocamlc -config
- + ocamlfind ocamldep -package pprint -modules main.ml > main.ml.depends
- + ocamlfind ocamldep -package pprint -modules test10menhir_ast.ml > test10menhir_ast.ml.depends
- + /home/opam/.opam/5.4/bin/ocamllex.opt -q test10menhir_lexer.mll
- + ocamlfind ocamldep -package pprint -modules test10menhir_lexer.ml > test10menhir_lexer.ml.depends
- + menhir --infer --raw-depend --ocamldep 'ocamlfind ocamldep -modules' test10menhir_parser.mly > test10menhir_parser.mly.depends
- + ocamlfind ocamlc -c -package pprint -o test10menhir_ast.cmo test10menhir_ast.ml
- + menhir --infer --ocamlc 'ocamlfind ocamlc -package pprint' --infer test10menhir_parser.mly
- + ocamlfind ocamldep -package pprint -modules test10menhir_parser.mli > test10menhir_parser.mli.depends
- + ocamlfind ocamlc -c -package pprint -o test10menhir_parser.cmi test10menhir_parser.mli
- + ocamlfind ocamldep -package pprint -modules test10menhir_parser_pp.ml > test10menhir_parser_pp.ml.depends
- + ocamlfind ocamlc -c -package pprint -o test10menhir_lexer.cmo test10menhir_lexer.ml
- + ocamlfind ocamlc -c -package pprint -o test10menhir_parser_pp.cmo test10menhir_parser_pp.ml
- + ocamlfind ocamlc -c -package pprint -o main.cmo main.ml
- + ocamlfind ocamldep -package pprint -modules test10menhir_parser.ml > test10menhir_parser.ml.depends
- + ocamlfind ocamlc -c -package pprint -o test10menhir_parser.cmo test10menhir_parser.ml
- + ocamlfind ocamlc -linkpkg -package pprint test10menhir_ast.cmo test10menhir_parser.cmo test10menhir_lexer.cmo test10menhir_parser_pp.cmo main.cmo -o main.byte
- make: Leaving directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/tests/menhir_tests/test10menhir'
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "-C" "tests/menhir_tests/test10menhir_with_aux_args" (CWD=/home/opam/.opam/5.4/.opam-switch/build/ott.0.33)
- make: Entering directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/tests/menhir_tests/test10menhir_with_aux_args'
- ../../../bin/ott -aux_style_rules false -show_sort true -quotient_rules false -generate_aux_rules true -i test10menhir_with_aux.ott  -o test10menhir_with_aux_parser.mly -o test10menhir_with_aux_lexer.mll -o test10menhir_with_aux_ast.ml -o test10menhir_with_aux.tex
- Ott version 0.33   distribution of Mon 16 Jan 15:32:01 GMT 2023
- ********** AFTER CHECK, DISAMBIGUATE AND SORT  *********************
- 
- metavar var , x ::= {{ com term variable }} {{ isa string }} {{ coq nat }} {{ hol string }} {{ lem string }} {{ coq-equality  }} {{ ocaml string }} {{ lex alphanum }} {{ tex \mathit{[[0]]} }} {{ ocamllex ['a'-'z''A'-'Z']+ }}
- grammar
- 
- l :: '' ::= {{ phantom  }} {{ ocaml l }} {{ com Source location }} {{ pp l = pp_l l }} {{ pp-raw l = pp_l l }}
-   |                                                            :: Unknown {{ ocaml Unknown }}
- 
- 
- term , t , v , atomic_term , at , lhs , rhs , lambda :: '' ::= {{ menhir-start  }} {{ aux _ l }}
-   | lhs rhs' l                                                 :: T_app 
-   | { t / x } t' l                                             :: T_sub {{ isa (tsubst_term [[0]] [[1]] [[2]]) }} {{ hol (tsubst_term [[0]] [[1]] [[2]]) }} {{ coq (tsubst_term [[0]] [[1]] [[2]]) }} {{ lem (tsubst_term [[0]] [[1]] [[2]]) }} {{ ocaml (tsubst_term [[0]] [[1]] [[2]]) }}
-   | Foo term l                                                 :: T_foo 
-   | x l                                                        :: T_var 
-   | ( t ) l                                                    :: T_paren 
-   | \ x . t l                                                  :: T_lambda 
- 
- 
- terminals :: '' ::= 
-   | \                                                          :: terminals_lambda {{ tex \lambda }}
-   | -->                                                        :: terminals_red {{ tex \longrightarrow }}
- 
- 
- judgement :: '' ::= 
-   
- 
- user_syntax :: '' ::= 
-   | var                                                        :: user_syntax__var 
-   | l                                                          :: user_syntax__l 
-   | term                                                       :: user_syntax__term 
-   | terminals                                                  :: user_syntax__terminals 
- 
- 
- formula :: '' ::= {{ coq Prop }} {{ hol bool }} {{ lem bool }} {{ isa bool }} {{ ocaml bool }}
-   | judgement                                                  :: formula_judgement 
- 
- 
- subrules
- 
- 
- 
- substitutions
- 
- 
- ocamlbuild -use-ocamlfind -use-menhir -menhir "menhir --infer" -package pprint main.byte
- + ocamlfind ocamlc -config
- + ocamlfind ocamldep -package pprint -modules main.ml > main.ml.depends
- + ocamlfind ocamldep -package pprint -modules test10menhir_with_aux_ast.ml > test10menhir_with_aux_ast.ml.depends
- + /home/opam/.opam/5.4/bin/ocamllex.opt -q test10menhir_with_aux_lexer.mll
- + ocamlfind ocamldep -package pprint -modules test10menhir_with_aux_lexer.ml > test10menhir_with_aux_lexer.ml.depends
- + menhir --infer --raw-depend --ocamldep 'ocamlfind ocamldep -modules' test10menhir_with_aux_parser.mly > test10menhir_with_aux_parser.mly.depends
- + menhir --infer --raw-depend --ocamldep 'ocamlfind ocamldep -modules' test10menhir_with_aux_parser.mly > test10menhir_with_aux_parser.mly.depends
- File "test10menhir_with_aux_parser.mly", line 23, characters 0-1:
- Warning: symbol l is unreachable from the start symbol.
- + ocamlfind ocamlc -c -package pprint -o test10menhir_with_aux_ast.cmo test10menhir_with_aux_ast.ml
- + menhir --infer --ocamlc 'ocamlfind ocamlc -package pprint' --infer test10menhir_with_aux_parser.mly
- + menhir --infer --ocamlc 'ocamlfind ocamlc -package pprint' --infer test10menhir_with_aux_parser.mly
- File "test10menhir_with_aux_parser.mly", line 23, characters 0-1:
- Warning: symbol l is unreachable from the start symbol.
- + ocamlfind ocamldep -package pprint -modules test10menhir_with_aux_parser.mli > test10menhir_with_aux_parser.mli.depends
- + ocamlfind ocamlc -c -package pprint -o test10menhir_with_aux_parser.cmi test10menhir_with_aux_parser.mli
- + ocamlfind ocamldep -package pprint -modules test10menhir_with_aux_parser_pp.ml > test10menhir_with_aux_parser_pp.ml.depends
- + ocamlfind ocamlc -c -package pprint -o test10menhir_with_aux_lexer.cmo test10menhir_with_aux_lexer.ml
- + ocamlfind ocamlc -c -package pprint -o test10menhir_with_aux_parser_pp.cmo test10menhir_with_aux_parser_pp.ml
- + ocamlfind ocamlc -c -package pprint -o main.cmo main.ml
- + ocamlfind ocamldep -package pprint -modules test10menhir_with_aux_parser.ml > test10menhir_with_aux_parser.ml.depends
- + ocamlfind ocamlc -c -package pprint -o test10menhir_with_aux_parser.cmo test10menhir_with_aux_parser.ml
- + ocamlfind ocamlc -linkpkg -package pprint test10menhir_with_aux_ast.cmo test10menhir_with_aux_parser.cmo test10menhir_with_aux_lexer.cmo test10menhir_with_aux_parser_pp.cmo main.cmo -o main.byte
- make: Leaving directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/tests/menhir_tests/test10menhir_with_aux_args'
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "make" "-C" "tests/menhir_tests/test10menhir_with_aux_rules" (CWD=/home/opam/.opam/5.4/.opam-switch/build/ott.0.33)
- make: Entering directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/tests/menhir_tests/test10menhir_with_aux_rules'
- ../../../bin/ott -aux_style_rules true -show_sort true -quotient_rules false -generate_aux_rules true -i test10menhir_with_aux.ott  -o test10menhir_with_aux_parser.mly -o test10menhir_with_aux_lexer.mll -o test10menhir_with_aux_ast.ml -o test10menhir_with_aux.tex
- Ott version 0.33   distribution of Mon 16 Jan 15:32:01 GMT 2023
- ********** AFTER CHECK, DISAMBIGUATE AND SORT  *********************
- 
- metavar var , x ::= {{ com term variable }} {{ isa string }} {{ coq nat }} {{ hol string }} {{ lem string }} {{ coq-equality  }} {{ ocaml string }} {{ lex alphanum }} {{ tex \mathit{[[0]]} }} {{ ocamllex ['a'-'z''A'-'Z']+ }}
- grammar
- 
- l :: '' ::= {{ phantom  }} {{ ocaml l }} {{ com Source location }} {{ pp l = pp_l l }} {{ pp-raw l = pp_l l }}
-   |                                                            :: Unknown {{ ocaml Unknown }}
- 
- 
- term_aux :: '' ::= {{ menhir-start  }} {{ aux _ l }}
-   | lhs rhs'                                                   :: T_app 
-   | { t / x } t'                                               :: T_sub {{ isa (tsubst_term [[0]] [[1]] [[2]]) }} {{ hol (tsubst_term [[0]] [[1]] [[2]]) }} {{ coq (tsubst_term [[0]] [[1]] [[2]]) }} {{ lem (tsubst_term [[0]] [[1]] [[2]]) }} {{ ocaml (tsubst_term [[0]] [[1]] [[2]]) }}
-   | Foo term                                                   :: T_foo 
-   | x                                                          :: T_var 
-   | ( t )                                                      :: T_paren 
-   | \ x . t                                                    :: T_lambda 
- 
- term , t , v , atomic_term , at , lhs , rhs , lambda :: '' ::= 
-   | term_aux l                                                 :: T_aux 
- 
- 
- terminals :: '' ::= 
-   | \                                                          :: terminals_lambda {{ tex \lambda }}
-   | -->                                                        :: terminals_red {{ tex \longrightarrow }}
- 
- 
- judgement :: '' ::= 
-   
- 
- user_syntax :: '' ::= 
-   | var                                                        :: user_syntax__var 
-   | l                                                          :: user_syntax__l 
-   | term_aux                                                   :: user_syntax__term_aux 
-   | term                                                       :: user_syntax__term 
-   | terminals                                                  :: user_syntax__terminals 
- 
- 
- formula :: '' ::= {{ coq Prop }} {{ hol bool }} {{ lem bool }} {{ isa bool }} {{ ocaml bool }}
-   | judgement                                                  :: formula_judgement 
- 
- 
- subrules
- 
- 
- 
- substitutions
- 
- 
- ocamlbuild -use-ocamlfind -use-menhir -menhir "menhir --infer" -package pprint main.byte
- + ocamlfind ocamlc -config
- + ocamlfind ocamldep -package pprint -modules main.ml > main.ml.depends
- + ocamlfind ocamldep -package pprint -modules test10menhir_with_aux_ast.ml > test10menhir_with_aux_ast.ml.depends
- + /home/opam/.opam/5.4/bin/ocamllex.opt -q test10menhir_with_aux_lexer.mll
- + ocamlfind ocamldep -package pprint -modules test10menhir_with_aux_lexer.ml > test10menhir_with_aux_lexer.ml.depends
- + menhir --infer --raw-depend --ocamldep 'ocamlfind ocamldep -modules' test10menhir_with_aux_parser.mly > test10menhir_with_aux_parser.mly.depends
- + menhir --infer --raw-depend --ocamldep 'ocamlfind ocamldep -modules' test10menhir_with_aux_parser.mly > test10menhir_with_aux_parser.mly.depends
- File "test10menhir_with_aux_parser.mly", line 23, characters 0-1:
- Warning: symbol l is unreachable from the start symbol.
- + ocamlfind ocamlc -c -package pprint -o test10menhir_with_aux_ast.cmo test10menhir_with_aux_ast.ml
- + menhir --infer --ocamlc 'ocamlfind ocamlc -package pprint' --infer test10menhir_with_aux_parser.mly
- + menhir --infer --ocamlc 'ocamlfind ocamlc -package pprint' --infer test10menhir_with_aux_parser.mly
- File "test10menhir_with_aux_parser.mly", line 23, characters 0-1:
- Warning: symbol l is unreachable from the start symbol.
- + ocamlfind ocamldep -package pprint -modules test10menhir_with_aux_parser.mli > test10menhir_with_aux_parser.mli.depends
- + ocamlfind ocamlc -c -package pprint -o test10menhir_with_aux_parser.cmi test10menhir_with_aux_parser.mli
- + ocamlfind ocamldep -package pprint -modules test10menhir_with_aux_parser_pp.ml > test10menhir_with_aux_parser_pp.ml.depends
- + ocamlfind ocamlc -c -package pprint -o test10menhir_with_aux_lexer.cmo test10menhir_with_aux_lexer.ml
- + ocamlfind ocamlc -c -package pprint -o test10menhir_with_aux_parser_pp.cmo test10menhir_with_aux_parser_pp.ml
- + ocamlfind ocamlc -c -package pprint -o main.cmo main.ml
- + ocamlfind ocamldep -package pprint -modules test10menhir_with_aux_parser.ml > test10menhir_with_aux_parser.ml.depends
- + ocamlfind ocamlc -c -package pprint -o test10menhir_with_aux_parser.cmo test10menhir_with_aux_parser.ml
- + ocamlfind ocamlc -linkpkg -package pprint test10menhir_with_aux_ast.cmo test10menhir_with_aux_parser.cmo test10menhir_with_aux_lexer.cmo test10menhir_with_aux_parser_pp.cmo main.cmo -o main.byte
- make: Leaving directory '/home/opam/.opam/5.4/.opam-switch/build/ott.0.33/tests/menhir_tests/test10menhir_with_aux_rules'
-> compiled  ott.0.33
-> removed   ott.0.33
-> installed ott.0.33
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 18:44.14 ---> saved as "5532c562a85804330c6a287f35605f85d11d504197fff1c3311e7b778107a124"
Job succeeded
2026-03-25 18:44.46: Job succeeded