(for PR #29582)
2026-03-25 13:13.25: New job: test obuild.0.1.11 with ocaml-compiler.5.4.0~alpha1, 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~alpha1 5.4.0~alpha1
RUN opam reinstall --update-invariant ocaml-compiler.5.4.0~alpha1; \
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~alpha1' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN opam reinstall obuild.0.1.11; \
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" != 'obuild.0.1.11' && 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 obuild.0.1.11) || true
RUN opam reinstall --with-test --verbose obuild.0.1.11; \
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" != 'obuild.0.1.11' && 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:13.25: Using cache hint "ocaml/opam:debian-13-ocaml-5.4@sha256:bd342cbd7766c453282fdafbc2e565ae3361320ec344722cf4372b782e4a97f6-ocaml-compiler.5.4.0~alpha1-obuild.0.1.11-fa5fb3a6a806e832e4c7791145889a6bbe8b64ef"
2026-03-25 13:13.25: 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~alpha1 5.4.0~alpha1"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall --update-invariant ocaml-compiler.5.4.0~alpha1;\
\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~alpha1' && 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 obuild.0.1.11;\
\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\" != 'obuild.0.1.11' && 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 obuild.0.1.11) || true"))
(run (shell "opam reinstall --with-test --verbose obuild.0.1.11;\
\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\" != 'obuild.0.1.11' && 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:13.25: Waiting for resource in pool OCluster
2026-03-25 16:15.24: Waiting for worker…
2026-03-25 16:17.41: Got resource from pool OCluster
Building on eumache.caelum.ci.dev
All commits already cached
Updating files: 80% (14828/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 16:17.45 ---> 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 16:17.45 ---> 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 16:17.45 ---> 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 16:17.45 ---> 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 16:17.45 ---> using "04a48515eea40c32b96da0c71328b4bba0edb66eed83d4f78554b39097cf1f25" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-03-25 16:17.47 ---> using "034191995d824300f355cbba1072d6e5fe6d815701f24eb84d82c75009d73829" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-03-25 16:17.47 ---> 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 16:17.47 ---> using "a75782a571df4fc8f8933e94c681af881015ee87cdd4c652f8ae9af1d8cfad37" from cache
/home/opam: (run (shell "opam pin add -k version -yn ocaml-compiler.5.4.0~alpha1 5.4.0~alpha1"))
ocaml-compiler is now pinned to version 5.4.0~alpha1
2026-03-25 16:17.47 ---> using "e88d50778e741ddee9b34c84a56e5e9e4639d3fa2f3e012374704cbfbb53ef0f" 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~alpha1;\
\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~alpha1' && 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~alpha1 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~alpha1 (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~alpha1+options [required by ocaml]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved ocaml-compiler.5.4.0~alpha1 (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~alpha1
-> installed ocaml-variants.5.4.0~alpha1+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~alpha1+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 16:17.47 ---> using "b7d43dc4936243f5436b930db356d86affbfebfa395eb0b37eb16d2b855a3853" from cache
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall obuild.0.1.11;\
\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\" != 'obuild.0.1.11' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
obuild.0.1.11 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 2 packages
- install obuild 0.1.11
- install ocamlfind 1.9.8 [required by obuild]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved obuild.0.1.11 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> installed ocamlfind.1.9.8
-> installed obuild.0.1.11
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 16:18.10 ---> saved as "696035218984b4d50272ff1248da3823caed0142f783dabe2ed61df642c1b7f2"
/home/opam: (run (network host)
(shell "(opam reinstall --with-test obuild.0.1.11) || true"))
The following actions will be performed:
=== recompile 1 package
- recompile obuild 0.1.11
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved obuild.0.1.11 (https://opam.ocaml.org/cache)
-> removed obuild.0.1.11
-> installed obuild.0.1.11
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 16:18.29 ---> saved as "3ed8b9b1a5443ef593ff90aa43f204a19827e400f4683520e1ffbf912c52ebfe"
/home/opam: (run (shell "opam reinstall --with-test --verbose obuild.0.1.11;\
\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\" != 'obuild.0.1.11' && 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 obuild 0.1.11
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 1/4: [obuild.0.1.11: extract]
-> retrieved obuild.0.1.11 (cached)
Processing 2/4: [obuild: ./bootstrap]
+ /home/opam/.opam/opam-init/hooks/sandbox.sh "build" "./bootstrap" (CWD=/home/opam/.opam/5.4/.opam-switch/build/obuild.0.1.11)
- 5.4.0~alpha1
- Using compat403.ml
- COMPILING compat
- COMPILING fugue
- COMPILING filepath
- COMPILING filesystem
- BUILDING library Ext.cmo
- COMPILING types
- COMPILING gconf
- COMPILING filetype
- COMPILING dag
- COMPILING libname
- COMPILING pp
- COMPILING expr
- File "expr.ml", lines 129-131, characters 20-33:
- 129 | ....................match (string_split ':' v ~limit:2) with
- 130 | [ _ ] -> ("", v)
- 131 | | [ p1; rest] -> (p1, rest)...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched: _::rest::_::_
-
- File "expr.ml", lines 132-134, characters 23-35:
- 132 | .......................match (string_split '-' rest ~limit:2) with
- 133 | [ _ ] -> (p1, rest, "")
- 134 | | [ p2 ; p3 ] -> (p1, p2, p3)...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched: _::p3::_::_
- COMPILING utils
- File "utils.ml", line 70, characters 23-73:
- 70 | try let _ = List.find (fun n -> Filesystem.exists (n p)) names in true
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 5 [ignored-partial-application]: this function application is partial,
- maybe some arguments are missing.
- COMPILING modname
- COMPILING taskdep
- COMPILING helper
- COMPILING dagutils
- COMPILING process
- COMPILING findlibConf
- COMPILING scheduler
- COMPILING prog
- COMPILING dependencies
- COMPILING generators
- COMPILING hier
- COMPILING meta
- COMPILING metacache
- COMPILING target
- COMPILING dist
- COMPILING project
- COMPILING analyze
- COMPILING configure
- COMPILING prepare
- File "prepare.ml", line 379, characters 10-113:
- 379 | (match file_entry with Hier.FileEntry _ -> SimpleModule | Hier.GeneratedFileEntry _ -> GeneratedModule)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched: DirectoryEntry _
- COMPILING buildprogs
- COMPILING build
- COMPILING exception
- BUILDING library Obuild.cmo
- COMPILING sdist
- COMPILING doc
- COMPILING init
- COMPILING help
- COMPILING install
- COMPILING path_generated
- COMPILING main
- LINKING obuild.bootstrap
- Configuring obuild-0.1.11...
- [ 1 of 57] Compiling Ext.Compat
- [ 2 of 57] Compiling Ext.Fugue
- File "ext/compat.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "ext/fugue.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [ 3 of 57] Intfing Ext.Filepath
- [ 4 of 57] Compiling Ext.Filepath
- [ 5 of 57] Intfing Ext.Filesystem
- [ 6 of 57] Compiling Ext.Filesystem
- File "ext/filesystem.ml", lines 18-21, characters 11-58:
- 18 | ...........match (Unix.lstat fent).Unix.st_kind with
- 19 | | Unix.S_DIR -> rmdir_recursive (Unix.rmdir) fent
- 20 | | Unix.S_REG -> Unix.unlink fent
- 21 | | _ -> raise (UnexpectedFileType fent)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Unix.file_kind.
-
- [ 7 of 57] Packing Ext
- [ 8 of 57] Linking library dist/build/lib-obuild.ext/obuild_ext.cmxa
- [ 8 of 57] Linking library dist/build/lib-obuild.ext/obuild_ext.cmxs
- [ 8 of 57] Linking library dist/build/lib-obuild.ext/obuild_ext.cma
- [ 9 of 57] Checking dist/build/lib-obuild.ext
- [10 of 57] Compiling Obuild.Filetype
- [11 of 57] Compiling Obuild.Gconf
- File "obuild/filetype.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [12 of 57] Compiling Obuild.Pp
- File "obuild/gconf.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [13 of 57] Compiling Obuild.Dag
- File "obuild/pp.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "obuild/pp.ml", line 2, characters 0-15:
- 2 | open Ext.Compat
- ^^^^^^^^^^^^^^^
- Warning 33 [unused-open]: unused open Ext.Compat.
-
- [14 of 57] Compiling Obuild.Expr
- File "obuild/dag.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [15 of 57] Compiling Obuild.Modname
- File "obuild/expr.ml", lines 129-131, characters 20-33:
- 129 | ....................match (string_split ':' v ~limit:2) with
- 130 | [ _ ] -> ("", v)
- 131 | | [ p1; rest] -> (p1, rest)...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched: _::rest::_::_
-
- File "obuild/expr.ml", lines 132-134, characters 23-35:
- 132 | .......................match (string_split '-' rest ~limit:2) with
- 133 | [ _ ] -> (p1, rest, "")
- 134 | | [ p2 ; p3 ] -> (p1, p2, p3)...
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched: _::p3::_::_
-
- File "obuild/expr.ml", lines 216-222, characters 8-9:
- 216 | ........(match r with
- 217 | | Token.RPAREN :: r -> (Paren e, r)
- 218 | | Token.OR :: _ | Token.AND :: _ ->
- 219 | let (e, r) = parse_bin_expr e r in
- 220 | loop e r
- 221 | | _ -> raise UnbalancedParenthesis;
- 222 | )
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Token.t.
-
- File "obuild/expr.ml", lines 209-231, characters 4-82:
- 209 | ....match l with
- 210 | | [] -> raise MalformedExpression
- 211 | | Token.NOT :: r ->
- 212 | let (e, r) = parse_sub_expr r in ((Not e), r)
- 213 | | Token.LPAREN :: r ->
- ...
- 228 | | Token.LT :: Token.VER v :: r -> (Lt v, r)
- 229 | | Token.LE :: Token.VER v :: r -> (Le v, r)
- 230 | | Token.NE :: Token.VER v :: r -> (Ne v, r)
- 231 | | z -> raise (UnknownExpression (showList "," Token.to_string z))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Token.t.
-
- File "obuild/expr.ml", lines 233-236, characters 4-36:
- 233 | ....match l with
- 234 | | Token.OR :: r -> let (e, r) = parse_sub_expr r in ((Or (expr,e)), r)
- 235 | | Token.AND :: r -> let (e, r) = parse_sub_expr r in ((And (expr,e)), r)
- 236 | | _ -> raise MalformedExpression
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Token.t.
-
- File "obuild/expr.ml", lines 268-271, characters 2-73:
- 268 | ..match Token.lexer s with
- 269 | | [] -> raise ExpressionEmpty
- 270 | | Token.ID name :: constraints -> (name, (parse_constraints name constraints))
- 271 | | x :: _ -> raise (InvalidDependencyName (Token.to_string x))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Token.t.
-
- File "obuild/expr.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [16 of 57] Compiling Obuild.Types
- File "obuild/modname.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [17 of 57] Compiling Obuild.Taskdep
- File "obuild/types.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [18 of 57] Compiling Obuild.Libname
- File "obuild/libname.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [19 of 57] Compiling Obuild.Utils
- File "obuild/taskdep.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [20 of 57] Compiling Obuild.Dagutils
- File "obuild/dagutils.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "obuild/utils.ml", line 70, characters 23-73:
- 70 | try let _ = List.find (fun n -> Filesystem.exists (n p)) names in true
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 5 [ignored-partial-application]: this function application is partial,
- maybe some arguments are missing.
-
- File "obuild/utils.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [21 of 57] Compiling Obuild.Helper
- File "obuild/helper.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [22 of 57] Compiling Obuild.Process
- File "obuild/process.ml", lines 95-97, characters 2-57:
- 95 | ..match pstat with
- 96 | | Unix.WEXITED 0 -> Success (Buffer.contents p.out.buf, Buffer.contents p.err.buf, Unix.gettimeofday () -. p.time)
- 97 | | _ -> Failure (Buffer.contents p.err.buf)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Unix.process_status.
-
- File "obuild/process.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [23 of 57] Compiling Obuild.Scheduler
- [24 of 57] Compiling Obuild.FindlibConf
- File "obuild/findlibConf.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [25 of 57] Compiling Obuild.Prog
- File "obuild/scheduler.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [26 of 57] Compiling Obuild.Meta
- File "obuild/prog.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [27 of 57] Compiling Obuild.Generators
- File "obuild/generators.ml", line 55, characters 10-101:
- 55 | let s = match ext with Filetype.FileOther s -> s | _ -> raise (GeneratorNotFound (fp_to_string fp)) in
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
-
- File "obuild/generators.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [28 of 57] Compiling Obuild.Dependencies
- File "obuild/dependencies.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [29 of 57] Compiling Obuild.Hier
- File "obuild/meta.ml", lines 129-130, characters 27-67:
- 129 | ...........................match p with Predicate.Neg n -> not (List.mem n constraints)
- 130 | | _ -> List.mem p constraints.......
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Predicate.t.
-
- File "obuild/meta.ml", lines 138-139, characters 29-63:
- 138 | .............................match p with Predicate.Neg n -> not (List.mem n preds)
- 139 | | _ -> List.mem p preds...............
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Predicate.t.
-
- File "obuild/meta.ml", lines 314-318, characters 28-36:
- 314 | ............................function
- 315 | | COMMA :: ID s :: xs -> let (l, r) = parse_predicate xs in ((Predicate.of_string s) :: l, r)
- 316 | | COMMA :: MINUS :: ID s :: xs ->
- 317 | let (l, r) = parse_predicate xs in ((Predicate.Neg (Predicate.of_string s)) :: l, r)
- 318 | | xs -> ([], xs)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 323-326, characters 48-95:
- 323 | ................................................match xs2 with
- 324 | | RPAREN :: xs3 ->
- 325 | ((Predicate.of_string s) :: preds, xs3)
- 326 | | _ -> raise (MetaParseError (name, ("expecting ')' after " ^ field ^ "'s predicate")))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 329-332, characters 48-95:
- 329 | ................................................match xs2 with
- 330 | | RPAREN :: xs3 ->
- 331 | ((Predicate.Neg (Predicate.of_string s)) :: preds, xs3)
- 332 | | _ -> raise (MetaParseError (name, ("expecting ')' after " ^ field ^ "'s predicate")))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 320-334, characters 40-20:
- 320 | ........................................function
- 321 | | LPAREN :: RPAREN :: xs -> ([], xs)
- 322 | | LPAREN :: ID s :: xs ->
- 323 | (let (preds, xs2) = parse_predicate xs in match xs2 with
- 324 | | RPAREN :: xs3 ->
- ...
- 331 | ((Predicate.Neg (Predicate.of_string s)) :: preds, xs3)
- 332 | | _ -> raise (MetaParseError (name, ("expecting ')' after " ^ field ^ "'s predicate")))
- 333 | )
- 334 | | xs -> ([], xs)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 346-353, characters 8-75:
- 346 | ........match xs2 with
- 347 | | PLUSEQ :: S reqs :: xs3
- 348 | | EQ :: S reqs :: xs3 ->
- 349 | let deps = List.map (fun r -> Libname.of_string r)
- 350 | $ (List.filter (fun x -> x <> "") $ string_split_pred (fun c -> List.mem c [',';' ']) reqs)
- 351 | in
- 352 | parse pkg_name { acc with Pkg.requires = (preds, (List.rev deps)) :: acc.Pkg.requires } xs3
- 353 | | _ -> raise (MetaParseError (pkg_name, "parsing requires failed"))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 360-364, characters 8-74:
- 360 | ........match xs2 with
- 361 | | EQ :: S v :: xs3 ->
- 362 | let nacc = { acc with Pkg.warning = acc.Pkg.warning @ [(preds, v)] } in
- 363 | parse pkg_name nacc xs3
- 364 | | _ -> raise (MetaParseError (pkg_name, "parsing warning failed"))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 369-376, characters 8-74:
- 369 | ........match xs2 with
- 370 | | PLUSEQ :: S v :: xs3 ->
- 371 | let nacc = { acc with Pkg.append_archives = acc.Pkg.append_archives @ [(preds, v)] } in
- 372 | parse pkg_name nacc xs3
- 373 | | EQ :: S v :: xs3 ->
- 374 | let nacc = { acc with Pkg.archives = acc.Pkg.archives @ [(preds, v)] } in
- 375 | parse pkg_name nacc xs3
- 376 | | _ -> raise (MetaParseError (pkg_name, "parsing archive failed"))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 381-388, characters 8-73:
- 381 | ........match xs2 with
- 382 | | PLUSEQ :: S v :: xs3 ->
- 383 | let nacc = { acc with Pkg.append_archives = acc.Pkg.append_archives @ [(preds, v)] } in
- 384 | parse pkg_name nacc xs3
- 385 | | EQ :: S v :: xs3 ->
- 386 | let nacc = { acc with Pkg.archives = acc.Pkg.archives @ [(preds, v)] } in
- 387 | parse pkg_name nacc xs3
- 388 | | _ -> raise (MetaParseError (pkg_name, "parsing plugin failed"))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 393-396, characters 8-70:
- 393 | ........match xs2 with
- 394 | | EQ :: S v :: xs3 ->
- 395 | parse pkg_name { acc with Pkg.ppx = Some (preds, v)} xs3
- 396 | | _ -> raise (MetaParseError (pkg_name, "parsing ppx failed"))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 400-404, characters 8-73:
- 400 | ........match xs2 with
- 401 | | PLUSEQ :: S v :: xs3
- 402 | | EQ :: S v :: xs3 ->
- 403 | parse pkg_name { acc with Pkg.ppxopt = acc.Pkg.ppxopt @ [(preds, v)]} xs3
- 404 | | _ -> raise (MetaParseError (pkg_name, "parsing ppxopt failed"))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 409-412, characters 26-57:
- 409 | ..........................function
- 410 | | RPAREN::zs -> zs
- 411 | | _::zs -> consume zs
- 412 | | [] -> failwith "eof in error context"
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 414-416, characters 8-61:
- 414 | ........match consume xs with
- 415 | | EQ :: S _ :: xs2 -> parse pkg_name acc xs2
- 416 | | _ -> failwith "parsing error failed"
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 420-423, characters 8-74:
- 420 | ........match xs2 with
- 421 | | EQ :: S s :: xs3 ->
- 422 | parse pkg_name { acc with Pkg.linkopts = ((if preds = [] then None else Some preds), s) :: acc.Pkg.linkopts } xs3
- 423 | | _ -> failwith "parsing linkopts failed, expecting equal"
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", lines 336-428, characters 31-97:
- 336 | ...............................function
- 337 | | [] -> (acc, [])
- 338 | | RPAREN :: xs -> (acc, xs)
- 339 | | ID "package" :: S name :: LPAREN :: xs ->
- 340 | (let (pkg, xs2) = parse pkg_name (Pkg.make name) xs in
- ...
- 425 | | ID stuff :: EQ :: S stuffVal :: xs ->
- 426 | parse pkg_name { acc with Pkg.assignment = (stuff, stuffVal) :: acc.Pkg.assignment } xs
- 427 | | x :: xs -> raise (MetaParseError (pkg_name, ("unknown token '" ^ to_string x ^ "' in meta file\n" ^
- 428 | (String.concat " " (List.map to_string xs)))))
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type t.
-
- File "obuild/meta.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "obuild/meta.ml", line 5, characters 0-11:
- 5 | open Helper
- ^^^^^^^^^^^
- Warning 33 [unused-open]: unused open Helper.
-
- File "obuild/meta.ml", line 6, characters 0-10:
- 6 | open Gconf
- ^^^^^^^^^^
- Warning 33 [unused-open]: unused open Gconf.
-
- File "obuild/meta.ml", line 136, characters 39-42:
- 136 | let get_archive_with_filter (_, pkg) dep preds =
- ^^^
- Warning 27 [unused-var-strict]: unused variable dep.
-
- [30 of 57] Compiling Obuild.Metacache
- File "obuild/metacache.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "obuild/metacache.ml", line 1, characters 0-9:
- 1 | open Meta
- ^^^^^^^^^
- Warning 33 [unused-open]: unused open Meta.
-
- File "obuild/hier.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "obuild/hier.ml", line 4, characters 0-10:
- 4 | open Types
- ^^^^^^^^^^
- Warning 33 [unused-open]: unused open Types.
-
- [31 of 57] Compiling Obuild.Target
- File "obuild/target.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [32 of 57] Compiling Obuild.Project
- [33 of 57] Compiling Obuild.Dist
- File "obuild/dist.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "obuild/project.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [34 of 57] Compiling Obuild.Analyze
- File "obuild/analyze.ml", lines 80-82, characters 7-18:
- 80 | .......match name with
- 81 | | Name.Lib lname -> Some lname
- 82 | | _ -> None.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
-
- File "obuild/analyze.ml", lines 247-256, characters 15-26:
- 247 | ...............match preds with
- 248 | | [ Meta.Predicate.Toploop ] -> ()
- 249 | | _ ->
- 250 | List.iter
- 251 | (fun reqDep ->
- 252 | verbose Debug " library %s depends on %s\n"
- 253 | (Libname.to_string dep) (Libname.to_string reqDep);
- 254 | Dag.addEdge (Dependency dep) (Dependency reqDep) depsDag;
- 255 | loop reqDep)
- 256 | reqDeps.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Meta.Predicate.t.
-
- File "obuild/analyze.ml", lines 275-279, characters 9-29:
- 275 | .........match target.target_name with
- 276 | | Name.Lib l ->
- 277 | Dag.addNode (Dependency l) depsDag;
- 278 | Dag.addEdge (Dependency l)
- 279 | | _ -> fun _ _ -> ()
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
-
- File "obuild/analyze.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [35 of 57] Compiling Obuild.Configure
- [36 of 57] Compiling Obuild.Prepare
- File "obuild/configure.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "obuild/prepare.ml", lines 168-170, characters 8-32:
- 168 | ........match node with
- 169 | | Dependency dep -> Some dep
- 170 | | _ -> None
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Analyze.dependency_tag.
-
- File "obuild/prepare.ml", lines 218-228, characters 17-15:
- 218 | .................(match Filetype.of_filepath fp with
- 219 | | Filetype.FileML -> Some (Modname.of_filename f)
- 220 | | Filetype.FileMLI ->
- 221 | if (Filesystem.exists (srcDir </> ((chop_extension f) <.> "ml"))) then
- 222 | None
- ...
- 225 | | Filetype.FileOther s -> if Generators.is_generator_ext s then Some (Modname.of_filename f)
- 226 | else None
- 227 | | _ -> None
- 228 | )
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
-
- File "obuild/prepare.ml", line 379, characters 10-113:
- 379 | (match file_entry with Hier.FileEntry _ -> SimpleModule | Hier.GeneratedFileEntry _ -> GeneratedModule)
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched: DirectoryEntry _
-
- File "obuild/prepare.ml", lines 489-493, characters 10-19:
- 489 | ..........match r with
- 490 | | CompileModule _ | CompileDirectory _->
- 491 | Dag.addEdge (LinkTarget target) r stepsDag;
- 492 | Dag.addEdge (CheckTarget target) (LinkTarget target) stepsDag;
- 493 | | _ -> ()
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type compile_step.
-
- File "obuild/prepare.ml", lines 552-554, characters 6-18:
- 552 | ......match Hashtbl.find conf.project_dep_data dep with
- 553 | | Internal -> true
- 554 | | _ -> false............
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Analyze.dep_type.
-
- File "obuild/prepare.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "obuild/prepare.ml", line 202, characters 9-16:
- 202 | let (srcPath,srcDir) =
- ^^^^^^^
- Warning 27 [unused-var-strict]: unused variable srcPath.
-
- File "obuild/prepare.ml", line 233, characters 13-20:
- 233 | let (srcPath, srcFile, intfFile) =
- ^^^^^^^
- Warning 27 [unused-var-strict]: unused variable srcPath.
-
- File "obuild/prepare.ml", line 239, characters 37-41:
- 239 | | Hier.GeneratedFileEntry (path, file, generated) ->
- ^^^^
- Warning 27 [unused-var-strict]: unused variable path.
-
- [37 of 57] Compiling Obuild.Buildprogs
- File "obuild/buildprogs.ml", lines 69-73, characters 14-73:
- 69 | ..............function
- 70 | | Filetype.FileML -> ext
- 71 | | Filetype.FileMLI -> Filetype.FileCMI
- 72 | | _ -> (* It should not happen *)
- 73 | if buildMode = ByteCode then Filetype.FileCMO else Filetype.FileCMX
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
-
- File "obuild/buildprogs.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "obuild/buildprogs.ml", line 66, characters 17-23:
- 66 | let runOcamlPack srcDir dstDir annotMode buildMode packOpt dest modules =
- ^^^^^^
- Warning 27 [unused-var-strict]: unused variable srcDir.
-
- [38 of 57] Compiling Obuild.Build
- File "obuild/build.ml", lines 60-72, characters 45-7:
- 60 | .............................................(
- 61 | match srcTy with
- 62 | | Filetype.FileCMX | Filetype.FileCMO ->
- 63 | let bml = Filetype.replace_extension bdest Filetype.FileML in
- 64 | let bmli = Filetype.replace_extension bdest Filetype.FileMLI in
- ...
- 69 | "Library changed " ^ fp_to_string changedSrc
- 70 | | _ ->
- 71 | "Dependencies changed " ^ fp_to_string changedSrc
- 72 | )
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
-
- File "obuild/build.ml", lines 59-80, characters 4-42:
- 59 | ....match Filetype.of_filename bdest with
- 60 | | Filetype.FileCMX | Filetype.FileCMO -> (
- 61 | match srcTy with
- 62 | | Filetype.FileCMX | Filetype.FileCMO ->
- 63 | let bml = Filetype.replace_extension bdest Filetype.FileML in
- ...
- 77 | else if bh = bsrc then ("H file " ^ fn_to_string bsrc ^ " changed")
- 78 | else ("file changed " ^ fp_to_string changedSrc)
- 79 | | _ ->
- 80 | fp_to_string changedSrc ^ " changed"
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Filetype.t.
-
- File "obuild/build.ml", line 89, characters 6-63:
- 89 | match (t,o) with (ByteCode,WithProf) -> false | _ -> true) all_modes
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Types.ocaml_compiled_type.
-
- File "obuild/build.ml", line 89, characters 6-63:
- 89 | match (t,o) with (ByteCode,WithProf) -> false | _ -> true) all_modes
- ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Types.ocaml_compilation_option.
-
- File "obuild/build.ml", lines 150-155, characters 20-21:
- 150 | ....................match e with
- 151 | Hier.FileEntry (_, f) ->
- 152 | if (Filetype.of_filepath f) = Filetype.FileMLI then
- 153 | Some m
- 154 | else None
- 155 | | _ -> None
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Hier.file_entry.
-
- File "obuild/build.ml", line 340, characters 71-75:
- 340 | (satisfy_all current_pkg) && (List.for_all satisfy_all current_pkg.subs) in
- ^^^^
- Warning 40 [name-out-of-scope]: subs was selected from type Meta.Pkg.t.
- It is not visible in the current scope, and will not be selected
- if the type becomes unknown.
-
- File "obuild/build.ml", line 340, characters 71-75:
- 340 | (satisfy_all current_pkg) && (List.for_all satisfy_all current_pkg.subs) in
- ^^^^
- Warning 42 [disambiguated-name]: this use of subs relies on type-directed
- disambiguation, it will not compile with OCaml 4.00 or earlier.
-
- File "obuild/build.ml", line 339, characters 10-26:
- 339 | let rec dep_is_satisfied current_pkg =
- ^^^^^^^^^^^^^^^^
- Warning 39 [unused-rec-flag]: unused rec flag.
-
- File "obuild/build.ml", lines 363-365, characters 22-24:
- 363 | ......................match compileOpt with
- 364 | | WithProf -> Meta.Predicate.Gprof :: preds
- 365 | | _ -> preds
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Types.ocaml_compilation_option.
-
- File "obuild/build.ml", lines 377-385, characters 13-58:
- 377 | .............match target.target_name with
- 378 | | Name.Lib libname ->
- 379 | if plugin then
- 380 | cstate.compilation_builddir_ml Normal </> Libname.to_cmxs compileOpt libname
- 381 | else
- 382 | cstate.compilation_builddir_ml Normal </> Libname.to_cmca compiledType compileOpt libname
- 383 | | _ ->
- 384 | let outputName = Utils.to_exe_name compileOpt compiledType (Target.get_target_dest_name target) in
- 385 | cstate.compilation_builddir_ml Normal </> outputName
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Target.Name.t.
-
- File "obuild/build.ml", lines 498-500, characters 40-51:
- 498 | ........................................match task with
- 499 | | CompileC _ -> raise (CCompilationFailed er)
- 500 | | _ -> raise (CompilationFailed er)
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Prepare.compile_step.
-
- File "obuild/build.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "obuild/build.ml", line 333, characters 28-34:
- 333 | List.fold_left (fun in_acc lib ->
- ^^^^^^
- Warning 27 [unused-var-strict]: unused variable in_acc.
-
- [39 of 57] Compiling Obuild.Exception
- File "obuild/exception.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [40 of 57] Packing Obuild
- [41 of 57] Linking library dist/build/lib-obuild/obuild.cmxa
- [41 of 57] Linking library dist/build/lib-obuild/obuild.cmxs
- [41 of 57] Linking library dist/build/lib-obuild/obuild.cma
- [42 of 57] Checking dist/build/lib-obuild
- [43 of 57] Compiling Assimilate_oasis
- [44 of 57] Compiling Simple
- File "tools/assimilate_oasis.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [45 of 57] Compiling Install
- File "src/install.ml", lines 21-24, characters 6-35:
- 21 | ......match Filetype.of_filepath (build_dir </> f) with
- 22 | | Filetype.FileCMX | Filetype.FileCMI | Filetype.FileA | Filetype.FileCMXS
- 23 | | Filetype.FileCMXA | Filetype.FileCMA | Filetype.FileCMT | Filetype.FileCMTI -> true
- 24 | | _ -> false.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild.Filetype.t.
-
- File "src/install.ml", lines 27-29, characters 4-31:
- 27 | ....match Filetype.of_filepath (build_dir </> f) with
- 28 | | Filetype.FileEXE -> true
- 29 | | _ -> false.
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild.Filetype.t.
-
- File "src/install.ml", lines 43-44, characters 31-76:
- 43 | ...............................match target.target_name with
- 44 | | Name.Lib _ -> print_target_files target list_lib_files | _ -> ()..............
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild.Target.Name.t.
-
- File "src/install.ml", lines 47-48, characters 31-76:
- 47 | ...............................match target.target_name with
- 48 | | Name.Exe _ -> print_target_files target list_exe_files | _ -> ()..............
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild.Target.Name.t.
-
- File "src/install.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [46 of 57] Compiling Doc
- File "src/simple.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [47 of 57] Compiling Sdist
- File "src/doc.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "src/doc.ml", line 15, characters 8-16:
- 15 | let run projFile =
- ^^^^^^^^
- Warning 27 [unused-var-strict]: unused variable projFile.
-
- [48 of 57] Compiling Help
- File "src/help.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [49 of 57] Compiling Path_generated
- File "src/sdist.ml", lines 28-30, characters 14-38:
- 28 | ..............match Filetype.of_filepath fpath with
- 29 | | Filetype.FileML | Filetype.FileMLI -> Filesystem.copy_to_dir fpath dest
- 30 | | _ -> ()
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild.Filetype.t.
-
- File "src/sdist.ml", lines 36-38, characters 12-21:
- 36 | ............match Filetype.of_filepath fpath with
- 37 | | Filetype.FileC | Filetype.FileH -> Filesystem.copy_to_dir fpath dest
- 38 | | _ -> ()
- Warning 4 [fragile-match]: this pattern-matching is fragile.
- It will remain exhaustive when constructors are added to type Obuild.Filetype.t.
-
- File "src/sdist.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- File "src/sdist.ml", line 9, characters 17-27:
- 9 | let run projFile isSnapshot =
- ^^^^^^^^^^
- Warning 27 [unused-var-strict]: unused variable isSnapshot.
-
- [50 of 57] Compiling Init
- File "dist/build/autogen/path_generated.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [51 of 57] Linking executable dist/build/obuild-from-oasis/obuild-from-oasis
- File "src/init.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [52 of 57] Linking executable dist/build/obuild-simple/obuild-simple
- [53 of 57] Compiling Main
- [54 of 57] Checking dist/build/obuild-from-oasis
- [55 of 57] Checking dist/build/obuild-simple
- File "src/main.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
-
- [56 of 57] Linking executable dist/build/obuild/obuild
- [57 of 57] Checking dist/build/obuild
-
- real 0m6.566s
- user 0m6.732s
- sys 0m2.193s
-> compiled obuild.0.1.11
-> removed obuild.0.1.11
-> installed obuild.0.1.11
Done.
# To update the current shell environment, run: eval $(opam env)
2026-03-25 16:18.47 ---> saved as "2070f9ad2c305cb1c52424c975848be04b3c21af0f3fab0ab06eb82c3d830f5b"
Job succeeded
2026-03-25 16:19.09: Job succeeded