- github
- ocaml
- opam-repository
- 1c56fa
- extras,opam-2.3-ocaml-4.14,qcow.0.13.0
(not at the head of any monitored branch or PR)
2026-02-18 16:03.01: New job: build qcow.0.13.0, using opam 2.3
from https://github.com/ocaml/opam-repository.git#refs/pull/29420/head (1c56fa007c7c3d55ecb6e813f3453aa0163c8362)
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/29420/head" && git reset --hard 1c56fa00
git fetch origin master
git merge --no-edit 0431a98cc2177cbcc88e0937fe5b1b48e457e990
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-4.14@sha256:04864ce35c9a53a8f91e1b6ddfe19ff405f2881ec1201cdca698239b3b811633
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-2.3 /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 qcow.0.13.0 0.13.0
RUN opam reinstall qcow.0.13.0; \
res=$?; \
test "$res" != 31 && exit "$res"; \
export OPAMCLI=2.0; \
build_dir=$(opam var prefix)/.opam-switch/build; \
failed=$(ls "$build_dir"); \
partial_fails=""; \
for pkg in $failed; do \
if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-13\""; then \
echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
fi; \
test "$pkg" != 'qcow.0.13.0' && partial_fails="$partial_fails $pkg"; \
done; \
test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
exit 1
END-OF-DOCKERFILE
docker build -f ../Dockerfile .
2026-02-18 16:03.01: Using cache hint "ocaml/opam:debian-13-ocaml-4.14@sha256:04864ce35c9a53a8f91e1b6ddfe19ff405f2881ec1201cdca698239b3b811633-qcow.0.13.0-1c56fa007c7c3d55ecb6e813f3453aa0163c8362"
2026-02-18 16:03.01: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.14@sha256:04864ce35c9a53a8f91e1b6ddfe19ff405f2881ec1201cdca698239b3b811633)
(user (uid 1000) (gid 1000))
(workdir /home/opam)
(run (shell "sudo ln -f /usr/bin/opam-2.3 /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 qcow.0.13.0 0.13.0"))
(run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall qcow.0.13.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'qcow.0.13.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
)
2026-02-18 16:03.01: Waiting for resource in pool OCluster
2026-02-18 16:04.33: Waiting for worker…
2026-02-18 16:09.16: Got resource from pool OCluster
Building on toxis.caelum.ci.dev
All commits already cached
Updating files: 90% (16550/18239)
Updating files: 91% (16598/18239)
Updating files: 92% (16780/18239)
Updating files: 93% (16963/18239)
Updating files: 94% (17145/18239)
Updating files: 95% (17328/18239)
Updating files: 96% (17510/18239)
Updating files: 97% (17692/18239)
Updating files: 98% (17875/18239)
Updating files: 99% (18057/18239)
Updating files: 100% (18239/18239)
Updating files: 100% (18239/18239), done.
HEAD is now at 0431a98cc2 Merge pull request #29419 from dinosaure/release-hxd-v0.4.0
Merge made by the 'ort' strategy.
packages/qcow-stream/qcow-stream.0.13.0/opam | 42 +++++++++++++++++++
packages/qcow-tool/qcow-tool.0.13.0/opam | 57 +++++++++++++++++++++++++
packages/qcow-types/qcow-types.0.13.0/opam | 50 ++++++++++++++++++++++
packages/qcow/qcow.0.13.0/opam | 62 ++++++++++++++++++++++++++++
4 files changed, 211 insertions(+)
create mode 100644 packages/qcow-stream/qcow-stream.0.13.0/opam
create mode 100644 packages/qcow-tool/qcow-tool.0.13.0/opam
create mode 100644 packages/qcow-types/qcow-types.0.13.0/opam
create mode 100644 packages/qcow/qcow.0.13.0/opam
(from ocaml/opam:debian-13-ocaml-4.14@sha256:04864ce35c9a53a8f91e1b6ddfe19ff405f2881ec1201cdca698239b3b811633)
Unable to find image 'ocaml/opam:debian-13-ocaml-4.14@sha256:04864ce35c9a53a8f91e1b6ddfe19ff405f2881ec1201cdca698239b3b811633' locally
docker.io/ocaml/opam@sha256:04864ce35c9a53a8f91e1b6ddfe19ff405f2881ec1201cdca698239b3b811633: Pulling from ocaml/opam
ef235bf1a09a: Already exists
58b06b604a42: Already exists
b55f23c32d5a: Already exists
aa415425edb7: Already exists
c4f39ed7469c: Already exists
ca248a2fdd5e: Already exists
74109c509b2f: Already exists
18c2fa2271cb: Already exists
37d4d41661a2: Already exists
0b2f35f78814: Already exists
e65f29522a9a: Already exists
603a51b67573: Already exists
89b2faa02f16: Already exists
e5f11471afd4: Already exists
d7b0e5daa224: Already exists
7bec4d50f3b2: Already exists
d3a70ed71f1c: Already exists
90de03d9b27a: Already exists
a28f685cf2db: Already exists
5bb5e02041c7: Already exists
74f9af816199: Already exists
74c2f6cb4138: Already exists
4f4fb700ef54: Already exists
5ce9bdcb2952: Already exists
bf18c14e9b34: Already exists
bb4b67501479: Already exists
89e7ed0468f5: Already exists
640077527026: Already exists
363b481ff012: Already exists
437bd8bc3ce9: Already exists
2bcf3429833a: Already exists
3e5fe21454e9: Already exists
f3afb11ae499: Already exists
c3a5b88f5e5f: Already exists
124a1dc355b1: Already exists
0a9982d37abd: Already exists
9b8b724665ed: Already exists
f81507befe71: Already exists
7984e4546bf9: Already exists
3579b890ab6e: Already exists
e83772930ba8: Already exists
01bb609bb248: Pulling fs layer
7597cc56d4df: Pulling fs layer
9dbeadd31c61: Pulling fs layer
f436be41184a: Pulling fs layer
f436be41184a: Waiting
9dbeadd31c61: Verifying Checksum
9dbeadd31c61: Download complete
7597cc56d4df: Verifying Checksum
7597cc56d4df: Download complete
f436be41184a: Download complete
01bb609bb248: Verifying Checksum
01bb609bb248: Download complete
01bb609bb248: Pull complete
7597cc56d4df: Pull complete
9dbeadd31c61: Pull complete
f436be41184a: Pull complete
Digest: sha256:04864ce35c9a53a8f91e1b6ddfe19ff405f2881ec1201cdca698239b3b811633
Status: Downloaded newer image for ocaml/opam@sha256:04864ce35c9a53a8f91e1b6ddfe19ff405f2881ec1201cdca698239b3b811633
2026-02-18 16:09.19 ---> using "d6079ab6cce1b58b34ac9b5ed11aa86b7980ab728c75f5a6ba9271e98dc1ac1c" from cache
/: (user (uid 1000) (gid 1000))
/: (workdir /home/opam)
/home/opam: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2026-02-18 16:09.19 ---> saved as "eed8c2c8361c3e7ec894c8a2c27e1363ced39a06aa2c0a6779e4d7135a6e60b5"
/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 development 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-02-18 16:09.49 ---> saved as "f953dc7ae1ef895df541ee1c59c8ef3fd3fc70ba02ada5ea95c754d40969ec2f"
/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.3.0 (35acd0c5abc5e66cdbd5be16ba77aa6c33a4c724)
# 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 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-02-18 16:09.50 ---> saved as "9ced8aaa0c5d6fc2b4585e3b717313dc4102f9b5e5b1e89bdadd99ddae5b6059"
/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-02-18 16:10.00 ---> saved as "21b45d57e74d661fbe9dfb9b3afc4a97aece6237c5d5582f7fd0a7e36842138f"
/home/opam: (copy (src .) (dst opam-repository/))
2026-02-18 16:10.32 ---> saved as "661385b18178aca3b83f1f758a5c4f0420710e7d7c5663b17947dca681fb7337"
/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2026-02-18 16:10.52 ---> saved as "cfa4bdc7df3a691681d20da299788ac61ee2b4395cb3b88706c5683e8e46c5cc"
/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 [110 kB]
- Fetched 200 kB in 0s (1751 kB/s)
- Reading package lists...
2026-02-18 16:10.53 ---> saved as "a8c8556146913d91e7c008dcc027b2a81f69ca39e8137a9c6466d3ab8dbf2faf"
/home/opam: (run (shell "opam pin add -k version -yn qcow.0.13.0 0.13.0"))
qcow is now pinned to version 0.13.0
2026-02-18 16:10.53 ---> saved as "0764c79d9028bcb34c6e8ec1a8fe5102bae72859eba366ad049b962eba384bad"
/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam reinstall qcow.0.13.0;\
\n res=$?;\
\n test \"$res\" != 31 && exit \"$res\";\
\n export OPAMCLI=2.0;\
\n build_dir=$(opam var prefix)/.opam-switch/build;\
\n failed=$(ls \"$build_dir\");\
\n partial_fails=\"\";\
\n for pkg in $failed; do\
\n if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-13\\\"\"; then\
\n echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
\n fi;\
\n test \"$pkg\" != 'qcow.0.13.0' && partial_fails=\"$partial_fails $pkg\";\
\n done;\
\n test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
\n exit 1"))
qcow.0.13.0 is not installed. Install it? [y/n] y
The following actions will be performed:
=== install 50 packages
- install angstrom 0.16.1 [required by uri]
- install asetmap 0.8.1 [required by prometheus]
- install astring 0.8.5 [required by qcow]
- install base v0.16.4 [required by ppx_sexp_conv]
- install base-bytes base [required by qcow]
- install bigstringaf 0.10.0 [required by angstrom]
- install conf-linux-libc-dev 0 [required by mirage-block-unix]
- install conf-pkg-config 4 [required by io-page]
- install cppo 1.8.0 [required by ppx_deriving]
- install csexp 1.5.2 [required by dune-configurator]
- install cstruct 6.2.0 [required by qcow]
- install cstruct-lwt 6.2.0 [required by mirage-block-unix]
- install diet 0.4 [required by qcow-types]
- install dune 3.21.1 [required by qcow]
- install dune-configurator 3.21.1 [required by lwt, base]
- install duration 0.2.1 [required by mirage-sleep]
- install fmt 0.11.0 [required by qcow]
- install io-page 3.0.0 [required by qcow]
- install logs 0.10.0 [required by qcow]
- install lwt 5.9.2 [required by qcow]
- install lwt_ppx 5.9.1 [required by qcow-types]
- install mirage-block 3.0.2 [required by qcow]
- install mirage-block-combinators 3.0.2 [required by qcow]
- install mirage-block-unix 2.14.2 [required by qcow]
- install mirage-sleep 4.1.0 [required by qcow]
- install num 1.6 [required by sexplib]
- install ocaml-compiler-libs v0.12.4 [required by ppxlib]
- install ocaml-syntax-shims 1.0.0 [required by angstrom]
- install ocamlbuild 0.16.1 [required by logs, astring, unix-type-representations]
- install ocamlfind 1.9.8 [required by ppx_deriving, base-bytes, astring, etc.]
- install ocplib-endian 1.2 [required by lwt]
- install parsexp v0.16.0 [required by sexplib]
- install ppx_derivers 1.2.1 [required by ppx_deriving]
- install ppx_deriving 6.0.3 [required by qcow]
- install ppx_sexp_conv v0.16.0 [required by qcow]
- install ppxlib 0.35.0 [required by ppx_deriving, ppx_sexp_conv]
- install prometheus 1.3 [required by qcow]
- install qcow 0.13.0 (pinned)
- install qcow-types 0.13.0 [required by qcow]
- install re 1.14.0 [required by prometheus]
- install result 1.5 [required by qcow]
- install rresult 0.7.0 [required by mirage-block-unix]
- install sexplib v0.16.0 [required by qcow]
- install sexplib0 v0.16.0 [required by ppx_sexp_conv]
- install sha 1.15.4 [required by qcow]
- install stdlib-shims 0.3.0 [required by qcow]
- install stringext 1.6.0 [required by uri]
- install topkg 1.1.1 [required by logs, astring, unix-type-representations]
- install unix-type-representations 0.1.2 [required by qcow]
- install uri 4.4.0 [required by mirage-block-unix]
The following system packages will first need to be installed:
pkg-config
<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
opam believes some required external dependencies are missing. opam can:
> 1. Run apt-get to install them (may need root/sudo access)
2. Display the recommended apt-get command and wait while you run it manually (e.g. in another terminal)
3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
4. Abort the installation
[1/2/3/4] 1
+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "pkg-config"
- Selecting previously unselected package libpkgconf3: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 .../libpkgconf3_1.8.1-4_amd64.deb ...
- Unpacking libpkgconf3:amd64 (1.8.1-4) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../pkgconf-bin_1.8.1-4_amd64.deb ...
- Unpacking pkgconf-bin (1.8.1-4) ...
- Selecting previously unselected package pkgconf:amd64.
- Preparing to unpack .../pkgconf_1.8.1-4_amd64.deb ...
- Unpacking pkgconf:amd64 (1.8.1-4) ...
- Selecting previously unselected package pkg-config:amd64.
- Preparing to unpack .../pkg-config_1.8.1-4_amd64.deb ...
- Unpacking pkg-config:amd64 (1.8.1-4) ...
- Setting up libpkgconf3:amd64 (1.8.1-4) ...
- Setting up pkgconf-bin (1.8.1-4) ...
- Setting up pkgconf:amd64 (1.8.1-4) ...
- Setting up pkg-config:amd64 (1.8.1-4) ...
- Processing triggers for libc-bin (2.41-12+deb13u1) ...
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1 (cached)
-> retrieved asetmap.0.8.1 (cached)
-> retrieved astring.0.8.5 (cached)
-> retrieved base.v0.16.4 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> installed conf-pkg-config.4
-> installed conf-linux-libc-dev.0
-> retrieved cstruct.6.2.0, cstruct-lwt.6.2.0 (cached)
-> retrieved diet.0.4 (cached)
-> retrieved dune.3.21.1, dune-configurator.3.21.1 (cached)
-> retrieved duration.0.2.1 (cached)
-> retrieved fmt.0.11.0 (cached)
-> retrieved io-page.3.0.0 (cached)
-> retrieved logs.0.10.0 (cached)
-> retrieved lwt.5.9.2 (cached)
-> retrieved lwt_ppx.5.9.1 (cached)
-> retrieved mirage-block.3.0.2, mirage-block-combinators.3.0.2 (cached)
-> retrieved mirage-block-unix.2.14.2 (cached)
-> retrieved mirage-sleep.4.1.0 (cached)
-> retrieved num.1.6 (cached)
-> retrieved ocaml-compiler-libs.v0.12.4 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved parsexp.v0.16.0 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppx_deriving.6.0.3 (cached)
-> retrieved ppx_sexp_conv.v0.16.0 (cached)
-> retrieved ppxlib.0.35.0 (cached)
-> retrieved prometheus.1.3 (cached)
-> retrieved qcow.0.13.0, qcow-types.0.13.0 (cached)
-> retrieved re.1.14.0 (cached)
-> retrieved result.1.5 (cached)
-> retrieved rresult.0.7.0 (cached)
-> retrieved sexplib.v0.16.0 (cached)
-> retrieved sexplib0.v0.16.0 (cached)
-> retrieved sha.1.15.4 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved stringext.1.6.0 (cached)
-> retrieved topkg.1.1.1 (cached)
-> retrieved unix-type-representations.0.1.2 (cached)
-> retrieved uri.4.4.0 (cached)
-> installed num.1.6
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed ocamlbuild.0.16.1
-> installed topkg.1.1.1
-> installed asetmap.0.8.1
-> installed rresult.0.7.0
-> installed unix-type-representations.0.1.2
-> installed fmt.0.11.0
-> installed astring.0.8.5
-> installed dune.3.21.1
-> installed ppx_derivers.1.2.1
-> installed csexp.1.5.2
-> installed cppo.1.8.0
-> installed cstruct.6.2.0
-> installed duration.0.2.1
-> installed ocaml-compiler-libs.v0.12.4
-> installed ocaml-syntax-shims.1.0.0
-> installed re.1.14.0
-> installed result.1.5
-> installed sexplib0.v0.16.0
-> installed stdlib-shims.0.3.0
-> installed stringext.1.6.0
-> installed io-page.3.0.0
-> installed ocplib-endian.1.2
-> installed diet.0.4
-> installed sha.1.15.4
-> installed parsexp.v0.16.0
-> installed dune-configurator.3.21.1
-> installed sexplib.v0.16.0
-> installed bigstringaf.0.10.0
-> installed angstrom.0.16.1
-> installed uri.4.4.0
-> installed lwt.5.9.2
-> installed mirage-block.3.0.2
-> installed mirage-sleep.4.1.0
-> installed cstruct-lwt.6.2.0
-> installed prometheus.1.3
-> installed logs.0.10.0
-> installed mirage-block-combinators.3.0.2
-> installed mirage-block-unix.2.14.2
-> installed base.v0.16.4
-> installed ppxlib.0.35.0
-> installed lwt_ppx.5.9.1
-> installed ppx_sexp_conv.v0.16.0
-> installed ppx_deriving.6.0.3
-> installed qcow-types.0.13.0
-> installed qcow.0.13.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-02-18 16:12.08 ---> saved as "3599a922d2af571af81b925d46550c576c235e50545d535e4fe9cf621e9fbf35"
Job succeeded
2026-02-18 16:12.13: Job succeeded