Building on phoebe.caelum.ci.dev
(from ocaml/opam:debian-unstable)
Unable to find image 'ocaml/opam:debian-unstable' locally
debian-unstable: Pulling from ocaml/opam
Digest: sha256:9d6ee237fc4a0f2d144b9f12cf3c55843e12649cd33c20ff24b4e8d1a10c60b0
Status: Downloaded newer image for ocaml/opam:debian-unstable
2026-05-15 10:08.53 ---> using "0acd5aeaa8f7bc314514d9795d14a7f12ec72a6a5b11c5904350189734c6859b" from cache
/: (user (uid 1000) (gid 1000))
/: (env OPAMPRECISETRACKING 1)
/: (env OPAMUTF8 never)
/: (env OPAMEXTERNALSOLVER builtin-0install)
/: (env OPAMCRITERIA +removed)
/: (env CI true)
/: (env OPAM_HEALTH_CHECK_CI true)
/: (run (shell "sudo ln -f /usr/bin/opam-dev /usr/bin/opam"))
2026-05-15 10:08.53 ---> using "40df4fa4cdfc68a5fa7a326047e82a7adc5df52b8059d4a7b745bdd50aad56e7" from cache
/: (run (network host)
(shell "rm -rf ~/opam-repository && git clone -q 'https://github.com/ocaml/opam-repository' ~/opam-repository && git -C ~/opam-repository checkout -q ba330746a50a77a950460e0b4891860ef8473d4a"))
2026-05-15 10:08.53 ---> using "0b49d9c5d33265e52b08d514139ec3a7efff263621554bb891ac88b3da01b46a" from cache
/: (run (shell "rm -rf ~/.opam && opam init -ya --bare --config ~/.opamrc-sandbox ~/opam-repository"))
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.
<><> Fetching repository information ><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
User configuration:
~/.profile is already up-to-date.
2026-05-15 10:08.53 ---> using "b7ecd9b0118fa7e153c05dc4df3871f8f2c9ddbf76d9663cd7e4dde34de6053e" from cache
/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
(network host)
(shell "opam switch create --repositories=default '5.3-dune' '5.3.0'"))
<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-base-compiler" {= "5.3.0"}]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed base-bigarray.base
-> installed base-threads.base
-> installed base-unix.base
-> installed ocaml-options-vanilla.1
-> retrieved ocaml-compiler.5.3.0 (cached)
-> retrieved ocaml-config.3 (2 extra sources)
-> retrieved ocaml-config.3 (2 extra sources)
-> installed ocaml-compiler.5.3.0
-> installed ocaml-base-compiler.5.3.0
-> installed ocaml-config.3
-> installed ocaml.5.3.0
-> installed base-domains.base
-> installed base-effects.base
-> installed base-nnp.base
Done.
# To update the current shell environment, run: eval $(opam env --switch=5.3-dune)
2026-05-15 10:08.53 ---> using "cfedd5bb3d1333e2e90ae5b1580837833dd654f5f468c62a7d011c2bc7b80ade" from cache
/: (run (network host)
(shell "opam update --depexts"))
+ /usr/bin/sudo "apt-get" "update"
- Get:1 http://deb.debian.org/debian unstable InRelease [189 kB]
- Get:2 http://deb.debian.org/debian unstable/main amd64 Packages.diff/Index [63.6 kB]
- Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2026-05-15-0801.38-F-2026-05-10-0200.31.pdiff [361 kB]
- Get:3 http://deb.debian.org/debian unstable/main amd64 Packages T-2026-05-15-0801.38-F-2026-05-10-0200.31.pdiff [361 kB]
- Fetched 614 kB in 2s (289 kB/s)
- Reading package lists...
2026-05-15 10:08.53 ---> using "bae0e6f8e6899ae30e635993160a8eeba57daebaa9b194d13b2808b5c5ccd510" from cache
/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
(network host)
(shell "opam pin add -k version dune $(opam show -f version dune)"))
dune is now pinned to version 3.23.0
The following actions will be performed:
=== install 1 package
- install dune 3.23.0 (pinned)
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.23.0 (cached)
-> installed dune.3.23.0
Done.
# To update the current shell environment, run: eval $(opam env)
2026-05-15 10:08.53 ---> using "8ea610e545787c27be25e88d9f40bcc5bbb4667aff3ee83eaa40b2cb7d1898dc" from cache
/: (env DUNE_CACHE enabled)
/: (env DUNE_CACHE_TRANSPORT direct)
/: (env DUNE_CACHE_DUPLICATION copy)
/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
(network host)
(shell "curl -fsSL https://get.dune.build/install | sh"))
################################################# 69.1%
######################################################################## 100.0%
dune x86_64-unknown-linux-musl was installed successfully to ~/.local/bin/dune
#=#=#
# 1.6%
### 4.6%
##### 7.1%
###### 8.7%
####### 10.1%
####### 11.1%
######## 12.2%
######### 13.5%
########## 14.6%
########### 15.7%
############ 17.0%
############# 18.1%
############# 19.3%
############## 20.6%
############### 22.2%
################ 23.5%
################# 24.8%
################## 26.3%
#################### 28.0%
##################### 29.8%
###################### 31.8%
######################## 34.0%
########################## 36.3%
########################### 38.7%
############################# 41.3%
############################### 43.1%
############################### 43.7%
############################### 44.0%
################################ 44.6%
################################ 45.3%
################################# 46.1%
################################# 47.2%
################################## 48.4%
################################### 49.7%
#################################### 51.3%
###################################### 53.0%
####################################### 54.8%
######################################## 56.8%
########################################## 59.1%
############################################ 61.4%
############################################## 63.9%
############################################### 66.5%
################################################# 69.1%
################################################### 72.1%
###################################################### 75.2%
######################################################## 78.4%
########################################################## 81.3%
############################################################ 83.7%
############################################################## 86.2%
################################################################ 88.9%
################################################################## 92.0%
#################################################################### 95.1%
###################################################################### 97.7%
######################################################################## 100.0%
Revision cache was populated successfully
To use dune you will need to source the file "$HOME/.local/share/dune/env/env.bash" (or similar as appropriate for your shell)
export PATH="/home/opam/.local/bin:$PATH"
To get started, run:
dune --help
2026-05-15 10:08.53 ---> using "2ef39273b5a7622e3d3b9c14f007bbcc87cf860db67634c495f4edb6f31c192e" from cache
/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
(network host)
(shell "mkdir /tmp/sexp && cd /tmp/sexp && opam switch create ./ ocaml-base-compiler.5.2.1 --no-install && opam install -y sexp && cd -"))
<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-base-compiler" {= "5.2.1"}]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved ocaml-config.3 (cached)
-> installed base-bigarray.base
-> installed base-threads.base
-> installed base-unix.base
-> installed ocaml-options-vanilla.1
-> retrieved ocaml-base-compiler.5.2.1 (cached)
-> installed ocaml-base-compiler.5.2.1
-> installed ocaml-config.3
-> installed ocaml.5.2.1
-> installed base-domains.base
-> installed base-nnp.base
Done.
# To update the current shell environment, run: eval $(opam env)
The following actions will be performed:
=== install 100 packages
- install angstrom 0.16.1 [required by jsonaf]
- install async v0.17.0 [required by sexp]
- install async_kernel v0.17.0 [required by async]
- install async_log v0.17.0 [required by async]
- install async_rpc_kernel v0.17.0 [required by async]
- install async_unix v0.17.0 [required by async]
- install base v0.17.3 [required by jsonaf, sexp_select]
- install base_bigstring v0.17.0 [required by core]
- install base_quickcheck v0.17.0 [required by core]
- install bigstringaf 0.10.0 [required by angstrom, faraday]
- install bin_prot v0.17.0-1 [required by core]
- install capitalization v0.17.0 [required by ppx_string_conv]
- install conf-g++ 1.0 [required by re2]
- install core v0.17.2 [required by sexp]
- install core_kernel v0.17.0 [required by sexp]
- install core_unix v0.17.1 [required by sexp]
- install csexp 1.5.2 [required by dune-configurator]
- install cstruct 6.2.0 [required by async_unix]
- install csvfields v0.17.0 [required by sexp]
- install dune 3.23.0 [required by sexp]
- install dune-configurator 3.23.0 [required by bigstringaf]
- install expect_test_helpers_core v0.17.0 [required by core_unix]
- install faraday 0.8.2 [required by jsonaf]
- install fieldslib v0.17.0 [required by core]
- install fmt 0.11.0 [required by cstruct]
- install gel v0.17.0 [required by async_rpc_kernel]
- install int_repr v0.17.0 [required by core_kernel]
- install jane-street-headers v0.17.0 [required by core]
- install jane_rope v0.17.0 [required by re2]
- install jsonaf v0.17.0 [required by sexp]
- install jst-config v0.17.0 [required by shell]
- install num 1.6 [required by csvfields]
- install ocaml-compiler-libs v0.17.0 [required by ppxlib]
- install ocaml-syntax-shims 1.0.0 [required by angstrom]
- install ocaml_intrinsics_kernel v0.17.2 [required by base]
- install ocamlbuild 0.16.1 [required by uutf]
- install ocamlfind 1.9.8 [required by uutf]
- install parsexp v0.17.0 [required by sexplib]
- install ppx_assert v0.17.0 [required by core]
- install ppx_base v0.17.0 [required by core]
- install ppx_bench v0.17.0 [required by ppx_jane]
- install ppx_bin_prot v0.17.0 [required by ppx_jane]
- install ppx_cold v0.17.0 [required by ppx_base]
- install ppx_compare v0.17.0 [required by ppx_diff]
- install ppx_custom_printf v0.17.0 [required by ppx_jane]
- install ppx_derivers 1.2.1 [required by ppxlib]
- install ppx_diff v0.17.0 [required by core]
- install ppx_disable_unused_warnings v0.17.0 [required by ppx_jane]
- install ppx_enumerate v0.17.0 [required by ppx_diff]
- install ppx_expect v0.17.2 [required by ppx_jane]
- install ppx_fields_conv v0.17.0 [required by ppx_jane]
- install ppx_fixed_literal v0.17.0 [required by ppx_jane]
- install ppx_globalize v0.17.0 [required by ppx_base]
- install ppx_hash v0.17.0 [required by core]
- install ppx_here v0.17.0 [required by ppx_jane]
- install ppx_ignore_instrumentation v0.17.0 [required by ppx_jane]
- install ppx_inline_test v0.17.0 [required by core]
- install ppx_jane v0.17.0 [required by sexp]
- install ppx_let v0.17.0 [required by ppx_jane]
- install ppx_log v0.17.0 [required by ppx_jane]
- install ppx_module_timer v0.17.0 [required by ppx_jane]
- install ppx_optcomp v0.17.0 [required by core_kernel, core, async_unix]
- install ppx_optional v0.17.0 [required by ppx_jane]
- install ppx_pipebang v0.17.0 [required by ppx_jane]
- install ppx_sexp_conv v0.17.0 [required by core]
- install ppx_sexp_message v0.17.0 [required by core]
- install ppx_sexp_value v0.17.0 [required by ppx_jane]
- install ppx_stable v0.17.0 [required by ppx_jane]
- install ppx_stable_witness v0.17.0 [required by ppx_jane]
- install ppx_string v0.17.0 [required by ppx_jane]
- install ppx_string_conv v0.17.0 [required by ppx_jane]
- install ppx_tydi v0.17.0 [required by ppx_jane]
- install ppx_typerep_conv v0.17.0 [required by ppx_jane]
- install ppx_variants_conv v0.17.0 [required by ppx_jane]
- install ppxlib 0.35.0 [required by ppx_diff]
- install ppxlib_jane v0.17.0 [required by ppx_diff]
- install protocol_version_header v0.17.0 [required by async_rpc_kernel]
- install re 1.14.0 [required by expect_test_helpers_core]
- install re2 v0.17.0 [required by sexp]
- install regex_parser_intf v0.17.0 [required by re2]
- install sexp v0.17.0
- install sexp_diff v0.17.0 [required by sexp]
- install sexp_macro v0.17.0 [required by sexp]
- install sexp_pretty v0.17.0 [required by sexp]
- install sexp_select v0.17.0 [required by sexp]
- install sexplib v0.17.0 [required by sexp]
- install sexplib0 v0.17.0 [required by base]
- install shell v0.17.0 [required by sexp]
- install spawn v0.17.0 [required by shell]
- install splittable_random v0.17.0 [required by core]
- install stdio v0.17.0 [required by core]
- install stdlib-shims 0.3.0 [required by ppxlib]
- install textutils v0.17.0 [required by async, shell]
- install time_now v0.17.0 [required by core]
- install timezone v0.17.0 [required by async_log]
- install topkg 1.1.1 [required by uutf]
- install typerep v0.17.1 [required by core]
- install uopt v0.17.0 [required by core_kernel]
- install uutf 1.0.4 [required by textutils]
- install variantslib v0.17.0 [required by core]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1 (cached)
-> retrieved async.v0.17.0 (cached)
-> retrieved async_kernel.v0.17.0 (cached)
-> retrieved async_log.v0.17.0 (cached)
-> retrieved async_rpc_kernel.v0.17.0 (cached)
-> retrieved async_unix.v0.17.0 (cached)
-> retrieved base.v0.17.3 (cached)
-> retrieved base_bigstring.v0.17.0 (cached)
-> retrieved base_quickcheck.v0.17.0 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved capitalization.v0.17.0 (cached)
-> retrieved bin_prot.v0.17.0-1 (cached)
-> retrieved core_kernel.v0.17.0 (cached)
-> retrieved core.v0.17.2 (cached)
-> installed conf-g++.1.0
-> retrieved core_unix.v0.17.1 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved cstruct.6.2.0 (cached)
-> retrieved csvfields.v0.17.0 (cached)
-> retrieved expect_test_helpers_core.v0.17.0 (cached)
-> retrieved faraday.0.8.2 (cached)
-> retrieved fieldslib.v0.17.0 (cached)
-> retrieved gel.v0.17.0 (cached)
-> retrieved fmt.0.11.0 (cached)
-> retrieved int_repr.v0.17.0 (cached)
-> retrieved jane-street-headers.v0.17.0 (cached)
-> retrieved jane_rope.v0.17.0 (cached)
-> retrieved jsonaf.v0.17.0 (cached)
-> retrieved jst-config.v0.17.0 (cached)
-> retrieved ocaml-compiler-libs.v0.17.0 (cached)
-> retrieved num.1.6 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.2 (cached)
-> retrieved ocamlbuild.0.16.1 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved parsexp.v0.17.0 (cached)
-> retrieved ppx_assert.v0.17.0 (cached)
-> retrieved ppx_base.v0.17.0 (cached)
-> retrieved ppx_bench.v0.17.0 (cached)
-> retrieved ppx_bin_prot.v0.17.0 (cached)
-> retrieved ppx_cold.v0.17.0 (cached)
-> retrieved ppx_compare.v0.17.0 (cached)
-> retrieved ppx_custom_printf.v0.17.0 (cached)
-> retrieved ppx_derivers.1.2.1 (cached)
-> retrieved ppx_disable_unused_warnings.v0.17.0 (cached)
-> retrieved ppx_diff.v0.17.0 (cached)
-> retrieved ppx_enumerate.v0.17.0 (cached)
-> retrieved ppx_expect.v0.17.2 (cached)
-> retrieved ppx_fields_conv.v0.17.0 (cached)
-> retrieved ppx_fixed_literal.v0.17.0 (cached)
-> retrieved ppx_globalize.v0.17.0 (cached)
-> retrieved ppx_hash.v0.17.0 (cached)
-> retrieved ppx_here.v0.17.0 (cached)
-> retrieved ppx_ignore_instrumentation.v0.17.0 (cached)
-> retrieved ppx_inline_test.v0.17.0 (cached)
-> retrieved ppx_jane.v0.17.0 (cached)
-> retrieved ppx_let.v0.17.0 (cached)
-> retrieved ppx_log.v0.17.0 (cached)
-> retrieved ppx_module_timer.v0.17.0 (cached)
-> retrieved ppx_optcomp.v0.17.0 (cached)
-> retrieved ppx_optional.v0.17.0 (cached)
-> retrieved ppx_pipebang.v0.17.0 (cached)
-> retrieved ppx_sexp_conv.v0.17.0 (cached)
-> retrieved ppx_sexp_message.v0.17.0 (cached)
-> retrieved ppx_sexp_value.v0.17.0 (cached)
-> retrieved ppx_stable.v0.17.0 (cached)
-> retrieved ppx_stable_witness.v0.17.0 (cached)
-> retrieved ppx_string.v0.17.0 (cached)
-> retrieved ppx_string_conv.v0.17.0 (cached)
-> retrieved ppx_tydi.v0.17.0 (cached)
-> retrieved ppx_typerep_conv.v0.17.0 (cached)
-> retrieved ppx_variants_conv.v0.17.0 (cached)
-> retrieved ppxlib_jane.v0.17.0 (cached)
-> retrieved protocol_version_header.v0.17.0 (cached)
-> retrieved re.1.14.0 (cached)
-> retrieved dune.3.23.0, dune-configurator.3.23.0 (cached)
-> installed num.1.6
-> retrieved ppxlib.0.35.0 (cached)
-> retrieved re2.v0.17.0 (cached)
-> retrieved regex_parser_intf.v0.17.0 (cached)
-> retrieved sexp_macro.v0.17.0 (https://github.com/janestreet/sexp_macro/archive/refs/tags/v0.17.0.tar.gz)
-> retrieved sexp_pretty.v0.17.0 (cached)
-> retrieved sexp.v0.17.0 (https://github.com/janestreet/sexp/archive/refs/tags/v0.17.0.tar.gz)
-> retrieved sexplib.v0.17.0 (cached)
-> retrieved sexp_diff.v0.17.0 (https://github.com/janestreet/sexp_diff/archive/refs/tags/v0.17.0.tar.gz)
-> retrieved sexplib0.v0.17.0 (cached)
-> retrieved spawn.v0.17.0 (cached)
-> retrieved splittable_random.v0.17.0 (cached)
-> retrieved stdio.v0.17.0 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved textutils.v0.17.0 (cached)
-> retrieved time_now.v0.17.0 (cached)
-> retrieved timezone.v0.17.0 (cached)
-> installed ocamlbuild.0.16.1
-> retrieved topkg.1.1.1 (cached)
-> retrieved typerep.v0.17.1 (cached)
-> retrieved uopt.v0.17.0 (cached)
-> retrieved uutf.1.0.4 (cached)
-> retrieved variantslib.v0.17.0 (cached)
-> retrieved sexp_select.v0.17.0 (https://github.com/janestreet/sexp_select/archive/refs/tags/v0.17.0.tar.gz)
-> retrieved shell.v0.17.0 (https://github.com/janestreet/shell/archive/refs/tags/v0.17.0.tar.gz)
-> installed ocamlfind.1.9.8
-> installed topkg.1.1.1
-> installed uutf.1.0.4
-> installed fmt.0.11.0
-> installed dune.3.23.0
-> installed jane-street-headers.v0.17.0
-> installed ppx_derivers.1.2.1
-> installed csexp.1.5.2
-> installed cstruct.6.2.0
-> installed ocaml-compiler-libs.v0.17.0
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml_intrinsics_kernel.v0.17.2
-> installed re.1.14.0
-> installed sexplib0.v0.17.0
-> installed spawn.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed dune-configurator.3.23.0
-> installed parsexp.v0.17.0
-> installed bigstringaf.0.10.0
-> installed faraday.0.8.2
-> installed angstrom.0.16.1
-> installed sexplib.v0.17.0
-> installed base.v0.17.3
-> installed variantslib.v0.17.0
-> installed fieldslib.v0.17.0
-> installed regex_parser_intf.v0.17.0
-> installed stdio.v0.17.0
-> installed typerep.v0.17.1
-> installed ppxlib.0.35.0
-> installed ppx_optcomp.v0.17.0
-> installed ppxlib_jane.v0.17.0
-> installed ppx_tydi.v0.17.0
-> installed ppx_cold.v0.17.0
-> installed ppx_disable_unused_warnings.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ppx_stable_witness.v0.17.0
-> installed ppx_typerep_conv.v0.17.0
-> installed ppx_variants_conv.v0.17.0
-> installed ppx_fields_conv.v0.17.0
-> installed ppx_stable.v0.17.0
-> installed ppx_ignore_instrumentation.v0.17.0
-> installed ppx_fixed_literal.v0.17.0
-> installed ppx_pipebang.v0.17.0
-> installed ppx_enumerate.v0.17.0
-> installed ppx_globalize.v0.17.0
-> installed ppx_compare.v0.17.0
-> installed ppx_optional.v0.17.0
-> installed ppx_sexp_conv.v0.17.0
-> installed ppx_let.v0.17.0
-> installed ppx_hash.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_sexp_value.v0.17.0
-> installed ppx_sexp_message.v0.17.0
-> installed ppx_custom_printf.v0.17.0
-> installed ppx_base.v0.17.0
-> installed capitalization.v0.17.0
-> installed jst-config.v0.17.0
-> installed sexp_pretty.v0.17.0
-> installed bin_prot.v0.17.0-1
-> installed ppx_string.v0.17.0
-> installed time_now.v0.17.0
-> installed ppx_bin_prot.v0.17.0
-> installed ppx_string_conv.v0.17.0
-> installed ppx_module_timer.v0.17.0
-> installed ppx_inline_test.v0.17.0
-> installed ppx_bench.v0.17.0
-> installed ppx_expect.v0.17.2
-> installed splittable_random.v0.17.0
-> installed base_quickcheck.v0.17.0
-> installed ppx_log.v0.17.0
-> installed ppx_jane.v0.17.0
-> installed uopt.v0.17.0
-> installed gel.v0.17.0
-> installed jane_rope.v0.17.0
-> installed jsonaf.v0.17.0
-> installed int_repr.v0.17.0
-> installed base_bigstring.v0.17.0
-> installed ppx_diff.v0.17.0
-> installed core.v0.17.2
-> installed csvfields.v0.17.0
-> installed protocol_version_header.v0.17.0
-> installed sexp_diff.v0.17.0
-> installed timezone.v0.17.0
-> installed expect_test_helpers_core.v0.17.0
-> installed core_kernel.v0.17.0
-> installed sexp_select.v0.17.0
-> installed async_kernel.v0.17.0
-> installed core_unix.v0.17.1
-> installed async_rpc_kernel.v0.17.0
-> installed textutils.v0.17.0
-> installed shell.v0.17.0
-> installed async_unix.v0.17.0
-> installed async_log.v0.17.0
-> installed async.v0.17.0
-> installed sexp_macro.v0.17.0
-> installed re2.v0.17.0
-> installed sexp.v0.17.0
Done.
# To update the current shell environment, run: eval $(opam env)
/
2026-05-15 10:08.53 ---> using "3a75dd508123de6299507082e849e920122051656e0b30756742069bb6e86d1e" from cache
/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
(network host)
(shell "PLACE=$(mktemp -d) && cd $PLACE && echo '(lang dune 3.17)\
\n(package\
\n (name dummy)\
\n (allow_empty true)\
\n (depends (ocaml (= 5.3.0))))' > dune-project && PATH=$HOME/.local/bin:$PATH dune pkg lock && PATH=$HOME/.local/bin:$PATH dune build"))
Solution for dune.lock
Dependencies common to all supported platforms:
- ocaml.5.3.0
- ocaml-base-compiler.5.3.0
- ocaml-compiler.5.3.0
2026-05-15 10:08.53 ---> using "94c0d2836dbfa314037fc2ae987b636b96094bbf970b69cd23ac462bd87c9121" from cache
/: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
(network host)
(shell "cd $HOME && opam source opam-ed.0.4 && cd opam-ed.0.4 && if [ -f opam ]; then mv opam opam-ed.opam; fi && echo opam-ed >> /tmp/packages-in-repo && for opam in *.opam; do echo ${opam%.opam} >> /tmp/packages-in-repo; done && sed -n 's/(name \\(.*\\))/\\1/p' < dune-project | sed 's/^[[:blank:]]*//;s/[[:blank:]]*$//' >> /tmp/packages-in-repo && while read package ; do opam show --raw ${package}.0.4 > ${package}.opam; done < /tmp/packages-in-repo && opam install --dry-run --with-test ./opam-ed.opam | sed -nE 's/(.*)- install ([^[:blank:]]*)(.*)/\\2/p' > /tmp/packages-via-opam && for opam in *.opam; do rm $opam; echo ${opam%.opam} >> /tmp/packages-locally-available; done && opam show --raw opam-ed.0.4 > opam-ed.opam && /tmp/sexp/_opam/bin/sexp change '(try (rewrite (package @X) OPAM-HEALTH-CHECK-DROP))' < dune-project | grep -v OPAM-HEALTH-CHECK-DROP > dune-project-no-pkg && mv dune-project dune-project-pkg && mv dune-project-no-pkg dune-project && echo '(lang dune 3.17)\
\n(lock_dir\
\n (repositories overlay default))\
\n\
\n(repository\
\n (name default)\
\n (url \"file:///home/opam/opam-repository\"))\
\n\
\n\
\n' > dune-workspace && echo opam-ed >> /tmp/packages-to-build && while read package ; do if grep --quiet \"^${package}\\$\" /tmp/packages-via-opam ; then echo $package >> /tmp/packages-to-build ; fi ; done < /tmp/packages-locally-available && while read package ; do opam show --raw $package > $package.opam; done < /tmp/packages-to-build && while read package ; do if [ ! -f ${package}.opam ]; then echo \"opam-version: \\\"2.0\\\"\" > ${package}.opam; fi; done < /tmp/packages-locally-available && paste -s -d , /tmp/packages-to-build > /tmp/packages-for-dune && export DUNE_CONFIG__PORTABLE_LOCK_DIR=disabled && PATH=$HOME/.local/bin:$PATH dune pkg lock || (echo \"opam-health-check: Solve failed\" && exit 1) && PATH=$HOME/.local/bin:$PATH dune show depexts 2> /tmp/depexts-from-dune && paste -s -d \" \" /tmp/depexts-from-dune > /tmp/depexts-for-apt && sudo apt-get install -y $(cat /tmp/depexts-for-apt) && grep -v dependency_hash dune.lock/lock.dune > /tmp/lock.dune && mv /tmp/lock.dune dune.lock/lock.dune && mv dune-project-pkg dune-project && PATH=$HOME/.local/bin:$PATH dune build --release --only-packages $(cat /tmp/packages-for-dune) || (echo \"opam-health-check: Build failed\" && exit 1)"))
Successfully extracted to /home/opam/opam-ed.0.4
Solution for dune.lock:
- cmdliner.1.3.0
- menhir.20260209
- menhirCST.20260209
- menhirGLR.20260209
- menhirLib.20260209
- menhirSdk.20260209
- ocaml.5.4.1
- ocaml-base-compiler.5.4.1
- ocaml-compiler.5.4.1
- ocaml-config.3
- opam-file-format.2.2.0
Reading package lists...
Building dependency tree...
Reading state information...
Solving dependencies...
0 upgraded, 0 newly installed, 0 to remove and 16 not upgraded.
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-compiler.5.4.1-8fada7bfc27a426461f28b63c34534c6/target/bin/ocamlc.opt -w -40 -w @8 -g -bin-annot -bin-annot-occurrences -I src/.opamEdMain.eobjs/byte -I /home/opam/.cache/dune/toolchains/ocaml-compiler.5.4.1-8fada7bfc27a426461f28b63c34534c6/target/lib/ocaml/unix -I ../_private/default/.pkg/cmdliner.1.3.0-1f402f0163abdd22fbb23b6195c19aa9/target/lib/cmdliner -I ../_private/default/.pkg/opam-file-format.2.2.0-09701d1b69bfe3f7f50ece8ea80f14ba/target/lib/opam-file-format -no-alias-deps -o src/.opamEdMain.eobjs/byte/dune__exe__OpamEdMain.cmo -c -impl src/opamEdMain.ml)
File "src/opamEdMain.ml", line 60, characters 8-36:
60 | try OpamParser.value_from_string s "<none>"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: OpamParser.value_from_string
Use OpamParser.FullPos.value_from_string instead.
File "src/opamEdMain.ml", line 66, characters 6-20:
66 | Printf.kprintf failwith "Invalid extra argument %S"
^^^^^^^^^^^^^^
Alert deprecated: Stdlib.Printf.kprintf
Use Printf.ksprintf instead.
File "src/opamEdMain.ml", line 125, characters 50-67:
125 | Printf.sprintf "add %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 129, characters 54-71:
129 | Printf.sprintf "replace %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 131, characters 58-75:
131 | Printf.sprintf "add-replace %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 133, characters 53-70:
133 | Printf.sprintf "append %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 135, characters 54-71:
135 | Printf.sprintf "prepend %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 143, characters 7-24:
143 | !OpamPrinter.value v1
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 144, characters 7-24:
144 | !OpamPrinter.value v2
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 147, characters 7-24:
147 | !OpamPrinter.value v1
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 148, characters 7-24:
148 | !OpamPrinter.value v2
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 150, characters 58-75:
150 | Printf.sprintf "remove-item %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 310, characters 24-41:
310 | | Get path -> Some (OpamPrinter.value (get_path path contents))
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 324, characters 27-44:
324 | let items = List.map OpamPrinter.value l in
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 331, characters 12-29:
331 | Some (OpamPrinter.items (get contents path))
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.items
Use OpamPrinter.FullPos.items instead.
File "src/opamEdMain.ml", line 361, characters 17-34:
361 | let s = OpamPrinter.value v in
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 367, characters 15-43:
367 | try OpamParser.value_from_string s f.file_name
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: OpamParser.value_from_string
Use OpamParser.FullPos.value_from_string instead.
File "src/opamEdMain.ml", line 377, characters 28-45:
377 | shell_command cmd (OpamPrinter.value v) <> None)
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 406, characters 19-40:
406 | | `Preserve -> OpamPrinter.Preserved.items txt orig.file_contents f.file_contents
^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: module OpamPrinter.Preserved
Use OpamPrinter.FullPos.Preserved instead.
File "src/opamEdMain.ml", line 407, characters 19-39:
407 | | `Reformat -> OpamPrinter.opamfile f ^ "\n"
^^^^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.opamfile
Use OpamPrinter.FullPos.opamfile instead.
File "src/opamEdMain.ml", line 408, characters 20-41:
408 | | `Canonical -> OpamPrinter.Normalise.opamfile f
^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: module OpamPrinter.Normalise
Use OpamPrinter.FullPos.Normalise instead.
File "src/opamEdMain.ml", line 417, characters 17-34:
417 | let orig = OpamParser.string txt "/dev/stdin" in
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamParser.string
Use OpamParser.FullPos.string instead.
File "src/opamEdMain.ml", line 436, characters 21-38:
436 | let orig = OpamParser.string txt file in
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamParser.string
Use OpamParser.FullPos.string instead.
File "src/opamEdMain.ml", line 459, characters 8-12:
459 | Term.(pure run $ arg_files $ arg_inplace $ arg_normalise $ arg_commands)
^^^^
Alert deprecated: Cmdliner.Term.pure
Use Term.const instead.
File "src/opamEdMain.ml", line 521, characters 2-11:
521 | Term.info "opam-ed" ~version:"0.4"
^^^^^^^^^
Alert deprecated: Cmdliner.Term.info
Use Cmd.info instead.
File "src/opamEdMain.ml", line 528, characters 12-21:
528 | let r = Term.eval (cmd, main_cmd_info) in
^^^^^^^^^
Alert deprecated: Cmdliner.Term.eval
Use Cmd.v and one of Cmd.eval* instead.
File "src/opamEdMain.ml", line 529, characters 4-13:
529 | Term.exit r
^^^^^^^^^
Alert deprecated: Cmdliner.Term.exit
Use Stdlib.exit and Cmd.eval instead.
(cd _build/default && /home/opam/.cache/dune/toolchains/ocaml-compiler.5.4.1-8fada7bfc27a426461f28b63c34534c6/target/bin/ocamlopt.opt -w -40 -w @8 -g -I src/.opamEdMain.eobjs/byte -I src/.opamEdMain.eobjs/native -I /home/opam/.cache/dune/toolchains/ocaml-compiler.5.4.1-8fada7bfc27a426461f28b63c34534c6/target/lib/ocaml/unix -I ../_private/default/.pkg/cmdliner.1.3.0-1f402f0163abdd22fbb23b6195c19aa9/target/lib/cmdliner -I ../_private/default/.pkg/opam-file-format.2.2.0-09701d1b69bfe3f7f50ece8ea80f14ba/target/lib/opam-file-format -cmi-file src/.opamEdMain.eobjs/byte/dune__exe__OpamEdMain.cmi -no-alias-deps -o src/.opamEdMain.eobjs/native/dune__exe__OpamEdMain.cmx -c -impl src/opamEdMain.ml)
File "src/opamEdMain.ml", line 60, characters 8-36:
60 | try OpamParser.value_from_string s "<none>"
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: OpamParser.value_from_string
Use OpamParser.FullPos.value_from_string instead.
File "src/opamEdMain.ml", line 66, characters 6-20:
66 | Printf.kprintf failwith "Invalid extra argument %S"
^^^^^^^^^^^^^^
Alert deprecated: Stdlib.Printf.kprintf
Use Printf.ksprintf instead.
File "src/opamEdMain.ml", line 125, characters 50-67:
125 | Printf.sprintf "add %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 129, characters 54-71:
129 | Printf.sprintf "replace %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 131, characters 58-75:
131 | Printf.sprintf "add-replace %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 133, characters 53-70:
133 | Printf.sprintf "append %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 135, characters 54-71:
135 | Printf.sprintf "prepend %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 143, characters 7-24:
143 | !OpamPrinter.value v1
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 144, characters 7-24:
144 | !OpamPrinter.value v2
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 147, characters 7-24:
147 | !OpamPrinter.value v1
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 148, characters 7-24:
148 | !OpamPrinter.value v2
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 150, characters 58-75:
150 | Printf.sprintf "remove-item %a %a" !string_of_path f !OpamPrinter.value v
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 310, characters 24-41:
310 | | Get path -> Some (OpamPrinter.value (get_path path contents))
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 324, characters 27-44:
324 | let items = List.map OpamPrinter.value l in
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 331, characters 12-29:
331 | Some (OpamPrinter.items (get contents path))
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.items
Use OpamPrinter.FullPos.items instead.
File "src/opamEdMain.ml", line 361, characters 17-34:
361 | let s = OpamPrinter.value v in
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 367, characters 15-43:
367 | try OpamParser.value_from_string s f.file_name
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: OpamParser.value_from_string
Use OpamParser.FullPos.value_from_string instead.
File "src/opamEdMain.ml", line 377, characters 28-45:
377 | shell_command cmd (OpamPrinter.value v) <> None)
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.value
Use OpamPrinter.FullPos.value instead.
File "src/opamEdMain.ml", line 406, characters 19-40:
406 | | `Preserve -> OpamPrinter.Preserved.items txt orig.file_contents f.file_contents
^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: module OpamPrinter.Preserved
Use OpamPrinter.FullPos.Preserved instead.
File "src/opamEdMain.ml", line 407, characters 19-39:
407 | | `Reformat -> OpamPrinter.opamfile f ^ "\n"
^^^^^^^^^^^^^^^^^^^^
Alert deprecated: OpamPrinter.opamfile
Use OpamPrinter.FullPos.opamfile instead.
File "src/opamEdMain.ml", line 408, characters 20-41:
408 | | `Canonical -> OpamPrinter.Normalise.opamfile f
^^^^^^^^^^^^^^^^^^^^^
Alert deprecated: module OpamPrinter.Normalise
Use OpamPrinter.FullPos.Normalise instead.
File "src/opamEdMain.ml", line 417, characters 17-34:
417 | let orig = OpamParser.string txt "/dev/stdin" in
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamParser.string
Use OpamParser.FullPos.string instead.
File "src/opamEdMain.ml", line 436, characters 21-38:
436 | let orig = OpamParser.string txt file in
^^^^^^^^^^^^^^^^^
Alert deprecated: OpamParser.string
Use OpamParser.FullPos.string instead.
File "src/opamEdMain.ml", line 459, characters 8-12:
459 | Term.(pure run $ arg_files $ arg_inplace $ arg_normalise $ arg_commands)
^^^^
Alert deprecated: Cmdliner.Term.pure
Use Term.const instead.
File "src/opamEdMain.ml", line 521, characters 2-11:
521 | Term.info "opam-ed" ~version:"0.4"
^^^^^^^^^
Alert deprecated: Cmdliner.Term.info
Use Cmd.info instead.
File "src/opamEdMain.ml", line 528, characters 12-21:
528 | let r = Term.eval (cmd, main_cmd_info) in
^^^^^^^^^
Alert deprecated: Cmdliner.Term.eval
Use Cmd.v and one of Cmd.eval* instead.
File "src/opamEdMain.ml", line 529, characters 4-13:
529 | Term.exit r
^^^^^^^^^
Alert deprecated: Cmdliner.Term.exit
Use Stdlib.exit and Cmd.eval instead.
2026-05-15 10:12.03 ---> saved as "7ca2fe84bc8f4dfcdc665a3578167695aaa1202113eab729ab636361f8f93d99"
Job succeeded