Build:
  1. 0
2024-01-29 15:19.05: New job: Voodoo prep curses.1.0.10; a96edb61d01bb1a57ae0e2a26bb0fe57
2024-01-29 15:19.05: Waiting for resource in pool OCluster
2024-01-29 19:16.54: Waiting for worker…
2024-01-29 19:17.17: Got resource from pool OCluster
2024-01-29 19:17.17: Using cache hint "docs-universe-prep-4.14.1"

To reproduce locally:

cat > prep.spec <<'END-OF-SPEC'
((build tools
        ((from ocaml/opam:debian-12-ocaml-4.14@sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef)
         (user (uid 1000) (gid 1000))
         (workdir /home/opam)
         (run (shell "sudo chown opam:opam /home/opam"))
         (run (network host)
              (shell "sudo apt-get update && sudo apt-get install -yy m4 pkg-config"))
         (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
              (network host)
              (shell "opam pin -ny https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9  && opam depext -iy voodoo-prep"))
         (run (shell "cp $(opam config var bin)/voodoo-prep /home/opam"))))
 (from ocaml/opam:debian-12-ocaml-4.14@sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo chown opam:opam /home/opam"))
 (run (shell "sudo mkdir /src"))
 (copy (src packages) (dst /src/packages))
 (copy (src repo) (dst /src/repo))
 (run (network host)
      (shell "sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam && opam init --reinit -ni"))
 (run (shell "opam repo remove default && opam repo add opam /src"))
 (copy (from (build tools)) (src /home/opam/voodoo-prep) (dst /home/opam/))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
      (network host)
      (shell "opam install dune.3.13.0"))
 (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 "(sudo apt update) && ((opam depext -viy curses.1.0.10 dune-configurator.3.13.0 dune.3.13.0 csexp.1.5.2 conf-pkg-config.3 conf-ncurses.1 2>&1 | tee ~/opam.err.log) || echo 'Failed to install all packages')"))
 (run (shell "opam exec -- ~/voodoo-prep -u curses:a96edb61d01bb1a57ae0e2a26bb0fe57"))
 (run (network host)
      (secrets (ssh_privkey (target /home/opam/.ssh/id_rsa)) (ssh_pubkey (target /home/opam/.ssh/id_rsa.pub)) (ssh_config (target /home/opam/.ssh/config)))
      (shell "(echo '0.201483') && (for DATA in prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10,curses.1.0.10-a96edb61d01bb1a57ae0e2a26bb0fe57,curses.1.0.10; do IFS=\",\"; set -- $DATA; ([ -d $1 ] || (echo \"FAILED:$2\" && mkdir -p $1 && cp ~/opam.err.log $1 && opam show $3 --raw > $1/opam)) && (shopt -s nullglob && ((tar -cvf $1.tar $1/*  && rm -R $1/* && mv $1.tar $1/content.tar) || (echo 'Empty directory'))) done) && (for DATA in prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10,curses.1.0.10-a96edb61d01bb1a57ae0e2a26bb0fe57,curses.1.0.10; do IFS=\",\"; set -- $DATA; rsync -aR --no-p ./$1 docs.ci.ocaml.org:/data/.; done) && (for DATA in prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10,curses.1.0.10-a96edb61d01bb1a57ae0e2a26bb0fe57,curses.1.0.10; do IFS=\",\"; set -- $DATA; HASH=$((sha256sum $1/content.tar | cut -d \" \" -f 1)  || echo -n 'empty'); printf \"HASHES:$2:$HASH\\n\"; done)"))
)
END-OF-SPEC

ocluster-client submit-obuilder https://github.com/ocaml/opam-repository.git 9fc3fa05d7b0bd182f65b5988f8caf2647c8f3fe --local-file prep.spec \
--pool linux-x86_64 --connect ocluster-submission.cap --cache-hint docs-universe-prep-4.14.1 \
--secret ssh_privkey:id_rsa --secret ssh_pubkey:id_rsa.pub--secret ssh_config:ssh_config

2024-01-29 19:17.17: RETRYING: 2024-01-29/151905-voodoo-prep-2053e9 Number of retries: 0 (retriable error condition)
Building on asteria.caelum.ci.dev
All commits already cached
HEAD is now at 9fc3fa05d7 [new release] dune (15 packages) (3.13.0)

(build "tools" …)

(from ocaml/opam:debian-12-ocaml-4.14@sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef)
Unable to find image 'ocaml/opam:debian-12-ocaml-4.14@sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef' locally
docker.io/ocaml/opam@sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef: Pulling from ocaml/opam
82e8c0c7d92b: Pulling fs layer
82e8c0c7d92b: Verifying Checksum
82e8c0c7d92b: Download complete
82e8c0c7d92b: Pull complete
Digest: sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef
Status: Downloaded newer image for ocaml/opam@sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef
2024-01-29 19:21.28 ---> using "1f16aa8fbc1a229ca02cdf7d8b4234eb4608a9074cec5292a9e72517b48fb577" from cache

/: (user (uid 1000) (gid 1000))

/: (workdir /home/opam)

/home/opam: (run (shell "sudo chown opam:opam /home/opam"))
2024-01-29 19:21.28 ---> using "258ae3900365106d3b475f7327e1977f1a9ae54d4b6cd6e024f1ed5ef4f3381c" from cache

/home/opam: (run (network host)
                 (shell "sudo apt-get update && sudo apt-get install -yy m4 pkg-config"))
Hit:1 http://deb.debian.org/debian bookworm InRelease
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [134 kB]
Fetched 234 kB in 0s (655 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  libpkgconf3 pkgconf pkgconf-bin
Suggested packages:
  m4-doc
The following NEW packages will be installed:
  libpkgconf3 m4 pkg-config pkgconf pkgconf-bin
0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
Need to get 392 kB of archives.
After this operation, 969 kB of additional disk space will be used.
Get:1 http://deb.debian.org/debian bookworm/main amd64 libpkgconf3 amd64 1.8.1-1 [36.1 kB]
Get:2 http://deb.debian.org/debian bookworm/main amd64 m4 amd64 1.4.19-3 [287 kB]
Get:3 http://deb.debian.org/debian bookworm/main amd64 pkgconf-bin amd64 1.8.1-1 [29.5 kB]
Get:4 http://deb.debian.org/debian bookworm/main amd64 pkgconf amd64 1.8.1-1 [25.9 kB]
Get:5 http://deb.debian.org/debian bookworm/main amd64 pkg-config amd64 1.8.1-1 [13.7 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 392 kB in 0s (1497 kB/s)
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 ... 18743 files and directories currently installed.)
Preparing to unpack .../libpkgconf3_1.8.1-1_amd64.deb ...
Unpacking libpkgconf3:amd64 (1.8.1-1) ...
Selecting previously unselected package m4.
Preparing to unpack .../archives/m4_1.4.19-3_amd64.deb ...
Unpacking m4 (1.4.19-3) ...
Selecting previously unselected package pkgconf-bin.
Preparing to unpack .../pkgconf-bin_1.8.1-1_amd64.deb ...
Unpacking pkgconf-bin (1.8.1-1) ...
Selecting previously unselected package pkgconf:amd64.
Preparing to unpack .../pkgconf_1.8.1-1_amd64.deb ...
Unpacking pkgconf:amd64 (1.8.1-1) ...
Selecting previously unselected package pkg-config:amd64.
Preparing to unpack .../pkg-config_1.8.1-1_amd64.deb ...
Unpacking pkg-config:amd64 (1.8.1-1) ...
Setting up m4 (1.4.19-3) ...
Setting up libpkgconf3:amd64 (1.8.1-1) ...
Setting up pkgconf-bin (1.8.1-1) ...
Setting up pkgconf:amd64 (1.8.1-1) ...
Setting up pkg-config:amd64 (1.8.1-1) ...
Processing triggers for libc-bin (2.36-9+deb12u3) ...
2024-01-29 19:21.28 ---> using "d64ddc7053307a6e5bac376e2af0af138c2728532db1941a0e2c7ed3dcb6923f" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
                 (network host)
                 (shell "opam pin -ny https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9  && opam depext -iy voodoo-prep"))
[voodoo: git]
[voodoo: git]
[voodoo: git]
[voodoo: git]
[voodoo: git]
[voodoo: git]
[voodoo: git]
[voodoo: git]
[voodoo] synchronised from git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9
This will pin the following packages: voodoo-prep, voodoo-lib, voodoo-gen, voodoo-do. Continue? [Y/n] y
Package voodoo-prep does not exist, create as a NEW package? [Y/n] y
[voodoo-prep.~dev: git]
[voodoo-prep.~dev: git]
[voodoo-prep.~dev: git]
[voodoo-prep.~dev: git]
[voodoo-prep.~dev: git]
[voodoo-prep.~dev: git]
[voodoo-prep.~dev: git]
[voodoo-prep.~dev: git]
[voodoo-prep.~dev] synchronised from git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9
voodoo-prep is now pinned to git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9 (version ~dev)
Package voodoo-lib does not exist, create as a NEW package? [Y/n] y
[voodoo-lib.~dev: git]
[voodoo-lib.~dev: git]
[voodoo-lib.~dev: git]
[voodoo-lib.~dev: git]
[voodoo-lib.~dev: git]
[voodoo-lib.~dev: git]
[voodoo-lib.~dev: git]
[voodoo-lib.~dev: git]
[voodoo-lib.~dev] synchronised from git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9
voodoo-lib is now pinned to git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9 (version ~dev)
Package voodoo-gen does not exist, create as a NEW package? [Y/n] y
[voodoo-gen.~dev: git]
[voodoo-gen.~dev: git]
[voodoo-gen.~dev: git]
[voodoo-gen.~dev: git]
[voodoo-gen.~dev: git]
[voodoo-gen.~dev: git]
[voodoo-gen.~dev: git]
[voodoo-gen.~dev: git]
[voodoo-gen.~dev] synchronised from git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9
voodoo-gen is now pinned to git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9 (version ~dev)
Package voodoo-do does not exist, create as a NEW package? [Y/n] y
[voodoo-do.~dev: git]
[voodoo-do.~dev: git]
[voodoo-do.~dev: git]
[voodoo-do.~dev: git]
[voodoo-do.~dev: git]
[voodoo-do.~dev: git]
[voodoo-do.~dev: git]
[voodoo-do.~dev: git]
[voodoo-do.~dev] synchronised from git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9
voodoo-do is now pinned to git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9 (version ~dev)
# Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian
# No extra OS packages requirements found.
# All required OS packages found.
# Now letting opam install the packages

<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[voodoo-prep.~dev] no changes from git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9

The following actions will be performed:
  - install ocamlbuild       0.14.3 [required by bos]
  - install cmdliner         1.2.0  [required by voodoo-prep]
  - install dune             3.13.0 [required by voodoo-prep]
  - install ocamlfind        1.9.6  [required by bos]
  - install seq              base   [required by re]
  - install stdlib-shims     0.3.0  [required by ocamlgraph]
  - install opam-file-format 2.1.6  [required by opam-format]
  - install cppo             1.6.9  [required by opam-core]
  - install topkg            1.0.7  [required by bos]
  - install re               1.11.0 [required by opam-format]
  - install ocamlgraph       2.1.0  [required by opam-core]
  - install rresult          0.7.0  [required by bos]
  - install fmt              0.9.0  [required by bos]
  - install astring          0.8.5  [required by bos]
  - install opam-core        2.1.5  [required by opam-format]
  - install logs             0.7.0  [required by bos]
  - install fpath            0.7.3  [required by voodoo-prep]
  - install opam-format      2.1.5  [required by voodoo-prep]
  - install bos              0.2.1  [required by voodoo-prep]
  - install voodoo-prep      ~dev*
===== 20 to install =====

<><> Gathering sources ><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
[astring.0.8.5] found in cache
[bos.0.2.1] found in cache
[cmdliner.1.2.0] found in cache
[cppo.1.6.9] found in cache
[dune.3.13.0] found in cache
[fmt.0.9.0] found in cache
[fpath.0.7.3] found in cache
[logs.0.7.0] found in cache
[ocamlbuild.0.14.3] found in cache
[ocamlfind.1.9.6] found in cache
[ocamlgraph.2.1.0] found in cache
[opam-core.2.1.5] found in cache
[opam-file-format.2.1.6] found in cache
[opam-format.2.1.5] found in cache
[re.1.11.0] found in cache
[rresult.0.7.0] found in cache
[stdlib-shims.0.3.0] found in cache
[topkg.1.0.7] found in cache
[voodoo-prep.~dev] synchronised from git+https://github.com/ocaml-doc/voodoo.git#67ccabec49b5f4d24147839291fcae7c19d3e8c9

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed seq.base
-> installed cmdliner.1.2.0
-> installed ocamlfind.1.9.6
-> installed ocamlbuild.0.14.3
-> installed topkg.1.0.7
-> installed rresult.0.7.0
-> installed fmt.0.9.0
-> installed astring.0.8.5
-> installed fpath.0.7.3
-> installed logs.0.7.0
-> installed dune.3.13.0
-> installed bos.0.2.1
-> installed stdlib-shims.0.3.0
-> installed opam-file-format.2.1.6
-> installed re.1.11.0
-> installed cppo.1.6.9
-> installed ocamlgraph.2.1.0
-> installed opam-core.2.1.5
-> installed opam-format.2.1.5
-> installed voodoo-prep.~dev
Done.
# Run eval $(opam env) to update the current shell environment
2024-01-29 19:21.28 ---> using "d95d2426ec6638d4946232810cc7377b78e0b12578cf93755f6aecdc254fcd78" from cache

/home/opam: (run (shell "cp $(opam config var bin)/voodoo-prep /home/opam"))
2024-01-29 19:21.28 ---> using "200b9dc9bbc6b05727626f4e73227cdcfa87e5df3b69dfe480b404d6323d60f8" from cache
2024-01-29 19:21.28 --> finished "tools"

(from ocaml/opam:debian-12-ocaml-4.14@sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef)
Unable to find image 'ocaml/opam:debian-12-ocaml-4.14@sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef' locally
docker.io/ocaml/opam@sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef: Pulling from ocaml/opam
82e8c0c7d92b: Pulling fs layer
82e8c0c7d92b: Verifying Checksum
82e8c0c7d92b: Download complete
82e8c0c7d92b: Pull complete
Digest: sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef
Status: Downloaded newer image for ocaml/opam@sha256:8e390dbf29f7a115e5c8098ffb1a3c7234a873cf738a5ae22f3a4846122db9ef
2024-01-29 19:21.28 ---> using "1f16aa8fbc1a229ca02cdf7d8b4234eb4608a9074cec5292a9e72517b48fb577" from cache

/: (user (uid 1000) (gid 1000))

/: (workdir /home/opam)

/home/opam: (run (shell "sudo chown opam:opam /home/opam"))
2024-01-29 19:21.28 ---> using "258ae3900365106d3b475f7327e1977f1a9ae54d4b6cd6e024f1ed5ef4f3381c" from cache

/home/opam: (run (shell "sudo mkdir /src"))
2024-01-29 19:21.28 ---> using "50a061015e57b489daec5893a083c81b93ec0b29b89dbcf9b55da6d4003431c6" from cache

/home/opam: (copy (src packages) (dst /src/packages))
2024-01-29 19:21.29 ---> using "01aa3de5fbb7da6355a5a3f9fa1564dc626ae86abf688775884c1ab94bb65d0b" from cache

/home/opam: (copy (src repo) (dst /src/repo))
2024-01-29 19:21.29 ---> using "2f80ca12a98e6c8d13b2d4313d2e1042fd6f790370cc08f16159385ad3fc5996" from cache

/home/opam: (run (network host)
                 (shell "sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam && opam init --reinit -ni"))
Configuring from /home/opam/.opamrc and then 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.1, 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] synchronised from file:///home/opam/opam-repository
2024-01-29 19:21.29 ---> using "5080f4d462ceb6f0e8f61edcf012437834ade0821fc592cdddca031349d9cf72" from cache

/home/opam: (run (shell "opam repo remove default && opam repo add opam /src"))
Repositories removed from the selections of switch 4.14. Use '--all' to forget about them altogether.
[opam] Initialised
[NOTE] Repository opam has been added to the selections of switch 4.14 only.
       Run `opam repository add opam --all-switches|--set-default' to use it in all existing switches, or in newly created switches, respectively.

2024-01-29 19:21.29 ---> using "52bf3f5f6e7a46ac8833cf5cd91e39754db742f33dddb3831406ffa0cde994a1" from cache

/home/opam: (copy (from (build tools))
                  (src /home/opam/voodoo-prep)
                  (dst /home/opam/))
2024-01-29 19:21.29 ---> using "e11031127d8519055a60a4dd91b72f34724cc3bc999b18218ffd0ca30feb91a0" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
                 (network host)
                 (shell "opam install dune.3.13.0"))
The following actions will be performed:
  - install dune 3.13.0

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved dune.3.13.0  (cached)
-> installed dune.3.13.0
Done.
# Run eval $(opam env) to update the current shell environment
2024-01-29 19:21.29 ---> using "650ba0493118dda305685901aae29c16985278bdb959c560215f9280518b9304" from cache

/home/opam: (env DUNE_CACHE enabled)

/home/opam: (env DUNE_CACHE_TRANSPORT direct)

/home/opam: (env DUNE_CACHE_DUPLICATION copy)

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)) (opam-dune-cache (target /home/opam/.cache/dune)))
                 (network host)
                 (shell "(sudo apt update) && ((opam depext -viy curses.1.0.10 dune-configurator.3.13.0 dune.3.13.0 csexp.1.5.2 conf-pkg-config.3 conf-ncurses.1 2>&1 | tee ~/opam.err.log) || echo 'Failed to install all packages')"))

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

Hit:1 http://deb.debian.org/debian bookworm InRelease
Get:2 http://deb.debian.org/debian bookworm-updates InRelease [52.1 kB]
Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:4 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [134 kB]
Fetched 234 kB in 1s (447 kB/s)
Reading package lists...
Building dependency tree...
Reading state information...
All packages are up to date.
Opam plugin "depext" may require upgrading/reinstalling. Reinstall the plugin on the current switch? [Y/n] y
The following actions will be performed:
  - recompile opam-depext 1.2.1-1

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved opam-depext.1.2.1-1  (cached)
-> removed   opam-depext.1.2.1-1
-> installed opam-depext.1.2.1-1
Done.

<><> opam-depext.1.2.1-1 installed successfully <><><><><><><><><><><><><><><><>
=> opam-depext is unnecessary when used with opam >= 2.1. Please use opam install directly instead
# Run eval $(opam env) to update the current shell environment

<><> Carrying on to "opam depext -viy curses.1.0.10 dune-configurator.3.13.0 dune.3.13.0 csexp.1.5.2 conf-pkg-config.3 conf-ncurses.1" 

You are using opam 2.1+, where external dependency handling has been integrated: consider calling opam directly, the 'depext' plugin interface is provided for backwards compatibility only
# Detecting depexts using vars: arch=x86_64, os=linux, os-distribution=debian, os-family=debian
# The following system packages are needed:
ncurses-dev
pkg-config
[NOTE] Package dune is already installed (current version is 3.13.0).
The following actions will be performed:
  - install csexp             1.5.2
  - install conf-pkg-config   3
  - install dune-configurator 3.13.0
  - install conf-ncurses      1
  - install curses            1.0.10
===== 5 to install =====

The following system packages will first need to be installed:
    ncurses-dev pkg-config

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>
Let opam run your package manager to install the required system packages?
(answer 'n' for other options) [Y/n] y
+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "ncurses-dev" "pkg-config"
- debconf: delaying package configuration, since apt-utils is not installed
- Selecting previously unselected package libncurses6: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 ... 18743 files and directories currently installed.)
- Preparing to unpack .../0-libncurses6_6.4-4_amd64.deb ...
- Unpacking libncurses6:amd64 (6.4-4) ...
- Selecting previously unselected package libncurses-dev:amd64.
- Preparing to unpack .../1-libncurses-dev_6.4-4_amd64.deb ...
- Unpacking libncurses-dev:amd64 (6.4-4) ...
- Selecting previously unselected package libpkgconf3:amd64.
- Preparing to unpack .../2-libpkgconf3_1.8.1-1_amd64.deb ...
- Unpacking libpkgconf3:amd64 (1.8.1-1) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../3-pkgconf-bin_1.8.1-1_amd64.deb ...
- Unpacking pkgconf-bin (1.8.1-1) ...
- Selecting previously unselected package pkgconf:amd64.
- Preparing to unpack .../4-pkgconf_1.8.1-1_amd64.deb ...
- Unpacking pkgconf:amd64 (1.8.1-1) ...
- Selecting previously unselected package pkg-config:amd64.
- Preparing to unpack .../5-pkg-config_1.8.1-1_amd64.deb ...
- Unpacking pkg-config:amd64 (1.8.1-1) ...
- Setting up libpkgconf3:amd64 (1.8.1-1) ...
- Setting up libncurses6:amd64 (6.4-4) ...
- Setting up pkgconf-bin (1.8.1-1) ...
- Setting up libncurses-dev:amd64 (6.4-4) ...
- Setting up pkgconf:amd64 (1.8.1-1) ...
- Setting up pkg-config:amd64 (1.8.1-1) ...
- Processing triggers for libc-bin (2.36-9+deb12u3) ...

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing  3/15:
Processing  4/15:
Processing  5/15:
Processing  6/15: [conf-pkg-config: pkg-config]
-> retrieved csexp.1.5.2  (cached)
Processing  7/15: [conf-pkg-config: pkg-config] [csexp: dune build]
-> retrieved curses.1.0.10  (cached)
-> retrieved dune-configurator.3.13.0  (cached)
- usage: pkgconf [OPTIONS] [LIBRARIES]
- 
- basic options:
- 
-   --help                            this message
-   --about                           print pkgconf version and license to stdout
-   --version                         print supported pkg-config version to stdout
-   --atleast-pkgconfig-version       check whether or not pkgconf is compatible
-                                     with a specified pkg-config version
-   --errors-to-stdout                print all errors on stdout instead of stderr
-   --print-errors                    ensure all errors are printed
-   --short-errors                    be less verbose about some errors
-   --silence-errors                  explicitly be silent about errors
-   --list-all                        list all known packages
-   --list-package-names              list all known package names
-   --simulate                        simulate walking the calculated dependency graph
-   --no-cache                        do not cache already seen packages when
-                                     walking the dependency graph
-   --log-file=filename               write an audit log to a specified file
-   --with-path=path                  adds a directory to the search path
-   --define-prefix                   override the prefix variable with one that is guessed based on
-                                     the location of the .pc file
-   --dont-define-prefix              do not override the prefix variable under any circumstances
-   --prefix-variable=varname         sets the name of the variable that pkgconf considers
-                                     to be the package prefix
-   --relocate=path                   relocates a path and exits (mostly for testsuite)
-   --dont-relocate-paths             disables path relocation support
- 
- cross-compilation personality support:
- 
-   --personality=triplet|filename    sets the personality to 'triplet' or a file named 'filename'
-   --dump-personality                dumps details concerning selected personality
- 
- checking specific pkg-config database entries:
- 
-   --atleast-version                 require a specific version of a module
-   --exact-version                   require an exact version of a module
-   --max-version                     require a maximum version of a module
-   --exists                          check whether or not a module exists
-   --uninstalled                     check whether or not an uninstalled module will be used
-   --no-uninstalled                  never use uninstalled modules when satisfying dependencies
-   --no-provides                     do not use 'provides' rules to resolve dependencies
-   --maximum-traverse-depth          maximum allowed depth for dependency graph
-   --static                          be more aggressive when computing dependency graph
-                                     (for static linking)
-   --shared                          use a simplified dependency graph (usually default)
-   --pure                            optimize a static dependency graph as if it were a normal
-                                     dependency graph
-   --env-only                        look only for package entries in PKG_CONFIG_PATH
-   --ignore-conflicts                ignore 'conflicts' rules in modules
-   --validate                        validate specific .pc files for correctness
- 
- querying specific pkg-config database fields:
- 
-   --define-variable=varname=value   define variable 'varname' as 'value'
-   --variable=varname                print specified variable entry to stdout
-   --cflags                          print required CFLAGS to stdout
-   --cflags-only-I                   print required include-dir CFLAGS to stdout
-   --cflags-only-other               print required non-include-dir CFLAGS to stdout
-   --libs                            print required linker flags to stdout
-   --libs-only-L                     print required LDPATH linker flags to stdout
-   --libs-only-l                     print required LIBNAME linker flags to stdout
-   --libs-only-other                 print required other linker flags to stdout
-   --print-requires                  print required dependency frameworks to stdout
-   --print-requires-private          print required dependency frameworks for static
-                                     linking to stdout
-   --print-provides                  print provided dependencies to stdout
-   --print-variables                 print all known variables in module to stdout
-   --digraph                         print entire dependency graph in graphviz 'dot' format
-   --keep-system-cflags              keep -I/usr/include entries in cflags output
-   --keep-system-libs                keep -L/lib:/lib/i386-linux-gnu:/lib/x86_64-linux-gnu:/lib/x86_64-linux-gnux32:/lib32:/libx32:/usr/lib:/usr/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnux32:/usr/lib32:/usr/libx32 entries in libs output
-   --path                            show the exact filenames for any matching .pc files
-   --modversion                      print the specified module's version to stdout
-   --internal-cflags                 do not filter 'internal' cflags from output
- 
- filtering output:
- 
-   --msvc-syntax                     print translatable fragments in MSVC syntax
-   --fragment-filter=types           filter output fragments to the specified types
- 
- report bugs to <https://github.com/pkgconf/pkgconf/issues/new>.
-> compiled  conf-pkg-config.3
Processing  7/15: [csexp: dune build]
-> installed conf-pkg-config.3
Processing  8/15: [csexp: dune build]
Processing  9/15: [conf-ncurses: pkg-config ncurses] [csexp: dune build]
-> compiled  csexp.1.5.2
Processing  9/15: [conf-ncurses: pkg-config ncurses]
-> installed csexp.1.5.2
Processing 10/15: [conf-ncurses: pkg-config ncurses]
Processing 11/15: [conf-ncurses: pkg-config ncurses] [dune-configurator: rm]
-> compiled  conf-ncurses.1
Processing 11/15: [dune-configurator: rm]
-> installed conf-ncurses.1
Processing 12/15: [dune-configurator: rm]
+ /usr/bin/rm "-rf" "vendor/csexp" (CWD=/home/opam/.opam/4.14/.opam-switch/build/dune-configurator.3.13.0)
+ /usr/bin/rm "-rf" "vendor/pp" (CWD=/home/opam/.opam/4.14/.opam-switch/build/dune-configurator.3.13.0)
Processing 12/15: [dune-configurator: dune build]
+ /home/opam/.opam/4.14/bin/dune "build" "-p" "dune-configurator" "-j" "255" "@install" (CWD=/home/opam/.opam/4.14/.opam-switch/build/dune-configurator.3.13.0)
-> compiled  dune-configurator.3.13.0
-> installed dune-configurator.3.13.0
Processing 14/15: [curses: dune build]
+ /home/opam/.opam/4.14/bin/dune "build" "-p" "curses" "-j" "255" "@install" (CWD=/home/opam/.opam/4.14/.opam-switch/build/curses.1.0.10)
- (cd _build/default && /usr/bin/gcc -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC -D_FILE_OFFSET_BITS=64 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DHAVE_CONFIG_H -g -I /home/opam/.opam/4.14/lib/ocaml -o ml_curses.o -c ml_curses.c)
- ml_curses.c: In function 'putc_callback':
- ml_curses.c:203:13: warning: "callback_exn" is deprecated: use "caml_callback_exn" instead
-   203 |   ret=callback_exn(putc_function,Val_int(c&255));
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                              
- In file included from ml_curses.c:216:
- functions.c: In function 'mlcurses_addchstr':
- functions.c:19:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-    19 | BEG1 copie(Wosize_val(aa),0,aa) call(addchstr(t)) END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                  
- functions.c: In function 'mlcurses_waddchstr':
- functions.c:21:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-    21 | BEG2 copie(Wosize_val(ab),0,ab) call(waddchstr(a_window(aa),t)) END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
- functions.c: In function 'mlcurses_mvaddchstr':
- functions.c:23:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-    23 | BEG3 copie(Wosize_val(ac),0,ac) call(mvaddchstr(a_int(aa),a_int(ab),t)) END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- functions.c: In function 'mlcurses_mvwaddchstr':
- functions.c:25:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-    25 | BEG4 copie(Wosize_val(ad),0,ad)
-       |             ^~~~~~~~~~~~~~~~~~~                                        
- functions.c: In function 'mlcurses_addchnstr':
- functions.c:29:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-    29 |   copie(Int_val(ac),i0,aa)
-       |             ^~~~~~~~~~~~~~                                             
- functions.c: In function 'mlcurses_waddchnstr':
- functions.c:33:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-    33 |   copie(Int_val(ad),i0,ab)
-       |             ^~~~~~~~~~~~~~                                             
- functions.c: In function 'mlcurses_mvaddchnstr':
- functions.c:37:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-    37 |   copie(Int_val(ae),i0,ac)
-       |             ^~~~~~~~~~~~~~                                             
- functions.c: In function 'mlcurses_mvwaddchnstr_native':
- functions.c:41:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-    41 |   copie(Int_val(af),i0,ad)
-       |             ^~~~~~~~~~~~~~                                             
- functions.c: In function 'mlcurses_color_content':
- functions.c:162:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   162 |   x=y=z=-1; r_int_int_int(x,y,z); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~                                        
- functions.c: In function 'mlcurses_pair_content':
- functions.c:165:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   165 |   r_int_int(x,y); END
-       |             ^~~~~~~~~                                                        
- functions.c: In function 'mlcurses_getstr':
- functions.c:195:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   195 | BEG1 r_err(getnstr(a_string(aa),string_length(aa))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                         
- In file included from ml_curses.c:7:
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 2 of 'wgetnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:195:6: note: in expansion of macro 'r_err'
-   195 | BEG1 r_err(getnstr(a_string(aa),string_length(aa))); END
-       |      ^~~~~
- ml_curses.c:88:25: note: in expansion of macro 'String_val'
-    88 | #define a_string(a)     String_val(a)
-       |                         ^~~~~~~~~~
- functions.c:195:20: note: in expansion of macro 'a_string'
-   195 | BEG1 r_err(getnstr(a_string(aa),string_length(aa))); END
-       |                    ^~~~~~~~
- In file included from ml_curses.c:22:
- /usr/include/curses.h:853:47: note: expected 'char *' but argument is of type 'const char *'
-   853 | extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);              /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_wgetstr':
- functions.c:197:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   197 | BEG2 r_err(wgetnstr(a_window(aa),a_string(ab),string_length(ab))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 2 of 'wgetnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:197:6: note: in expansion of macro 'r_err'
-   197 | BEG2 r_err(wgetnstr(a_window(aa),a_string(ab),string_length(ab))); END
-       |      ^~~~~
- ml_curses.c:88:25: note: in expansion of macro 'String_val'
-    88 | #define a_string(a)     String_val(a)
-       |                         ^~~~~~~~~~
- functions.c:197:34: note: in expansion of macro 'a_string'
-   197 | BEG2 r_err(wgetnstr(a_window(aa),a_string(ab),string_length(ab))); END
-       |                                  ^~~~~~~~
- /usr/include/curses.h:853:47: note: expected 'char *' but argument is of type 'const char *'
-   853 | extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);              /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_mvgetstr':
- functions.c:199:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   199 | BEG3 r_err(mvgetnstr(a_int(aa),a_int(ab),a_string(ac),string_length(ac))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 2 of 'wgetnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:199:6: note: in expansion of macro 'r_err'
-   199 | BEG3 r_err(mvgetnstr(a_int(aa),a_int(ab),a_string(ac),string_length(ac))); END
-       |      ^~~~~
- ml_curses.c:88:25: note: in expansion of macro 'String_val'
-    88 | #define a_string(a)     String_val(a)
-       |                         ^~~~~~~~~~
- functions.c:199:42: note: in expansion of macro 'a_string'
-   199 | BEG3 r_err(mvgetnstr(a_int(aa),a_int(ab),a_string(ac),string_length(ac))); END
-       |                                          ^~~~~~~~
- /usr/include/curses.h:853:47: note: expected 'char *' but argument is of type 'const char *'
-   853 | extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);              /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_mvwgetstr':
- functions.c:202:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   202 |   string_length(ad))); END
-       |             ^~~~~~~~~~~~~~                                                       
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 2 of 'wgetnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:201:6: note: in expansion of macro 'r_err'
-   201 | BEG4 r_err(mvwgetnstr(a_window(aa),a_int(ab),a_int(ac),a_string(ad),
-       |      ^~~~~
- ml_curses.c:88:25: note: in expansion of macro 'String_val'
-    88 | #define a_string(a)     String_val(a)
-       |                         ^~~~~~~~~~
- functions.c:201:56: note: in expansion of macro 'a_string'
-   201 | BEG4 r_err(mvwgetnstr(a_window(aa),a_int(ab),a_int(ac),a_string(ad),
-       |                                                        ^~~~~~~~
- /usr/include/curses.h:853:47: note: expected 'char *' but argument is of type 'const char *'
-   853 | extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);              /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_getnstr':
- functions.c:204:32: warning: passing argument 2 of 'wgetnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   204 | BEG3 r_err(getnstr(a_string(aa)+a_int(ab),a_int(ac))); END
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:204:6: note: in expansion of macro 'r_err'
-   204 | BEG3 r_err(getnstr(a_string(aa)+a_int(ab),a_int(ac))); END
-       |      ^~~~~
- /usr/include/curses.h:853:47: note: expected 'char *' but argument is of type 'const char *'
-   853 | extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);              /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_wgetnstr':
- functions.c:206:46: warning: passing argument 2 of 'wgetnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   206 | BEG4 r_err(wgetnstr(a_window(aa),a_string(ab)+a_int(ac),a_int(ad))); END
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:206:6: note: in expansion of macro 'r_err'
-   206 | BEG4 r_err(wgetnstr(a_window(aa),a_string(ab)+a_int(ac),a_int(ad))); END
-       |      ^~~~~
- /usr/include/curses.h:853:47: note: expected 'char *' but argument is of type 'const char *'
-   853 | extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);              /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_mvgetnstr':
- functions.c:208:54: warning: passing argument 2 of 'wgetnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   208 | BEG5 r_err(mvgetnstr(a_int(aa),a_int(ab),a_string(ac)+a_int(ad),
-       |                                                      ^
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:208:6: note: in expansion of macro 'r_err'
-   208 | BEG5 r_err(mvgetnstr(a_int(aa),a_int(ab),a_string(ac)+a_int(ad),
-       |      ^~~~~
- /usr/include/curses.h:853:47: note: expected 'char *' but argument is of type 'const char *'
-   853 | extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);              /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_mvwgetnstr_native':
- functions.c:211:68: warning: passing argument 2 of 'wgetnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   211 | BEG6 r_err(mvwgetnstr(a_window(aa),a_int(ab),a_int(ac),a_string(ad)+a_int(ae),
-       |                                                                    ^
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:211:6: note: in expansion of macro 'r_err'
-   211 | BEG6 r_err(mvwgetnstr(a_window(aa),a_int(ab),a_int(ac),a_string(ad)+a_int(ae),
-       |      ^~~~~
- /usr/include/curses.h:853:47: note: expected 'char *' but argument is of type 'const char *'
-   853 | extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);              /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_getyx':
- functions.c:217:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   217 | BEG1 int x,y; getyx(a_window(aa),y,x); r_int_int(y,x); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                   
- functions.c: In function 'mlcurses_getparyx':
- functions.c:219:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   219 | BEG1 int x,y; getparyx(a_window(aa),y,x); r_int_int(y,x); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
- functions.c: In function 'mlcurses_getbegyx':
- functions.c:221:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   221 | BEG1 int x,y; getbegyx(a_window(aa),y,x); r_int_int(y,x); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
- functions.c: In function 'mlcurses_getmaxyx':
- functions.c:223:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   223 | BEG1 int x,y; getmaxyx(a_window(aa),y,x); r_int_int(y,x); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
- functions.c: In function 'mlcurses_newterm':
- functions.c:296:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   296 |   r=alloc_tuple(3);
-       |             ^~~~~~~                                                          
- functions.c:300:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   300 |   if(s==NULL){ fclose(fa); fclose(fb); failwith("newterm"); }
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~          
- functions.c: In function 'mlcurses_insstr':
- functions.c:316:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   316 | BEG1 r_err(insnstr(a_string(aa),string_length(aa))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                         
- functions.c: In function 'mlcurses_winsstr':
- functions.c:318:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   318 | BEG2 r_err(winsnstr(a_window(aa),a_string(ab),string_length(ab))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           
- functions.c: In function 'mlcurses_mvinsstr':
- functions.c:320:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   320 | BEG3 r_err(mvinsnstr(a_int(aa),a_int(ab),a_string(ac),string_length(ac))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~   
- functions.c: In function 'mlcurses_mvwinsstr':
- functions.c:323:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   323 |   a_string(ad),string_length(ad))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~                                          
- functions.c: In function 'mlcurses_instr':
- functions.c:337:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   337 | BEG1 r_err(innstr(a_string(aa),string_length(aa))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                          
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 2 of 'winnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:337:6: note: in expansion of macro 'r_err'
-   337 | BEG1 r_err(innstr(a_string(aa),string_length(aa))); END
-       |      ^~~~~
- ml_curses.c:88:25: note: in expansion of macro 'String_val'
-    88 | #define a_string(a)     String_val(a)
-       |                         ^~~~~~~~~~
- functions.c:337:19: note: in expansion of macro 'a_string'
-   337 | BEG1 r_err(innstr(a_string(aa),string_length(aa))); END
-       |                   ^~~~~~~~
- /usr/include/curses.h:859:47: note: expected 'char *' but argument is of type 'const char *'
-   859 | extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);             /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_winstr':
- functions.c:339:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   339 | BEG2 r_err(winnstr(a_window(aa),a_string(ab),string_length(ab))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~            
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 2 of 'winnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:339:6: note: in expansion of macro 'r_err'
-   339 | BEG2 r_err(winnstr(a_window(aa),a_string(ab),string_length(ab))); END
-       |      ^~~~~
- ml_curses.c:88:25: note: in expansion of macro 'String_val'
-    88 | #define a_string(a)     String_val(a)
-       |                         ^~~~~~~~~~
- functions.c:339:33: note: in expansion of macro 'a_string'
-   339 | BEG2 r_err(winnstr(a_window(aa),a_string(ab),string_length(ab))); END
-       |                                 ^~~~~~~~
- /usr/include/curses.h:859:47: note: expected 'char *' but argument is of type 'const char *'
-   859 | extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);             /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_mvinstr':
- functions.c:341:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   341 | BEG3 r_err(mvinnstr(a_int(aa),a_int(ab),a_string(ac),string_length(ac))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 2 of 'winnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:341:6: note: in expansion of macro 'r_err'
-   341 | BEG3 r_err(mvinnstr(a_int(aa),a_int(ab),a_string(ac),string_length(ac))); END
-       |      ^~~~~
- ml_curses.c:88:25: note: in expansion of macro 'String_val'
-    88 | #define a_string(a)     String_val(a)
-       |                         ^~~~~~~~~~
- functions.c:341:41: note: in expansion of macro 'a_string'
-   341 | BEG3 r_err(mvinnstr(a_int(aa),a_int(ab),a_string(ac),string_length(ac))); END
-       |                                         ^~~~~~~~
- /usr/include/curses.h:859:47: note: expected 'char *' but argument is of type 'const char *'
-   859 | extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);             /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_mvwinstr':
- functions.c:344:13: warning: "string_length" is deprecated: use "caml_string_length" instead
-   344 |   a_string(ad),string_length(ad))); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~                                          
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 2 of 'winnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:343:6: note: in expansion of macro 'r_err'
-   343 | BEG4 r_err(mvwinnstr(a_window(aa),a_int(ab),a_int(ac),
-       |      ^~~~~
- ml_curses.c:88:25: note: in expansion of macro 'String_val'
-    88 | #define a_string(a)     String_val(a)
-       |                         ^~~~~~~~~~
- functions.c:344:3: note: in expansion of macro 'a_string'
-   344 |   a_string(ad),string_length(ad))); END
-       |   ^~~~~~~~
- /usr/include/curses.h:859:47: note: expected 'char *' but argument is of type 'const char *'
-   859 | extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);             /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_innstr':
- functions.c:346:31: warning: passing argument 2 of 'winnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   346 | BEG3 r_err(innstr(a_string(aa)+a_int(ab),a_int(ac))); END
-       |                               ^
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:346:6: note: in expansion of macro 'r_err'
-   346 | BEG3 r_err(innstr(a_string(aa)+a_int(ab),a_int(ac))); END
-       |      ^~~~~
- /usr/include/curses.h:859:47: note: expected 'char *' but argument is of type 'const char *'
-   859 | extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);             /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_winnstr':
- functions.c:348:45: warning: passing argument 2 of 'winnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   348 | BEG4 r_err(winnstr(a_window(aa),a_string(ab)+a_int(ac),a_int(ad))); END
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:348:6: note: in expansion of macro 'r_err'
-   348 | BEG4 r_err(winnstr(a_window(aa),a_string(ab)+a_int(ac),a_int(ad))); END
-       |      ^~~~~
- /usr/include/curses.h:859:47: note: expected 'char *' but argument is of type 'const char *'
-   859 | extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);             /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_mvinnstr':
- functions.c:350:53: warning: passing argument 2 of 'winnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   350 | BEG5 r_err(mvinnstr(a_int(aa),a_int(ab),a_string(ac)+a_int(ad),a_int(ae))); END
-       |                                                     ^
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:350:6: note: in expansion of macro 'r_err'
-   350 | BEG5 r_err(mvinnstr(a_int(aa),a_int(ab),a_string(ac)+a_int(ad),a_int(ae))); END
-       |      ^~~~~
- /usr/include/curses.h:859:47: note: expected 'char *' but argument is of type 'const char *'
-   859 | extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);             /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_mvwinnstr_native':
- functions.c:353:15: warning: passing argument 2 of 'winnstr' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   353 |   a_string(ad)+a_int(ae),a_int(af))); END
-       |               ^
- /home/opam/.opam/4.14/lib/ocaml/caml/memory.h:462:29: note: in definition of macro 'CAMLreturnT'
-   462 |   type caml__temp_result = (result); \
-       |                             ^~~~~~
- ml_curses.c:51:25: note: in expansion of macro 'CAMLreturn'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                         ^~~~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:79:20: note: in expansion of macro 'Val_long'
-    79 | #define Val_int(x) Val_long(x)
-       |                    ^~~~~~~~
- /home/opam/.opam/4.14/lib/ocaml/caml/mlvalues.h:387:21: note: in expansion of macro 'Val_int'
-   387 | #define Val_bool(x) Val_int((x) != 0)
-       |                     ^~~~~~~
- ml_curses.c:51:36: note: in expansion of macro 'Val_bool'
-    51 | #define r_err(f)        CAMLreturn(Val_bool((f)!=ERR))
-       |                                    ^~~~~~~~
- functions.c:352:6: note: in expansion of macro 'r_err'
-   352 | BEG6 r_err(mvwinnstr(a_window(aa),a_int(ab),a_int(ac),
-       |      ^~~~~
- /usr/include/curses.h:859:47: note: expected 'char *' but argument is of type 'const char *'
-   859 | extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);             /* implemented */
-       |                                               ^~~~~~
- functions.c: In function 'mlcurses_getsyx':
- functions.c:387:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   387 | BEG0 int x = 0, y = 0; getsyx(y,x); r_int_int(y,x); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                      
- functions.c: In function 'mlcurses_get_ripoff':
- functions.c:395:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   395 | BEG0 if(ripoff_niv==0) failwith("get_ripoff"); ripoff_niv--;
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~           
- functions.c:396:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   396 |   r_window_int(ripoff_w[ripoff_niv],ripoff_l[ripoff_niv]); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~               
- functions.c: In function 'mlcurses_mousemask':
- functions.c:403:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   403 | BEG1 mmask_t r=1234,n=Int_val(aa); n=mousemask(n,&r); r_int_int(n,r); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    
- functions.c: In function 'mlcurses_slk_label':
- functions.c:483:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   483 | ML1(slk_label,string,int)
-       |             ^~~~~~~~~~~~~                                              
- functions.c:483:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
-   483 | ML1(slk_label,string,int)
-       |             ^~~~~~~~~~~~~                                                    
- functions.c: In function 'mlcurses_longname':
- functions.c:498:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   498 | ML0(longname,string)
-       |             ^~~~~~~~                                                   
- functions.c:498:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
-   498 | ML0(longname,string)
-       |             ^~~~~~~~                                                         
- functions.c: In function 'mlcurses_termname':
- functions.c:500:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   500 | ML0(termname,string)
-       |             ^~~~~~~~                                                   
- functions.c:500:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
-   500 | ML0(termname,string)
-       |             ^~~~~~~~                                                         
- functions.c: In function 'mlcurses_tgetstr':
- functions.c:509:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   509 | BEG1 r_string(tgetstr(String_val(aa),NULL)); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                       
- functions.c:509:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
-   509 | BEG1 r_string(tgetstr(String_val(aa),NULL)); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                             
- functions.c: In function 'mlcurses_tgoto':
- functions.c:510:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   510 | ML3(tgoto,string,string,int,int)
-       |             ^~~~~~~~~~~~~~~~~~~~                                       
- functions.c:510:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
-   510 | ML3(tgoto,string,string,int,int)
-       |             ^~~~~~~~~~~~~~~~~~~~                                             
- functions.c: In function 'mlcurses_tigetstr':
- functions.c:531:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   531 |   if((s==NULL)||(s==(char * )-1)) failwith("tigetstr");
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                
- functions.c:532:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
-   532 |   CAMLreturn(copy_string(s)); END
-       |             ^~~~~~~~~~~~~~~~~~~~~                                            
- functions.c: In function 'mlcurses_tparm':
- functions.c:555:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   555 |     t[5],t[6],t[7],t[8],t[9])); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~                                    
- functions.c:555:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
-   555 |     t[5],t[6],t[7],t[8],t[9])); END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~                                          
- functions.c: In function 'mlcurses_bool_terminfo_variable':
- functions.c:576:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   576 | ML1d(bool_terminfo_variable,string*string*string,int) BEG1 arrayret(bool) END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- functions.c:576:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c:576:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c:576:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c:576:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c: In function 'mlcurses_num_terminfo_variable':
- functions.c:577:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   577 | ML1d(num_terminfo_variable,string*string*string,int) BEG1 arrayret(num) END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
- functions.c:577:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c:577:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c:577:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c:577:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c: In function 'mlcurses_str_terminfo_variable':
- functions.c:578:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   578 | ML1d(str_terminfo_variable,string*string*string,int) BEG1 arrayret(str) END
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  
- functions.c:578:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c:578:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c:578:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c:578:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
- functions.c: In function 'mlcurses_unctrl':
- functions.c:596:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   596 | ML1(unctrl,string,chtype)
-       |             ^~~~~~~~~~~~~                                              
- functions.c:596:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
-   596 | ML1(unctrl,string,chtype)
-       |             ^~~~~~~~~~~~~                                                    
- functions.c: In function 'mlcurses_keyname':
- functions.c:597:13: warning: "failwith" is deprecated: use "caml_failwith" instead
-   597 | ML1(keyname,string,int)
-       |             ^~~~~~~~~~~                                                
- functions.c:597:13: warning: "copy_string" is deprecated: use "caml_copy_string" instead
-   597 | ML1(keyname,string,int)
-       |             ^~~~~~~~~~~                                                      
- functions.c: In function 'mlcurses_get_acs_codes':
- functions.c:628:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   628 |   tr=alloc_tuple(32);
-       |             ^~~~~~~~~                                                        
- functions.c: In function 'mlcurses_get_size':
- functions.c:657:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   657 |   r_int_int(ws.ws_row,ws.ws_col);
-       |             ^~~~~~~~~~~~~~~~~~~~~                                            
- functions.c: In function 'mlcurses_get_size_fd':
- functions.c:671:13: warning: "alloc_tuple" is deprecated: use "caml_alloc_tuple" instead
-   671 |   r_int_int(ws.ws_row,ws.ws_col);
-       |             ^~~~~~~~~~~~~~~~~~~~~                                            
- ml_curses.c: In function 'mlcurses_getch':
- ml_curses.c:226:13: warning: "enter_blocking_section" is deprecated: use "caml_enter_blocking_section" instead
-   226 |    enter_blocking_section();
-       |             ^~~~~~~~~~~~~~~~                                                                       
- ml_curses.c:228:13: warning: "leave_blocking_section" is deprecated: use "caml_leave_blocking_section" instead
-   228 |    leave_blocking_section();
-       |             ^~~~~~~~~~~~~~~~                                                                       
- ml_curses.c: In function 'mlcurses_wgetch':
- ml_curses.c:243:13: warning: "enter_blocking_section" is deprecated: use "caml_enter_blocking_section" instead
-   243 |    enter_blocking_section();
-       |             ^~~~~~~~~~~~~~~~                                                                       
- ml_curses.c:245:13: warning: "leave_blocking_section" is deprecated: use "caml_leave_blocking_section" instead
-   245 |    leave_blocking_section();
-       |             ^~~~~~~~~~~~~~~~                                                                       
-> compiled  curses.1.0.10
-> installed curses.1.0.10
Done.
# Run eval $(opam env) to update the current shell environment
2024-01-29 19:22.32 ---> saved as "8ffb0cb345fc1790b220d1f12c961eefff11ccb556067bb544faf9a95dfdf4bb"

/home/opam: (run (shell "opam exec -- ~/voodoo-prep -u curses:a96edb61d01bb1a57ae0e2a26bb0fe57"))
2024-01-29 19:22.33 ---> saved as "dd62e6091ed1204f837c14c34339374b771fa15eecf382590944638ac2f99351"

/home/opam: (run (network host)
                 (secrets (ssh_privkey (target /home/opam/.ssh/id_rsa)) (ssh_pubkey (target /home/opam/.ssh/id_rsa.pub)) (ssh_config (target /home/opam/.ssh/config)))
                 (shell "(echo '0.201483') && (for DATA in prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10,curses.1.0.10-a96edb61d01bb1a57ae0e2a26bb0fe57,curses.1.0.10; do IFS=\",\"; set -- $DATA; ([ -d $1 ] || (echo \"FAILED:$2\" && mkdir -p $1 && cp ~/opam.err.log $1 && opam show $3 --raw > $1/opam)) && (shopt -s nullglob && ((tar -cvf $1.tar $1/*  && rm -R $1/* && mv $1.tar $1/content.tar) || (echo 'Empty directory'))) done) && (for DATA in prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10,curses.1.0.10-a96edb61d01bb1a57ae0e2a26bb0fe57,curses.1.0.10; do IFS=\",\"; set -- $DATA; rsync -aR --no-p ./$1 docs.ci.ocaml.org:/data/.; done) && (for DATA in prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10,curses.1.0.10-a96edb61d01bb1a57ae0e2a26bb0fe57,curses.1.0.10; do IFS=\",\"; set -- $DATA; HASH=$((sha256sum $1/content.tar | cut -d \" \" -f 1)  || echo -n 'empty'); printf \"HASHES:$2:$HASH\\n\"; done)"))
0.201483
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/doc/
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/doc/curses/
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/doc/curses/CHANGES
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/doc/curses/README.md
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/lib/
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/lib/curses/
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/lib/curses/curses.ocamlobjinfo
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/lib/curses/META
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/lib/curses/curses.cmi
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/lib/curses/curses.cmt
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/lib/curses/curses.cmti
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/lib/curses/dune-package
prep/universes/a96edb61d01bb1a57ae0e2a26bb0fe57/curses/1.0.10/opam
Warning: Permanently added '[docs.ci.ocaml.org]:2222' (ED25519) to the list of known hosts.
HASHES:curses.1.0.10-a96edb61d01bb1a57ae0e2a26bb0fe57:5a897b6e82232d2157069a5c59dcd52694590cef49e837e8aefcb30e65592a01
2024-01-29 19:22.33 ---> saved as "d1983ff8b087568201e362978cfae17e84aac4673a0f497a773d2689ab79a3ef"
Job succeeded
2024-01-29 19:29.37: curses.1.0.10-a96edb61d01bb1a57ae0e2a26bb0fe57 -> 5a897b6e82232d2157069a5c59dcd52694590cef49e837e8aefcb30e65592a01
2024-01-29 19:29.37: Job succeeded