- github
- ocaml
- opam-repository
- 3e0c39
- compilers,4.14,dune.3.22.2,revdeps,qfs.0.12
(not at the head of any monitored branch or PR)
2026-04-13 14:38.58: New job: test qfs.0.12 with dune.3.22.2, using opam dev
from https://github.com/ocaml/opam-repository.git#refs/pull/29704/head (3e0c395e7b1393a792367f8edca3654dac71e6fd)
on debian-13-ocaml-4.14/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/29704/head" && git reset --hard 3e0c395e
git fetch origin master
git merge --no-edit ba4685aeec7b28fde6af30c7b83004704c68c86a
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-4.14@sha256:ec5999d94ff5da2754b2d163583ef868ccaefbaaabbe66412fde8712ae6f5126
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 dune.3.22.2 3.22.2
RUN opam reinstall dune.3.22.2; \
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" != 'dune.3.22.2' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
RUN opam reinstall qfs.0.12; \
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" != 'qfs.0.12' && 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 qfs.0.12) || true
RUN opam reinstall --with-test --verbose qfs.0.12; \
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" != 'qfs.0.12' && 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-04-13 14:38.58: Using cache hint "ocaml/opam:debian-13-ocaml-4.14@sha256:ec5999d94ff5da2754b2d163583ef868ccaefbaaabbe66412fde8712ae6f5126-dune.3.22.2-qfs.0.12-3e0c395e7b1393a792367f8edca3654dac71e6fd"
2026-04-13 14:38.58: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.14@sha256:ec5999d94ff5da2754b2d163583ef868ccaefbaaabbe66412fde8712ae6f5126)
(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 dune.3.22.2 3.22.2"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall dune.3.22.2;\
\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\" != 'dune.3.22.2' && 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 qfs.0.12;\
\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\" != 'qfs.0.12' && 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 qfs.0.12) || true"))
(run (shell "opam reinstall --with-test --verbose qfs.0.12;\
\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\" != 'qfs.0.12' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
)
2026-04-13 14:38.58: Waiting for resource in pool OCluster
2026-04-13 15:01.11: Waiting for worker…
2026-04-13 15:06.28: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
HEAD is now at ba4685aeec Merge pull request #29653 from yakobowski/camlidl
Merge made by the 'ort' strategy.
packages/chrome-trace/chrome-trace.3.22.2/opam | 39 +++++++++++
.../dune-action-plugin.3.22.2/opam | 52 +++++++++++++++
.../dune-action-trace.3.22.2/opam | 39 +++++++++++
.../dune-build-info/dune-build-info.3.22.2/opam | 45 +++++++++++++
.../dune-configurator.3.22.2/opam | 49 ++++++++++++++
packages/dune-glob/dune-glob.3.22.2/opam | 42 ++++++++++++
.../dune-private-libs.3.22.2/opam | 50 +++++++++++++++
packages/dune-rpc-lwt/dune-rpc-lwt.3.22.2/opam | 41 ++++++++++++
packages/dune-rpc/dune-rpc.3.22.2/opam | 44 +++++++++++++
packages/dune-site/dune-site.3.22.2/opam | 37 +++++++++++
packages/dune/dune.3.22.2/opam | 75 ++++++++++++++++++++++
packages/dyn/dyn.3.22.2/opam | 40 ++++++++++++
packages/fs-io/fs-io.3.22.2/opam | 39 +++++++++++
packages/ocamlc-loc/ocamlc-loc.3.22.2/opam | 43 +++++++++++++
packages/ordering/ordering.3.22.2/opam | 38 +++++++++++
packages/stdune/stdune.3.22.2/opam | 46 +++++++++++++
packages/top-closure/top-closure.3.22.2/opam | 38 +++++++++++
packages/xdg/xdg.3.22.2/opam | 39 +++++++++++
18 files changed, 796 insertions(+)
create mode 100644 packages/chrome-trace/chrome-trace.3.22.2/opam
create mode 100644 packages/dune-action-plugin/dune-action-plugin.3.22.2/opam
create mode 100644 packages/dune-action-trace/dune-action-trace.3.22.2/opam
create mode 100644 packages/dune-build-info/dune-build-info.3.22.2/opam
create mode 100644 packages/dune-configurator/dune-configurator.3.22.2/opam
create mode 100644 packages/dune-glob/dune-glob.3.22.2/opam
create mode 100644 packages/dune-private-libs/dune-private-libs.3.22.2/opam
create mode 100644 packages/dune-rpc-lwt/dune-rpc-lwt.3.22.2/opam
create mode 100644 packages/dune-rpc/dune-rpc.3.22.2/opam
create mode 100644 packages/dune-site/dune-site.3.22.2/opam
create mode 100644 packages/dune/dune.3.22.2/opam
create mode 100644 packages/dyn/dyn.3.22.2/opam
create mode 100644 packages/fs-io/fs-io.3.22.2/opam
create mode 100644 packages/ocamlc-loc/ocamlc-loc.3.22.2/opam
create mode 100644 packages/ordering/ordering.3.22.2/opam
create mode 100644 packages/stdune/stdune.3.22.2/opam
create mode 100644 packages/top-closure/top-closure.3.22.2/opam
create mode 100644 packages/xdg/xdg.3.22.2/opam
(from ocaml/opam:debian-13-ocaml-4.14@sha256:ec5999d94ff5da2754b2d163583ef868ccaefbaaabbe66412fde8712ae6f5126)
Unable to find image 'ocaml/opam:debian-13-ocaml-4.14@sha256:ec5999d94ff5da2754b2d163583ef868ccaefbaaabbe66412fde8712ae6f5126' locally
docker.io/ocaml/opam@sha256:ec5999d94ff5da2754b2d163583ef868ccaefbaaabbe66412fde8712ae6f5126: Pulling from ocaml/opam
8f6ad858d0a4: Already exists
9cb5e198c8cf: Already exists
2d346d36dcf2: Already exists
cdc35e289b8d: Already exists
aeb7244bb580: Already exists
fc1943254a0d: Already exists
84238c416f8e: Already exists
fbbfe75d3112: Already exists
221fdc5d9929: Already exists
1fec9149b52a: Already exists
9c6e52557f24: Already exists
8737f5036aae: Already exists
d69c4074de14: Already exists
7237152a5f04: Already exists
fba4b414d8a0: Already exists
40d552afb3ef: Already exists
077cc17dc8e4: Already exists
077cc17dc8e4: Already exists
169e1be36a55: Already exists
0a8a005097ab: Already exists
caba3ec4b361: Already exists
6a364dc641f8: Already exists
4f4fb700ef54: Already exists
ab8052928cdc: Already exists
f5717a28dd6a: Already exists
79233a9b9bed: Already exists
d832d53e7392: Already exists
1872dad82243: Already exists
bfd849b08ba7: Already exists
834a8024ef15: Already exists
98ccec79258b: Already exists
fb48f36a0542: Already exists
3688b13db8e7: Already exists
a5c099f5f72c: Already exists
1ff1760de5b0: Already exists
98eec6764aa5: Already exists
aa22ae69debd: Already exists
12bfb7b962a2: Already exists
ec25ce9bb816: Already exists
beadd3cf7357: Already exists
d0d0c65a426d: Already exists
27080da82c6b: Pulling fs layer
3b99adeb504e: Pulling fs layer
867c8a52ad10: Pulling fs layer
01ca275a6ca2: Pulling fs layer
01ca275a6ca2: Waiting
867c8a52ad10: Verifying Checksum
867c8a52ad10: Download complete
3b99adeb504e: Verifying Checksum
3b99adeb504e: Download complete
01ca275a6ca2: Verifying Checksum
01ca275a6ca2: Download complete
27080da82c6b: Verifying Checksum
27080da82c6b: Download complete
27080da82c6b: Pull complete
3b99adeb504e: Pull complete
867c8a52ad10: Pull complete
01ca275a6ca2: Pull complete
Digest: sha256:ec5999d94ff5da2754b2d163583ef868ccaefbaaabbe66412fde8712ae6f5126
Status: Downloaded newer image for ocaml/opam@sha256:ec5999d94ff5da2754b2d163583ef868ccaefbaaabbe66412fde8712ae6f5126
2026-04-13 15:06.53 ---> using "d0e330c08fa445d83f06df86dbe749aac73c20b9c3be340824d01a143f189b82" 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-04-13 15:06.53 ---> using "3ec7ac935151f5277a236626f366bf7f6f18395cb01e6e86eff2abeffc750f69" 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
[NOTE] The 'jobs' option was reset, its value was 71 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
opam option jobs=71 --global
Format upgrade done.
<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2026-04-13 15:06.53 ---> using "b5a0847c35501fd963cedc3388b00c999e5617a9db85df5529c240a6fc10a617" 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 255
# repositories 1 (version-controlled)
# pinned 1 (version)
# current-switch 4.14
# invariant ["ocaml-base-compiler" {= "4.14.3"}]
# compiler-packages ocaml-base-compiler.4.14.3, ocaml-options-vanilla.1
# ocaml:native true
# ocaml:native-tools true
# ocaml:native-dynlink true
# ocaml:stubsdir /home/opam/.opam/4.14/lib/ocaml/stublibs:/home/opam/.opam/4.14/lib/ocaml
# ocaml:preinstalled false
# ocaml:compiler 4.14.3
2026-04-13 15:06.53 ---> using "28464b62e165a839b63b1c2ae024a4b4fcbe23c1802c3adf881d35db6bc1d4c2" 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-04-13 15:06.53 ---> using "4dfd69403557bd9c8ecec7a8b2fdd9b50feea12943fd8b9150cd347ede8d5f38" from cache
/home/opam: (copy (src .) (dst opam-repository/))
2026-04-13 15:06.54 ---> using "e4440740ff32adbbcff2b06cb37b16278050a2f11fe3bbb84acde16cec6f57b3" from cache
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-04-13 15:07.04 ---> saved as "783c15b8b62b3b51001efd6e74ae6392d3b5bfd28262103a88dd85a8bc36074a"
/home/opam: (run (network host)
(shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian trixie InRelease
- 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-security trixie-security/main amd64 Packages [122 kB]
- Fetched 213 kB in 6s (37.9 kB/s)
- Reading package lists...
-
2026-04-13 15:07.10 ---> saved as "2130130498394389e9bf01ee0c6f95746ce3be4212fa65c803222086e9e79898"
/home/opam: (run (shell "opam pin add -k version -yn dune.3.22.2 3.22.2"))
dune is now pinned to version 3.22.2
2026-04-13 15:07.12 ---> saved as "a58a3260573f46e665bd2898643e9c41f09fedf9a8dce9d606b49bf430b4a91b"
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall dune.3.22.2;\
\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\" != 'dune.3.22.2' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
dune.3.22.2 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 1 package
- install dune 3.22.2 (pinned)
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.22.2 (cached)
-> installed dune.3.22.2
Done.
# To update the current shell environment, run: eval $(opam env)
2026-04-13 15:07.37 ---> saved as "72e5e0d76148f0a1a9dbe5c996a494d4743ec3246a9e99de2b80085ee7ec61e2"
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall qfs.0.12;\
\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\" != 'qfs.0.12' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
qfs.0.12 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 17 packages
- install base-bytes base [required by qfs]
- install conf-boost 1 [required by qfs]
- install cppo 1.8.0 [required by extlib, lwt]
- install csexp 1.5.2 [required by dune-configurator]
- install dune-configurator 3.22.2 [required by lwt]
- install extlib 1.8.0 [required by qfs]
- install lwt 6.1.1 [required by qfs]
- install lwt_ppx 6.1.0 [required by qfs]
- install ocaml-compiler-libs v0.12.4 [required by ppxlib]
- install ocamlbuild 0.16.1 [required by qfs]
- install ocamlfind 1.9.8 [required by qfs]
- install ocplib-endian 1.2 [required by lwt]
- install ppx_derivers 1.2.1 [required by ppxlib]
- install ppxlib 0.38.0 [required by lwt_ppx]
- install qfs 0.12
- install sexplib0 v0.17.0 [required by ppxlib]
- install stdlib-shims 0.3.0 [required by ppxlib]
The following system packages will first need to be installed:
libboost-dev
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
opam believes some required external dependencies are missing. opam can:
> 1. Run apt-get to install them (may need root/sudo access)
2. Display the recommended apt-get command and wait while you run it manually (e.g. in another terminal)
3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
4. Abort the installation
[1/2/3/4] 1
+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libboost-dev"
- Selecting previously unselected package libboost1.83-dev:amd64.
- (Reading database ...
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 20623 files and directories currently installed.)
- Preparing to unpack .../libboost1.83-dev_1.83.0-4.2_amd64.deb ...
- Unpacking libboost1.83-dev:amd64 (1.83.0-4.2) ...
- Selecting previously unselected package libboost-dev:amd64.
- Preparing to unpack .../libboost-dev_1.83.0.2+b2_amd64.deb ...
- Unpacking libboost-dev:amd64 (1.83.0.2+b2) ...
- Setting up libboost1.83-dev:amd64 (1.83.0-4.2) ...
- Setting up libboost-dev:amd64 (1.83.0.2+b2) ...
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed conf-boost.1
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> installed csexp.1.5.2
-> retrieved dune-configurator.3.22.2 (cached)
-> installed cppo.1.8.0
-> retrieved extlib.1.8.0 (cached)
-> retrieved lwt.6.1.1 (cached)
-> retrieved lwt_ppx.6.1.0 (cached)
-> retrieved ocaml-compiler-libs.v0.12.4 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppxlib.0.38.0 (cached)
-> installed ppx_derivers.1.2.1
-> retrieved qfs.0.12 (cached)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> installed extlib.1.8.0
-> installed stdlib-shims.0.3.0
-> installed sexplib0.v0.17.0
-> installed ocaml-compiler-libs.v0.12.4
-> installed dune-configurator.3.22.2
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocplib-endian.1.2
-> installed ocamlbuild.0.16.1
-> installed lwt.6.1.1
-> installed ppxlib.0.38.0
-> installed lwt_ppx.6.1.0
[ERROR] The compilation of qfs.0.12 failed at "ocaml setup.ml -build".
#=== ERROR while compiling qfs.0.12 ===========================================#
# context 2.5.0 | linux/x86_64 | ocaml-base-compiler.4.14.3 | file:///home/opam/opam-repository
# path ~/.opam/4.14/.opam-switch/build/qfs.0.12
# command ~/.opam/opam-init/hooks/sandbox.sh build ocaml setup.ml -build
# exit-code 1
# env-file ~/.opam/log/qfs-7-d5f658.env
# output-file ~/.opam/log/qfs-7-d5f658.out
### output ###
# File "./setup.ml", line 575, characters 4-15:
# 575 | Stream.from next
# ^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "./setup.ml", line 603, characters 19-36:
# 603 | let strm = Stream.of_channel chn in
# ^^^^^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "./setup.ml", line 610, characters 37-48:
# 610 | Buffer.add_char buf (Stream.next strm);
# ^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "./setup.ml", line 613, characters 17-31:
# 613 | with Stream.Failure ->
# ^^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "./setup.ml", line 1431, characters 16-33:
# 1431 | let lxr = Genlex.make_lexer [] in
# ^^^^^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "./setup.ml", line 1433, characters 22-38:
# 1433 | let st = lxr (Stream.of_string s) in
# ^^^^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "./setup.ml", line 1434, characters 14-26:
# 1434 | match Stream.npeek 3 st with
# ^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "./setup.ml", line 1435, characters 11-23:
# 1435 | | [Genlex.Ident fn; Genlex.Ident nm] -> Call(fn, Ident nm)
# ^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "./setup.ml", line 1435, characters 28-40:
# 1435 | | [Genlex.Ident fn; Genlex.Ident nm] -> Call(fn, Ident nm)
# ^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "./setup.ml", line 1436, characters 11-23:
# 1436 | | [Genlex.Ident fn; Genlex.String str] -> Call(fn, String str)
# ^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "./setup.ml", line 1436, characters 28-41:
# 1436 | | [Genlex.Ident fn; Genlex.String str] -> Call(fn, String str)
# ^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "./setup.ml", line 1437, characters 11-24:
# 1437 | | [Genlex.String str] -> String str
# ^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "./setup.ml", line 1438, characters 11-23:
# 1438 | | [Genlex.Ident nm] -> Ident nm
# ^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "./setup.ml", line 1775, characters 22-40:
# 1775 | let compare = Pervasives.compare
# ^^^^^^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Pervasives
# Use Stdlib instead.
#
# If you need to stay compatible with OCaml < 4.07, you can use the
# stdlib-shims library: https://github.com/ocaml/stdlib-shims
# File "setup.ml", line 3176, characters 8-19:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3179, characters 21-32:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3182, characters 18-32:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3184, characters 6-23:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3187, characters 12-24:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3188, characters 9-21:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3188, characters 26-36:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3188, characters 42-55:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3189, characters 8-19:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3189, characters 25-36:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3189, characters 42-53:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3201, characters 17-34:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3326, characters 16-33:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3345, characters 22-38:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3347, characters 17-29:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3348, characters 16-28:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3348, characters 37-49:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3350, characters 16-28:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3350, characters 37-50:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3352, characters 16-28:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3352, characters 46-58:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3354, characters 16-28:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3354, characters 46-59:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3356, characters 16-28:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 3369, characters 13-25:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 3467, characters 16-34:
# Alert deprecated: module Stdlib.Pervasives
# Use Stdlib instead.
#
# If you need to stay compatible with OCaml < 4.07, you can use the
# stdlib-shims library: https://github.com/ocaml/stdlib-shims
# File "setup.ml", line 4518, characters 21-38:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 4520, characters 19-31:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 4521, characters 16-29:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 4521, characters 33-46:
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "setup.ml", line 4523, characters 15-26:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "setup.ml", line 4523, characters 32-43:
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# + ocamlfind ocamlc -config
# + ocamlfind ocamlopt unix.cmxa -I /home/opam/.opam/4.14/lib/ocamlbuild /home/opam/.opam/4.14/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /home/opam/.opam/4.14/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
# + ocamlfind ocamlc -config
# + /home/opam/.opam/4.14/bin/ocamlfind ocamlc -g -ccopt -x -ccopt c++ -ccopt -Wall -ccopt -Wno-write-strings -thread -package unix -package threads -package lwt_ppx -package lwt.unix -package extlib -package bytes -c src/qfs_stubs.c
# + /home/opam/.opam/4.14/bin/ocamlfind ocamlc -g -ccopt -x -ccopt c++ -ccopt -Wall -ccopt -Wno-write-strings -thread -package unix -package threads -package lwt_ppx -package lwt.unix -package extlib -package bytes -c src/qfs_stubs.c
# src/qfs_stubs.c:4:10: fatal error: kfs/KfsClient.h: No such file or directory
# 4 | #include <kfs/KfsClient.h>
# | ^~~~~~~~~~~~~~~~~
# compilation terminated.
# Command exited with code 2.
# + ocamlfind ocamlopt unix.cmxa -I /home/opam/.opam/4.14/lib/ocamlbuild /home/opam/.opam/4.14/lib/ocamlbuild/ocamlbuildlib.cmxa -linkpkg myocamlbuild.ml /home/opam/.opam/4.14/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
# File "myocamlbuild.ml", line 454, characters 8-19:
# 454 | Stream.from
# ^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 457, characters 21-32:
# 457 | match Stream.next st with
# ^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 460, characters 18-32:
# 460 | with Stream.Failure -> None)
# ^^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 462, characters 6-23:
# 462 | Genlex.make_lexer ["="] st_line
# ^^^^^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 465, characters 12-24:
# 465 | match Stream.npeek 3 lxr with
# ^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 466, characters 9-21:
# 466 | | [Genlex.Ident nm; Genlex.Kwd "="; Genlex.String value] ->
# ^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 466, characters 26-36:
# 466 | | [Genlex.Ident nm; Genlex.Kwd "="; Genlex.String value] ->
# ^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 466, characters 42-55:
# 466 | | [Genlex.Ident nm; Genlex.Kwd "="; Genlex.String value] ->
# ^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Genlex
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 467, characters 8-19:
# 467 | Stream.junk lxr; Stream.junk lxr; Stream.junk lxr;
# ^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 467, characters 25-36:
# 467 | Stream.junk lxr; Stream.junk lxr; Stream.junk lxr;
# ^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 467, characters 42-53:
# 467 | Stream.junk lxr; Stream.junk lxr; Stream.junk lxr;
# ^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# File "myocamlbuild.ml", line 479, characters 17-34:
# 479 | let st = Stream.of_channel chn in
# ^^^^^^^^^^^^^^^^^
# Alert deprecated: module Stdlib.Stream
# Use the camlp-streams library instead.
# E: Failure("Command ''/home/opam/.opam/4.14/bin/ocamlbuild' src/libqfs_stubs.a src/dllqfs_stubs.so src/qfs.cma src/qfs.cmxa src/qfs.a src/qfs.cmxs src/example.native -use-ocamlfind -tag debug' terminated with error code 10")
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build qfs 0.12
+-
+- The following changes have been performed
| - install base-bytes base
| - install conf-boost 1
| - install cppo 1.8.0
| - install csexp 1.5.2
| - install dune-configurator 3.22.2
| - install extlib 1.8.0
| - install lwt 6.1.1
| - install lwt_ppx 6.1.0
| - install ocaml-compiler-libs v0.12.4
| - install ocamlbuild 0.16.1
| - install ocamlfind 1.9.8
| - install ocplib-endian 1.2
| - install ppx_derivers 1.2.1
| - install ppxlib 0.38.0
| - install sexplib0 v0.17.0
| - install stdlib-shims 0.3.0
+-
<><> qfs.0.12 troubleshooting <><><><><><><><><><><><><><><><><><><><><><><><><>
=> This package requires QFS development files installed, consult https://quantcast.github.io/qfs/
and https://github.com/quantcast/qfs/wiki/Developer-Documentation on how to build manually.
Tentative instructions for Debian : https://gist.githubusercontent.com/ygrek/7bb217d6ab7b25a765b7/raw
# To update the current shell environment, run: eval $(opam env)
The former state can be restored with:
/usr/bin/opam switch import "/home/opam/.opam/4.14/.opam-switch/backup/state-20260413150739.export"
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
"/usr/bin/env" "bash" "-c" "opam reinstall qfs.0.12;
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" != 'qfs.0.12' && partial_fails="$partial_fails $pkg";
done;
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
exit 1" failed with exit status 1
2026-04-13 15:09.06: Job failed: Failed: Build failed
2026-04-13 15:09.06: Log analysis:
2026-04-13 15:09.06: >>>
[ERROR] The compilation of qfs.0.12 failed at "ocaml setup.ml -build".
(score = 20)
2026-04-13 15:09.06: The compilation of qfs.0.12 failed at "ocaml setup.ml -build".