Build:
  1. 0
2026-01-09 00:37.03: New job: test conf-dwarfutils.1, using opam dev
                              from https://github.com/ocaml/opam-repository.git#refs/pull/29202/head (570d32ed26fb4f0d7a8046e9c55447f190f25af8)
                              on opensuse-15.6-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/29202/head" && git reset --hard 570d32ed
git fetch origin master
git merge --no-edit 93a7bce43a4d9f9b00c3c6b0c3d696c7608217be
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:opensuse-15.6-ocaml-4.14@sha256:d31e34e57c50b6586fb05f03d086e3078203684ef4d91f6049162c45fb08db4c
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 conf-dwarfutils.1 1
RUN opam reinstall conf-dwarfutils.1; \
    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 "\"opensuse-15.6\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'conf-dwarfutils.1' && 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 conf-dwarfutils.1) || true
RUN opam reinstall --with-test --verbose conf-dwarfutils.1; \
    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 "\"opensuse-15.6\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'conf-dwarfutils.1' && 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-01-09 00:37.03: Using cache hint "ocaml/opam:opensuse-15.6-ocaml-4.14@sha256:d31e34e57c50b6586fb05f03d086e3078203684ef4d91f6049162c45fb08db4c-conf-dwarfutils.1-570d32ed26fb4f0d7a8046e9c55447f190f25af8"
2026-01-09 00:37.03: Using OBuilder spec:
((from ocaml/opam:opensuse-15.6-ocaml-4.14@sha256:d31e34e57c50b6586fb05f03d086e3078203684ef4d91f6049162c45fb08db4c)
 (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 conf-dwarfutils.1 1"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall conf-dwarfutils.1;\
             \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 \"\\\"opensuse-15.6\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'conf-dwarfutils.1' && 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 conf-dwarfutils.1) || true"))
 (run (shell  "opam reinstall --with-test --verbose conf-dwarfutils.1;\
             \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 \"\\\"opensuse-15.6\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'conf-dwarfutils.1' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2026-01-09 00:37.03: Waiting for resource in pool OCluster
2026-01-09 00:37.04: Waiting for worker…
2026-01-09 00:37.04: Got resource from pool OCluster
Building on odawa.caelum.ci.dev
All commits already cached
HEAD is now at 93a7bce43a Merge pull request #29186 from raphael-proust/server-reason-react-ppxlib-bounds
Updating 93a7bce43a..570d32ed26
Fast-forward
 packages/conf-dwarfutils/conf-dwarfutils.1/opam | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
 create mode 100644 packages/conf-dwarfutils/conf-dwarfutils.1/opam

(from ocaml/opam:opensuse-15.6-ocaml-4.14@sha256:d31e34e57c50b6586fb05f03d086e3078203684ef4d91f6049162c45fb08db4c)
2026-01-09 00:37.42 ---> using "637ce81a622ba7f4a875c6ee13622e09af08fa25514d31b3e0ed4827f77b8323" 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-01-09 00:37.42 ---> using "99af7d07548f96092f78696c04273dbefc4bc55cbc1ef61612f977db0777af16" 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-01-09 00:37.42 ---> using "ed89394321edb58045c888772ef0ff6138583e316dcace13df733067e7e1e130" 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=opensuse-leap os-version=15.6
# 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.2"}]
# compiler-packages    ocaml-base-compiler.4.14.2, 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.2
2026-01-09 00:37.42 ---> using "97ccd69de1f494e2af410496d63005c2fae9425dae117bdba4e54bbd074dcc65" 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-01-09 00:37.42 ---> using "132aeeb110cfc4461f4aab62b8e2e31485ea8eb4b9ed54e5eb82535ebafe669d" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2026-01-09 00:37.45 ---> saved as "8084539ab15454076d3843247326145fb705cc7a4379a01ee0b6be4281c310cd"

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-01-09 00:38.02 ---> saved as "02c901270ec625fb45bfb3c40050ba6228c692d7fdcda43ca408985c667a5478"

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "zypper" "--non-interactive" "refresh"
- Retrieving repository 'Update repository of openSUSE Backports' metadata [..
- Looking for gpg keys in repository Update repository of openSUSE Backports.
-   gpgkey=http://download.opensuse.org/update/leap/15.6/backports/repodata/repomd.xml.key
- ....
- ....
- ....
- ......
- ............done]
- Building repository 'Update repository of openSUSE Backports' cache [..
- ..done]
- Retrieving repository 'Update repository with updates from SUSE Linux Enterprise 15' metadata [..
- Looking for gpg keys in repository Update repository with updates from SUSE Linux Enterprise 15.
-   gpgkey=http://download.opensuse.org/update/leap/15.6/sle/repodata/repomd.xml.key
- .....
- ....
- ....
- .......
- .............
- .........
- ..........
- .........
- .....
- ........
- ........
- ..........
- .........
- ..........
- .........
- ..........
- .........
- .........
- ..............
- .....done]
- Building repository 'Update repository with updates from SUSE Linux Enterprise 15' cache [..
- ..done]
- Repository 'Main Update Repository' is up to date.
- Repository 'Update Repository (Non-Oss)' is up to date.
- Repository 'Non-OSS Repository' is up to date.
- Repository 'Main Repository' is up to date.
- All repositories have been refreshed.
2026-01-09 00:38.39 ---> saved as "5f2e7db4348b15fb7f297e504d7ca26dc1a40e7550e75a25e554ad2ad82634f5"

/home/opam: (run (shell "opam pin add -k version -yn conf-dwarfutils.1 1"))
conf-dwarfutils is now pinned to version 1
2026-01-09 00:38.40 ---> saved as "ab3c10fc2723efc9b2b5b6f4303d62e6689e01b7d26651f25c2063d86f7b2bf4"

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall conf-dwarfutils.1;\
                        \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 \"\\\"opensuse-15.6\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'conf-dwarfutils.1' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
conf-dwarfutils.1 is not installed. Install it? [Y/n] y
The following actions will be performed:
=== install 2 packages
  - install conf-dwarfutils 1 (pinned)
  - install conf-pkg-config 4          [required by conf-dwarfutils]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed conf-pkg-config.4
[ERROR] The compilation of conf-dwarfutils.1 failed at "pkg-config --print-errors --exists libdwarf".

#=== ERROR while compiling conf-dwarfutils.1 ==================================#
# context              2.5.0 | linux/x86_64 | ocaml-base-compiler.4.14.2 | pinned
# path                 ~/.opam/4.14/.opam-switch/build/conf-dwarfutils.1
# command              ~/.opam/opam-init/hooks/sandbox.sh build pkg-config --print-errors --exists libdwarf
# exit-code            1
# env-file             ~/.opam/log/conf-dwarfutils-7-99ff3c.env
# output-file          ~/.opam/log/conf-dwarfutils-7-99ff3c.out
### output ###
# Package libdwarf was not found in the pkg-config search path.
# Perhaps you should add the directory containing `libdwarf.pc'
# to the PKG_CONFIG_PATH environment variable
# No package 'libdwarf' found



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build conf-dwarfutils 1
+- 
+- The following changes have been performed
| - install conf-pkg-config 4
+- 
# 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-20260109003840.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 conf-dwarfutils.1;
        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 "\"opensuse-15.6\""; then
            echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
          fi;
          test "$pkg" != 'conf-dwarfutils.1' && 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-01-09 00:38.48: Job failed: Failed: Build failed
2026-01-09 00:38.48: Log analysis:
2026-01-09 00:38.48: >>> 
[ERROR] The compilation of conf-dwarfutils.1 failed at "pkg-config --print-errors --exists libdwarf".
 (score = 20)
2026-01-09 00:38.48: The compilation of conf-dwarfutils.1 failed at "pkg-config --print-errors --exists libdwarf".