(for PR #28222)

2025-07-22 12:24.48: New job: test sihl-user.3.0.2 with lwt.6.0.0~alpha01, using opam 2.3
                              from https://github.com/ocaml/opam-repository.git#refs/pull/28222/head (381d421c95f23c7e41d7bd80fe4ee0fa7b4fca2f)
                              on debian-12-ocaml-4.14/amd64

To reproduce locally:

cd $(mktemp -d)
git clone --recursive "https://github.com/ocaml/opam-repository.git" && cd "opam-repository" && git fetch origin "refs/pull/28222/head" && git reset --hard 381d421c
git fetch origin master
git merge --no-edit 14fd69dba01fe02a6cbf63a81a67897e0f52cbfc
cat > ../Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-12-ocaml-4.14@sha256:4216ef78f0a2edc0e9ef5d391d2d742bcfb67b1d97dcc5502a71bcab91cf7cca
USER 1000:1000
WORKDIR /home/opam
RUN sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam
RUN opam init --reinit -ni
RUN opam option solver=builtin-0install && opam config report
ENV OPAMDOWNLOADJOBS="1"
ENV OPAMERRLOGLEN="0"
ENV OPAMPRECISETRACKING="1"
ENV CI="true"
ENV OPAM_REPO_CI="true"
RUN rm -rf opam-repository/
COPY --chown=1000:1000 . opam-repository/
RUN opam repository set-url --strict default opam-repository/
RUN opam update --depexts || true
RUN opam pin add -k version -yn lwt.6.0.0~alpha01 6.0.0~alpha01
RUN opam reinstall lwt.6.0.0~alpha01; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-12\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'lwt.6.0.0~alpha01' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN opam reinstall sihl-user.3.0.2; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-12\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'sihl-user.3.0.2' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1
RUN (opam reinstall --with-test sihl-user.3.0.2) || true
RUN opam reinstall --with-test --verbose sihl-user.3.0.2; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-12\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'sihl-user.3.0.2' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1

END-OF-DOCKERFILE
docker build -f ../Dockerfile .

2025-07-22 12:24.48: Using cache hint "ocaml/opam:debian-12-ocaml-4.14@sha256:4216ef78f0a2edc0e9ef5d391d2d742bcfb67b1d97dcc5502a71bcab91cf7cca-lwt.6.0.0~alpha01-sihl-user.3.0.2-381d421c95f23c7e41d7bd80fe4ee0fa7b4fca2f"
2025-07-22 12:24.48: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-4.14@sha256:4216ef78f0a2edc0e9ef5d391d2d742bcfb67b1d97dcc5502a71bcab91cf7cca)
 (user (uid 1000) (gid 1000))
 (workdir /home/opam)
 (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
 (run (network host)
      (shell "opam init --reinit --config .opamrc-sandbox -ni"))
 (run (shell "opam option solver=builtin-0install && opam config report"))
 (env OPAMDOWNLOADJOBS 1)
 (env OPAMERRLOGLEN 0)
 (env OPAMPRECISETRACKING 1)
 (env CI true)
 (env OPAM_REPO_CI true)
 (run (shell "rm -rf opam-repository/"))
 (copy (src .) (dst opam-repository/))
 (run (shell "opam repository set-url --strict default opam-repository/"))
 (run (network host)
      (shell "opam update --depexts || true"))
 (run (shell "opam pin add -k version -yn lwt.6.0.0~alpha01 6.0.0~alpha01"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall lwt.6.0.0~alpha01;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-12\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'lwt.6.0.0~alpha01' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
      (network host)
      (shell  "opam reinstall sihl-user.3.0.2;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-12\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'sihl-user.3.0.2' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
 (run (network host)
      (shell "(opam reinstall --with-test sihl-user.3.0.2) || true"))
 (run (shell  "opam reinstall --with-test --verbose sihl-user.3.0.2;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-12\\\"\"; then\
             \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
             \n          fi;\
             \n          test \"$pkg\" != 'sihl-user.3.0.2' && partial_fails=\"$partial_fails $pkg\";\
             \n        done;\
             \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
             \n        exit 1"))
)

2025-07-22 12:24.48: Waiting for resource in pool OCluster
2025-07-22 13:00.44: Waiting for worker…
2025-07-22 13:11.26: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
Updating files:  86% (15419/17879)
Updating files:  87% (15555/17879)
Updating files:  88% (15734/17879)
Updating files:  89% (15913/17879)
Updating files:  90% (16092/17879)
Updating files:  91% (16270/17879)
Updating files:  92% (16449/17879)
Updating files:  93% (16628/17879)
Updating files:  94% (16807/17879)
Updating files:  95% (16986/17879)
Updating files:  96% (17164/17879)
Updating files:  97% (17343/17879)
Updating files:  98% (17522/17879)
Updating files:  99% (17701/17879)
Updating files: 100% (17879/17879)
Updating files: 100% (17879/17879), done.
HEAD is now at 14fd69dba0 Merge pull request #28217 from sim642/opam-state-2.4-upper-bounds
Updating 14fd69dba0..381d421c95
Fast-forward
 packages/lwt/lwt.6.0.0~alpha01/opam               | 69 +++++++++++++++++++++++
 packages/lwt_direct/lwt_direct.6.0.0~alpha01/opam | 44 +++++++++++++++
 packages/lwt_log/lwt_log.1.1.0/opam               |  2 +-
 packages/lwt_log/lwt_log.1.1.1/opam               |  2 +-
 packages/lwt_log/lwt_log.1.1.2/opam               |  2 +-
 5 files changed, 116 insertions(+), 3 deletions(-)
 create mode 100644 packages/lwt/lwt.6.0.0~alpha01/opam
 create mode 100644 packages/lwt_direct/lwt_direct.6.0.0~alpha01/opam

(from ocaml/opam:debian-12-ocaml-4.14@sha256:4216ef78f0a2edc0e9ef5d391d2d742bcfb67b1d97dcc5502a71bcab91cf7cca)
Unable to find image 'ocaml/opam:debian-12-ocaml-4.14@sha256:4216ef78f0a2edc0e9ef5d391d2d742bcfb67b1d97dcc5502a71bcab91cf7cca' locally
docker.io/ocaml/opam@sha256:4216ef78f0a2edc0e9ef5d391d2d742bcfb67b1d97dcc5502a71bcab91cf7cca: Pulling from ocaml/opam
010b17fc78a8: Pulling fs layer
010b17fc78a8: Verifying Checksum
010b17fc78a8: Download complete
010b17fc78a8: Pull complete
Digest: sha256:4216ef78f0a2edc0e9ef5d391d2d742bcfb67b1d97dcc5502a71bcab91cf7cca
Status: Downloaded newer image for ocaml/opam@sha256:4216ef78f0a2edc0e9ef5d391d2d742bcfb67b1d97dcc5502a71bcab91cf7cca
2025-07-22 13:11.42 ---> using "bdea20d69702e45393a0b0f1780f2fd036aae0c7f0fb3d2d6afe87f5376157fc" from cache

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

/: (workdir /home/opam)

/home/opam: (run (shell "sudo ln -f /usr/bin/opam-2.3 /usr/bin/opam"))
2025-07-22 13:11.42 ---> using "ee71950878321ce155700562b11a0514307f63e65f7478d54e41eb7be44564b6" from cache

/home/opam: (run (network host)
                 (shell "opam init --reinit --config .opamrc-sandbox -ni"))
Configuring from /home/opam/.opamrc-sandbox, then /home/opam/.opamrc, and finally from built-in defaults.
Checking for available remotes: rsync and local, git.
  - you won't be able to use mercurial repositories unless you install the hg command on your system.
  - you won't be able to use darcs repositories unless you install the darcs command on your system.

This development version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted.
You may want to back it up before going further.

Continue? [y/n] y
[NOTE] The 'jobs' option was reset, its value was 71 and its new value will vary according to the current number of cores on your machine. You can restore the fixed value using:
           opam option jobs=71 --global
Format upgrade done.

<><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-07-22 13:11.42 ---> using "a7832be132102734df19669daf0993667820454fb4d7c53d26819850a712f475" from cache

/home/opam: (run (shell "opam option solver=builtin-0install && opam config report"))
Set to 'builtin-0install' the field solver in global configuration
# opam config report
# opam-version         2.3.0 (35acd0c5abc5e66cdbd5be16ba77aa6c33a4c724)
# self-upgrade         no
# system               arch=x86_64 os=linux os-distribution=debian os-version=12
# solver               builtin-0install
# install-criteria     -changed,-count[avoid-version,solution]
# upgrade-criteria     -count[avoid-version,solution]
# jobs                 255
# repositories         1 (version-controlled)
# pinned               1 (version)
# current-switch       4.14
# invariant            ["ocaml-base-compiler" {= "4.14.2"}]
# compiler-packages    ocaml-base-compiler.4.14.2, ocaml-options-vanilla.1
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /home/opam/.opam/4.14/lib/ocaml/stublibs:/home/opam/.opam/4.14/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       4.14.2
2025-07-22 13:11.42 ---> using "aa2cbbd7d952c62c70a303b10ea47bfb39bfbc5ca8a6dcd87eaca9df308252e0" from cache

/home/opam: (env OPAMDOWNLOADJOBS 1)

/home/opam: (env OPAMERRLOGLEN 0)

/home/opam: (env OPAMPRECISETRACKING 1)

/home/opam: (env CI true)

/home/opam: (env OPAM_REPO_CI true)

/home/opam: (run (shell "rm -rf opam-repository/"))
2025-07-22 13:11.42 ---> using "3c7bfa3ccbe6e216ad7928c76c0026a183769750502f7875b3385fa810369906" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2025-07-22 13:11.43 ---> using "22f300dc875bc070b45198c973d26d79724a6b311c25e1c1dc873690ac3b781c" from cache

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2025-07-22 13:11.43 ---> using "5c9e3adcefff8dffac8cbc95a529d8d761c8cb1b0977851c9d370007014514ec" from cache

/home/opam: (run (network host)
                 (shell "opam update --depexts || true"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian bookworm InRelease
- Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
- Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
- Fetched 103 kB in 0s (401 kB/s)
- Reading package lists...
2025-07-22 13:11.43 ---> using "a2e44423a34c28cd4f374b9db36fd7b84f29ed2d6b6ae9baf94f051eea0a6658" from cache

/home/opam: (run (shell "opam pin add -k version -yn lwt.6.0.0~alpha01 6.0.0~alpha01"))
lwt is now pinned to version 6.0.0~alpha01
2025-07-22 13:11.43 ---> using "6649a62b0acf8cb62c880e844607ac39d10fbc97547c13bc54d3b66679b15b64" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall lwt.6.0.0~alpha01;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-12\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'lwt.6.0.0~alpha01' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
lwt.6.0.0~alpha01 is not installed. Install it? [y/n] y
The following actions will be performed:
=== install 9 packages
  - install base-bytes        base                   [required by ocplib-endian]
  - install cppo              1.8.0                  [required by lwt]
  - install csexp             1.5.2                  [required by dune-configurator]
  - install domain_shims      0.1.0                  [required by lwt]
  - install dune              3.19.1                 [required by lwt]
  - install dune-configurator 3.19.1                 [required by lwt]
  - install lwt               6.0.0~alpha01 (pinned)
  - install ocamlfind         1.9.8                  [required by base-bytes]
  - install ocplib-endian     1.2                    [required by lwt]

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved cppo.1.8.0  (cached)
-> retrieved csexp.1.5.2  (cached)
-> retrieved domain_shims.0.1.0  (cached)
-> retrieved dune.3.19.1, dune-configurator.3.19.1  (cached)
-> retrieved lwt.6.0.0~alpha01  (cached)
-> retrieved ocamlfind.1.9.8  (cached)
-> retrieved ocplib-endian.1.2  (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed dune.3.19.1
-> installed domain_shims.0.1.0
-> installed csexp.1.5.2
-> installed cppo.1.8.0
-> installed ocplib-endian.1.2
-> installed dune-configurator.3.19.1
-> installed lwt.6.0.0~alpha01
Done.
# To update the current shell environment, run: eval $(opam env)
2025-07-22 13:11.43 ---> using "4c36506109ba1383d13519a00a451cda67f7ee8ae93e3ab9f39d50275ebdaf6e" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall sihl-user.3.0.2;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-12\\\"\"; then\
                        \n            echo \"A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\";\
                        \n          fi;\
                        \n          test \"$pkg\" != 'sihl-user.3.0.2' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
sihl-user.3.0.2 is not installed. Install it? [y/n] y
The following actions will be performed:
=== recompile 1 package
  - recompile lwt                 6.0.0~alpha01 (pinned) [uses conf-libev]
=== install 92 packages
  - install   angstrom            0.16.1                 [required by caqti]
  - install   asn1-combinators    0.2.6                  [required by x509]
  - install   astring             0.8.5                  [required by bos, opium]
  - install   base                v0.15.1                [required by ppx_fields_conv]
  - install   base64              3.5.1                  [required by jwto, opium]
  - install   bigarray-compat     1.1.0                  [required by cstruct]
  - install   bigstringaf         0.10.0                 [required by caqti]
  - install   bos                 0.2.1                  [required by sihl]
  - install   caqti               1.9.0                  [required by sihl]
  - install   caqti-lwt           1.9.0                  [required by sihl]
  - install   cmdliner            1.3.0                  [required by opium, uuidm]
  - install   conf-gmp            5                      [required by zarith]
  - install   conf-gmp-powm-sec   4                      [required by mirage-crypto-pk]
  - install   conf-libev          4-12                   [required by opium]
  - install   conf-libssl         4                      [required by ssl]
  - install   conf-pkg-config     4                      [required by zarith]
  - install   conformist          0.8.1                  [required by sihl]
  - install   containers          3.16                   [required by sihl]
  - install   cpuid               0.1.2                  [required by nocrypto]
  - install   cstruct             6.0.1                  [required by sihl]
  - install   cstruct-lwt         6.0.1                  [required by nocrypto]
  - install   digestif            1.3.0                  [required by jwto]
  - install   domain-name         0.4.1                  [required by tls]
  - install   dune-build-info     3.19.1                 [required by sihl]
  - install   duration            0.2.1                  [required by mirage-crypto-rng]
  - install   either              1.0.0                  [required by containers]
  - install   eqaf                0.9                    [required by mirage-crypto-ec, digestif, mirage-crypto, mirage-crypto-pk]
  - install   faraday             0.8.2                  [required by httpaf]
  - install   faraday-lwt         0.8.2                  [required by faraday-lwt-unix]
  - install   faraday-lwt-unix    0.8.2                  [required by httpaf-lwt-unix]
  - install   fieldslib           v0.15.0                [required by ppx_fields_conv]
  - install   fmt                 0.10.0                 [required by sihl]
  - install   fpath               0.7.3                  [required by bos]
  - install   gmap                0.3.0                  [required by x509]
  - install   hkdf                1.0.4 (deprecated)     [required by tls]
  - install   hmap                0.8.1                  [required by rock]
  - install   httpaf              0.7.1                  [required by httpaf-lwt-unix, rock]
  - install   httpaf-lwt-unix     0.7.1                  [required by opium]
  - install   ipaddr              5.6.0                  [required by tls]
  - install   jwto                0.4.0                  [required by sihl]
  - install   logs                0.9.0                  [required by sihl]
  - install   lwt_ppx             5.9.1                  [required by sihl]
  - install   lwt_ssl             1.2.0                  [required by sihl]
  - install   macaddr             5.6.0                  [required by ipaddr]
  - install   magic-mime          1.3.1                  [required by opium]
  - install   mirage-crypto       0.11.3                 [required by opium, tls]
  - install   mirage-crypto-ec    0.11.3                 [required by tls]
  - install   mirage-crypto-pk    0.11.3                 [required by tls]
  - install   mirage-crypto-rng   0.11.3                 [required by tls]
  - install   mirage-no-solo5     1 (deprecated)         [required by nocrypto]
  - install   mirage-no-xen       1 (deprecated)         [required by nocrypto]
  - install   mtime               2.1.0                  [required by opium]
  - install   multipart-form-data 0.3.0                  [required by opium]
  - install   nocrypto            0.5.4-2                [required by sihl]
  - install   num                 1.6                    [required by sexplib]
  - install   ocaml-compiler-libs v0.12.4                [required by ppxlib]
  - install   ocaml-syntax-shims  1.0.0                  [required by angstrom]
  - install   ocamlbuild          0.16.1                 [required by nocrypto, bos, uuidm]
  - install   ocb-stubblr         0.1.1-1                [required by nocrypto]
  - install   opium               0.20.0                 [required by sihl]
  - install   parsexp             v0.15.0                [required by sexplib]
  - install   pbkdf               1.2.0                  [required by x509]
  - install   ppx_derivers        1.2.1                  [required by ppx_deriving]
  - install   ppx_deriving        6.0.3                  [required by nocrypto, jwto, ppx_deriving_yojson]
  - install   ppx_deriving_yojson 3.9.1                  [required by sihl]
  - install   ppx_fields_conv     v0.15.0                [required by sihl]
  - install   ppx_sexp_conv       v0.15.1                [required by sihl]
  - install   ppxlib              0.35.0                 [required by ppx_deriving_yojson, lwt_ppx, ppx_fields_conv]
  - install   ptime               1.2.0                  [required by conformist, caqti, opium]
  - install   re                  1.13.2                 [required by jwto, opium]
  - install   result              1.5                    [required by httpaf]
  - install   rock                0.20.0                 [required by opium]
  - install   rresult             0.7.0                  [required by bos]
  - install   safepass            3.1                    [required by sihl]
  - install   seq                 base                   [required by re, tyxml]
  - install   sexplib             v0.15.1                [required by sihl]
  - install   sexplib0            v0.15.1                [required by rock, ppx_sexp_conv, sexplib, mirage-crypto-pk]
  - install   sihl                3.0.2                  [required by sihl-user]
  - install   sihl-user           3.0.2
  - install   ssl                 0.7.0                  [required by sihl]
  - install   stdlib-shims        0.3.0                  [required by ppxlib]
  - install   stringext           1.6.0                  [required by uri, multipart-form-data]
  - install   tls                 0.17.5                 [required by sihl]
  - install   topkg               1.0.8                  [required by nocrypto, bos, uuidm]
  - install   tsort               2.2.0                  [required by sihl]
  - install   tyxml               4.6.0                  [required by opium]
  - install   uri                 4.4.0                  [required by caqti, opium]
  - install   uuidm               0.9.10                 [required by sihl]
  - install   uutf                1.0.4                  [required by tyxml]
  - install   x509                0.16.5                 [required by tls]
  - install   yojson              3.0.0                  [required by sihl]
  - install   zarith              1.14                   [required by nocrypto]

The following system packages will first need to be installed:
    libev-dev libgmp-dev libssl-dev pkg-config

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>

opam believes some required external dependencies are missing. opam can:
> 1. Run apt-get to install them (may need root/sudo access)
  2. Display the recommended apt-get command and wait while you run it manually (e.g. in another terminal)
  3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
  4. Abort the installation

[1/2/3/4] 1

+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libev-dev" "libgmp-dev" "libssl-dev" "pkg-config"
- debconf: delaying package configuration, since apt-utils is not installed
- Selecting previously unselected package libev4: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 ... 18747 files and directories currently installed.)
- Preparing to unpack .../0-libev4_1%3a4.33-1_amd64.deb ...
- Unpacking libev4:amd64 (1:4.33-1) ...
- Selecting previously unselected package libev-dev:amd64.
- Preparing to unpack .../1-libev-dev_1%3a4.33-1_amd64.deb ...
- Unpacking libev-dev:amd64 (1:4.33-1) ...
- Selecting previously unselected package libgmpxx4ldbl:amd64.
- Preparing to unpack .../2-libgmpxx4ldbl_2%3a6.2.1+dfsg1-1.1_amd64.deb ...
- Unpacking libgmpxx4ldbl:amd64 (2:6.2.1+dfsg1-1.1) ...
- Selecting previously unselected package libgmp-dev:amd64.
- Preparing to unpack .../3-libgmp-dev_2%3a6.2.1+dfsg1-1.1_amd64.deb ...
- Unpacking libgmp-dev:amd64 (2:6.2.1+dfsg1-1.1) ...
- Selecting previously unselected package libpkgconf3:amd64.
- Preparing to unpack .../4-libpkgconf3_1.8.1-1_amd64.deb ...
- Unpacking libpkgconf3:amd64 (1.8.1-1) ...
- Selecting previously unselected package libssl-dev:amd64.
- Preparing to unpack .../5-libssl-dev_3.0.16-1~deb12u1_amd64.deb ...
- Unpacking libssl-dev:amd64 (3.0.16-1~deb12u1) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../6-pkgconf-bin_1.8.1-1_amd64.deb ...
- Unpacking pkgconf-bin (1.8.1-1) ...
- Selecting previously unselected package pkgconf:amd64.
- Preparing to unpack .../7-pkgconf_1.8.1-1_amd64.deb ...
- Unpacking pkgconf:amd64 (1.8.1-1) ...
- Selecting previously unselected package pkg-config:amd64.
- Preparing to unpack .../8-pkg-config_1.8.1-1_amd64.deb ...
- Unpacking pkg-config:amd64 (1.8.1-1) ...
- Setting up libev4:amd64 (1:4.33-1) ...
- Setting up libpkgconf3:amd64 (1.8.1-1) ...
- Setting up libgmpxx4ldbl:amd64 (2:6.2.1+dfsg1-1.1) ...
- Setting up libssl-dev:amd64 (3.0.16-1~deb12u1) ...
- Setting up pkgconf-bin (1.8.1-1) ...
- Setting up libev-dev:amd64 (1:4.33-1) ...
- Setting up libgmp-dev:amd64 (2:6.2.1+dfsg1-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+deb12u10) ...

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1  (cached)
-> retrieved asn1-combinators.0.2.6  (cached)
-> retrieved astring.0.8.5  (cached)
-> retrieved base.v0.15.1  (cached)
-> retrieved base64.3.5.1  (cached)
-> retrieved bigarray-compat.1.1.0  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved bos.0.2.1  (cached)
-> retrieved caqti.1.9.0, caqti-lwt.1.9.0  (cached)
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved conf-gmp.5  (cached)
-> retrieved conf-gmp-powm-sec.4  (cached)
-> retrieved conf-libev.4-12  (cached)
-> retrieved conf-libssl.4  (cached)
-> retrieved conformist.0.8.1  (cached)
-> installed conf-gmp.5
-> installed conf-pkg-config.4
-> retrieved containers.3.16  (cached)
-> installed bigarray-compat.1.1.0
-> installed conf-gmp-powm-sec.4
-> installed conf-libssl.4
-> retrieved cpuid.0.1.2  (cached)
-> retrieved cstruct.6.0.1, cstruct-lwt.6.0.1  (cached)
-> installed conf-libev.4-12
-> installed base64.3.5.1
-> installed bigstringaf.0.10.0
-> installed cpuid.0.1.2
-> retrieved digestif.1.3.0  (cached)
-> retrieved domain-name.0.4.1  (cached)
-> installed cstruct.6.0.1
-> installed domain-name.0.4.1
-> retrieved dune-build-info.3.19.1  (cached)
-> retrieved duration.0.2.1  (cached)
-> retrieved either.1.0.0  (cached)
-> retrieved eqaf.0.9  (cached)
-> retrieved faraday.0.8.2, faraday-lwt.0.8.2, faraday-lwt-unix.0.8.2  (cached)
-> retrieved fieldslib.v0.15.0  (cached)
-> retrieved fmt.0.10.0  (cached)
-> retrieved fpath.0.7.3  (cached)
-> retrieved gmap.0.3.0  (cached)
-> retrieved hkdf.1.0.4  (cached)
-> retrieved hmap.0.8.1  (cached)
-> retrieved httpaf.0.7.1, httpaf-lwt-unix.0.7.1  (cached)
-> installed cmdliner.1.3.0
-> retrieved ipaddr.5.6.0, macaddr.5.6.0  (cached)
-> installed duration.0.2.1
-> retrieved jwto.0.4.0  (cached)
-> retrieved logs.0.9.0  (cached)
-> removed   lwt.6.0.0~alpha01
-> installed either.1.0.0
-> installed faraday.0.8.2
-> installed gmap.0.3.0
-> retrieved lwt_ppx.5.9.1  (cached)
-> retrieved lwt_ssl.1.2.0  (cached)
-> retrieved magic-mime.1.3.1  (cached)
-> installed macaddr.5.6.0
-> installed eqaf.0.9
-> installed dune-build-info.3.19.1
-> retrieved mirage-crypto.0.11.3, mirage-crypto-ec.0.11.3, mirage-crypto-pk.0.11.3, mirage-crypto-rng.0.11.3  (cached)
-> installed mirage-no-solo5.1
-> installed mirage-no-xen.1
-> installed ipaddr.5.6.0
-> retrieved mtime.2.1.0  (cached)
-> installed magic-mime.1.3.1
-> retrieved multipart-form-data.0.3.0  (cached)
-> installed digestif.1.3.0
-> retrieved nocrypto.0.5.4-2  (cached)
-> retrieved num.1.6  (cached)
-> retrieved ocaml-compiler-libs.v0.12.4  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocb-stubblr.0.1.1-1  (cached)
-> retrieved opium.0.20.0, rock.0.20.0  (cached)
-> retrieved parsexp.v0.15.0  (cached)
-> retrieved pbkdf.1.2.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_deriving.6.0.3  (cached)
-> retrieved ppx_deriving_yojson.3.9.1  (cached)
-> retrieved ppx_fields_conv.v0.15.0  (cached)
-> retrieved ppx_sexp_conv.v0.15.1  (cached)
-> installed containers.3.16
-> installed ppx_derivers.1.2.1
-> retrieved ppxlib.0.35.0  (cached)
-> retrieved ptime.1.2.0  (cached)
-> retrieved re.1.13.2  (cached)
-> retrieved result.1.5  (cached)
-> retrieved rresult.0.7.0  (cached)
-> retrieved safepass.3.1  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved sexplib.v0.15.1  (cached)
-> retrieved sexplib0.v0.15.1  (cached)
-> retrieved sihl.3.0.2, sihl-user.3.0.2  (cached)
-> retrieved ssl.0.7.0  (cached)
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml-compiler-libs.v0.12.4
-> installed result.1.5
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved stringext.1.6.0  (cached)
-> retrieved tls.0.17.5  (cached)
-> installed mirage-crypto.0.11.3
-> retrieved topkg.1.0.8  (cached)
-> retrieved tsort.2.2.0  (cached)
-> retrieved tyxml.4.6.0  (cached)
-> retrieved uri.4.4.0  (cached)
-> retrieved uuidm.0.9.10  (cached)
-> retrieved uutf.1.0.4  (cached)
-> installed stdlib-shims.0.3.0
-> installed sexplib0.v0.15.1
-> installed lwt.6.0.0~alpha01
-> installed num.1.6
-> installed safepass.3.1
-> installed angstrom.0.16.1
-> installed stringext.1.6.0
-> installed hkdf.1.0.4
-> installed pbkdf.1.2.0
-> installed tsort.2.2.0
-> retrieved x509.0.16.5  (cached)
-> retrieved yojson.3.0.0  (cached)
-> retrieved zarith.1.14  (cached)
-> installed faraday-lwt.0.8.2
-> installed re.1.13.2
-> installed cstruct-lwt.6.0.1
-> installed ssl.0.7.0
-> installed httpaf.0.7.1
-> installed faraday-lwt-unix.0.8.2
-> installed lwt_ssl.1.2.0
-> installed httpaf-lwt-unix.0.7.1
-> installed yojson.3.0.0
-> installed uri.4.4.0
-> installed zarith.1.14
-> installed ocamlbuild.0.16.1
-> installed base.v0.15.1
-> installed fieldslib.v0.15.0
-> installed parsexp.v0.15.0
-> installed sexplib.v0.15.1
-> installed topkg.1.0.8
-> installed hmap.0.8.1
-> installed rresult.0.7.0
-> installed uuidm.0.9.10
-> installed rock.0.20.0
-> installed uutf.1.0.4
-> installed mtime.2.1.0
-> installed fmt.0.10.0
-> installed ptime.1.2.0
-> installed astring.0.8.5
-> installed conformist.0.8.1
-> installed asn1-combinators.0.2.6
-> installed ocb-stubblr.0.1.1-1
-> installed fpath.0.7.3
-> installed logs.0.9.0
-> installed mirage-crypto-rng.0.11.3
-> installed ppxlib.0.35.0
-> installed tyxml.4.6.0
-> installed caqti.1.9.0
-> installed mirage-crypto-pk.0.11.3
[ERROR] The compilation of caqti-lwt.1.9.0 failed at "dune build -p caqti-lwt -j 255".
-> installed bos.0.2.1
-> installed ppx_fields_conv.v0.15.0
-> installed lwt_ppx.5.9.1
-> installed ppx_deriving.6.0.3
-> installed ppx_sexp_conv.v0.15.1
-> installed multipart-form-data.0.3.0
-> installed mirage-crypto-ec.0.11.3
-> installed jwto.0.4.0
-> installed opium.0.20.0
-> installed ppx_deriving_yojson.3.9.1
-> installed x509.0.16.5
-> installed tls.0.17.5
[ERROR] The compilation of nocrypto.0.5.4-2 failed at "ocaml pkg/pkg.ml build --pinned false --tests false --jobs 1 --with-lwt true --with-mirage false --xen false --freestanding false".

#=== ERROR while compiling nocrypto.0.5.4-2 ===================================#
# context              2.3.0 | linux/x86_64 | ocaml-base-compiler.4.14.2 | file:///home/opam/opam-repository
# path                 ~/.opam/4.14/.opam-switch/build/nocrypto.0.5.4-2
# command              ~/.opam/opam-init/hooks/sandbox.sh build ocaml pkg/pkg.ml build --pinned false --tests false --jobs 1 --with-lwt true --with-mirage false --xen false --freestanding false
# exit-code            1
# env-file             ~/.opam/log/nocrypto-7-31e7b1.env
# output-file          ~/.opam/log/nocrypto-7-31e7b1.out
### output ###
# + ocamlfind ocamlc -config
# + ocamlfind ocamlopt -package unix -package ocamlbuild -linkpkg -package ocb-stubblr myocamlbuild.ml /home/opam/.opam/4.14/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild
# + ocamlfind ocamlc -config
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/misc.c
# + mv misc.o src/native/misc.o
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/hash/stubs.c
# + mv stubs.o src/native/hash/stubs.o
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/hash/md5.c
# + mv md5.o src/native/hash/md5.o
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/hash/sha1.c
# + mv sha1.o src/native/hash/sha1.o
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/hash/sha256.c
# + mv sha256.o src/native/hash/sha256.o
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/hash/sha512.c
# + mv sha512.o src/native/hash/sha512.o
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/aes/generic.c
# + mv generic.o src/native/aes/generic.o
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/aes/aesni.c
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/aes/aesni.c
# src/native/aes/aesni.c: In function '_nc_aesni_enc_blocks':
# src/native/aes/aesni.c:316:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:294:9: note: in definition of macro '__blocked_loop'
#   294 |         f1 (__b (src, 6), __b (dst, 6), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:295:7: note: here
#   295 |       case 6:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:316:3: note: in expansion of macro '__blocked_loop'
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c:316:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:296:9: note: in definition of macro '__blocked_loop'
#   296 |         f1 (__b (src, 5), __b (dst, 5), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:297:7: note: here
#   297 |       case 5:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:316:3: note: in expansion of macro '__blocked_loop'
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c:316:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:298:9: note: in definition of macro '__blocked_loop'
#   298 |         f1 (__b (src, 4), __b (dst, 4), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:299:7: note: here
#   299 |       case 4:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:316:3: note: in expansion of macro '__blocked_loop'
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c:316:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:300:9: note: in definition of macro '__blocked_loop'
#   300 |         f1 (__b (src, 3), __b (dst, 3), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:301:7: note: here
#   301 |       case 3:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:316:3: note: in expansion of macro '__blocked_loop'
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c:316:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:302:9: note: in definition of macro '__blocked_loop'
#   302 |         f1 (__b (src, 2), __b (dst, 2), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:303:7: note: here
#   303 |       case 2:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:316:3: note: in expansion of macro '__blocked_loop'
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c:316:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:304:9: note: in definition of macro '__blocked_loop'
#   304 |         f1 (__b (src, 1), __b (dst, 1), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:305:7: note: here
#   305 |       case 1:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:316:3: note: in expansion of macro '__blocked_loop'
#   316 |   __blocked_loop (_nc_aesni_enc, _nc_aesni_enc8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c: In function '_nc_aesni_dec_blocks':
# src/native/aes/aesni.c:320:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:294:9: note: in definition of macro '__blocked_loop'
#   294 |         f1 (__b (src, 6), __b (dst, 6), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:295:7: note: here
#   295 |       case 6:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:320:3: note: in expansion of macro '__blocked_loop'
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c:320:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:296:9: note: in definition of macro '__blocked_loop'
#   296 |         f1 (__b (src, 5), __b (dst, 5), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:297:7: note: here
#   297 |       case 5:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:320:3: note: in expansion of macro '__blocked_loop'
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c:320:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:298:9: note: in definition of macro '__blocked_loop'
#   298 |         f1 (__b (src, 4), __b (dst, 4), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:299:7: note: here
#   299 |       case 4:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:320:3: note: in expansion of macro '__blocked_loop'
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c:320:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:300:9: note: in definition of macro '__blocked_loop'
#   300 |         f1 (__b (src, 3), __b (dst, 3), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:301:7: note: here
#   301 |       case 3:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:320:3: note: in expansion of macro '__blocked_loop'
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c:320:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:302:9: note: in definition of macro '__blocked_loop'
#   302 |         f1 (__b (src, 2), __b (dst, 2), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:303:7: note: here
#   303 |       case 2:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:320:3: note: in expansion of macro '__blocked_loop'
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# src/native/aes/aesni.c:320:19: warning: this statement may fall through [-Wimplicit-fallthrough=]
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |                   ^
# src/native/aes/aesni.c:304:9: note: in definition of macro '__blocked_loop'
#   304 |         f1 (__b (src, 1), __b (dst, 1), rk, rounds);         \
#       |         ^~
# src/native/aes/aesni.c:305:7: note: here
#   305 |       case 1:                                                \
#       |       ^~~~
# src/native/aes/aesni.c:320:3: note: in expansion of macro '__blocked_loop'
#   320 |   __blocked_loop (_nc_aesni_dec, _nc_aesni_dec8, src, dst, rk, rounds, blocks);
#       |   ^~~~~~~~~~~~~~
# + mv aesni.o src/native/aes/aesni.o
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/des/generic.c
# + ocamlfind ocamlc -g -ccopt '-DACCELERATE -msse2 -maes' -ccopt '--std=c99 -Wall -Wextra -O3' -package bytes -package sexplib -package cstruct -c src/native/des/generic.c
# src/native/des/generic.c:405:28: warning: argument 1 of type 'unsigned char[16]' with mismatched bound [-Warray-parameter=]
#   405 | void des2key(unsigned char hexkey[16], short mode) /* stomps on Kn3 too */
#       |              ~~~~~~~~~~~~~~^~~~~~~~~~
# In file included from src/native/des/generic.c:20:
# src/native/des/generic.h:67:21: note: previously declared as 'unsigned char *'
#    67 | extern void des2key(unsigned char *, short);
#       |                     ^~~~~~~~~~~~~~~
# src/native/des/generic.c:537:28: warning: argument 1 of type 'unsigned char[24]' with mismatched bound [-Warray-parameter=]
#   537 | void des3key(unsigned char hexkey[24], short mode)
#       |              ~~~~~~~~~~~~~~^~~~~~~~~~
# src/native/des/generic.h:126:21: note: previously declared as 'unsigned char *'
#   126 | extern void des3key(unsigned char *, short);
#       |                     ^~~~~~~~~~~~~~~
# + mv generic.o src/native/des/generic.o
# + ocamlfind ocamlmklib -o src/nocrypto_stubs -g src/native/misc.o src/native/hash/stubs.o src/native/hash/md5.o src/native/hash/sha1.o src/native/hash/sha256.o src/native/hash/sha512.o src/native/aes/generic.o src/native/aes/aesni.o src/native/des/generic.o
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/nocrypto.mli > src/nocrypto.mli.depends
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/native.ml > src/native.ml.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/native.cmo src/native.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/native.cmo src/native.ml
# File "src/native.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/nocrypto.cmi src/nocrypto.mli
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/nocrypto.cmi src/nocrypto.mli
# File "src/nocrypto.mli", line 532, characters 19-20:
# 532 |       module Make (H : Hash.S) : S.Generator
#                          ^
# Warning 67 [unused-functor-parameter]: unused functor parameter H.
# File "src/nocrypto.mli", line 749, characters 15-16:
# 749 |   module OAEP (H : Hash.S) : sig
#                      ^
# Warning 67 [unused-functor-parameter]: unused functor parameter H.
# File "src/nocrypto.mli", line 769, characters 14-15:
# 769 |   module PSS (H: Hash.S) : sig
#                     ^
# Warning 67 [unused-functor-parameter]: unused functor parameter H.
# File "src/nocrypto.mli", line 862, characters 16-17:
# 862 |   module K_gen (H : Hash.S) : sig
#                       ^
# Warning 67 [unused-functor-parameter]: unused functor parameter H.
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/uncommon.ml > src/uncommon.ml.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/uncommon.cmo src/uncommon.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/uncommon.cmo src/uncommon.ml
# File "src/uncommon.ml", line 79, characters 16-19:
# 79 |   let null cs = len cs = 0
#                      ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 82, characters 13-16:
# 82 |     let l1 = len cs1 and l2 = len cs2 in
#                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 82, characters 30-33:
# 82 |     let l1 = len cs1 and l2 = len cs2 in
#                                    ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 101, characters 13-16:
# 101 |     let n1 = len cs1 and n2 = len cs2 in
#                    ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 101, characters 30-33:
# 101 |     let n1 = len cs1 and n2 = len cs2 in
#                                     ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 112, characters 17-20:
# 112 |     go None off (len cs - off)
#                        ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 120, characters 17-20:
# 120 |     if n > imin (len src) (len dst) then
#                        ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 120, characters 27-30:
# 120 |     if n > imin (len src) (len dst) then
#                                  ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 125, characters 20-23:
# 125 |     let len = imin (len cs1) (len cs2) in
#                           ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 125, characters 30-33:
# 125 |     let len = imin (len cs1) (len cs2) in
#                                     ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 134, characters 14-17:
# 134 |       let n = len cs in
#                     ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 144, characters 27-30:
# 144 |     (sub cs 0 l, sub cs l (len cs - l))
#                                  ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 148, characters 44-47:
# 148 |     (sub cs 0 l1, sub cs l1 l2, sub cs l12 (len cs - l12))
#                                                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 151, characters 12-15:
# 151 |     let l = len cs and cs' = Cstruct.create size in
#                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 158, characters 12-15:
# 158 |     let l = len cs and cs' = Cstruct.create size in
#                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/native.cmx src/native.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/native.cmx src/native.ml
# File "src/native.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/base64.ml > src/base64.ml.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/base64.cmo src/base64.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/base64.cmo src/base64.ml
# File "src/base64.ml", line 20, characters 12-15:
# 20 |   let n   = len cs in
#                  ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/base64.ml", line 52, characters 12-15:
# 52 |   let n   = len cs in
#                  ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/base64.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/uncommon.cmx src/uncommon.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/uncommon.cmx src/uncommon.ml
# File "src/uncommon.ml", line 79, characters 16-19:
# 79 |   let null cs = len cs = 0
#                      ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 82, characters 13-16:
# 82 |     let l1 = len cs1 and l2 = len cs2 in
#                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 82, characters 30-33:
# 82 |     let l1 = len cs1 and l2 = len cs2 in
#                                    ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 101, characters 13-16:
# 101 |     let n1 = len cs1 and n2 = len cs2 in
#                    ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 101, characters 30-33:
# 101 |     let n1 = len cs1 and n2 = len cs2 in
#                                     ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 112, characters 17-20:
# 112 |     go None off (len cs - off)
#                        ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 120, characters 17-20:
# 120 |     if n > imin (len src) (len dst) then
#                        ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 120, characters 27-30:
# 120 |     if n > imin (len src) (len dst) then
#                                  ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 125, characters 20-23:
# 125 |     let len = imin (len cs1) (len cs2) in
#                           ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 125, characters 30-33:
# 125 |     let len = imin (len cs1) (len cs2) in
#                                     ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 134, characters 14-17:
# 134 |       let n = len cs in
#                     ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 144, characters 27-30:
# 144 |     (sub cs 0 l, sub cs l (len cs - l))
#                                  ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 148, characters 44-47:
# 148 |     (sub cs 0 l1, sub cs l1 l2, sub cs l12 (len cs - l12))
#                                                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 151, characters 12-15:
# 151 |     let l = len cs and cs' = Cstruct.create size in
#                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 158, characters 12-15:
# 158 |     let l = len cs and cs' = Cstruct.create size in
#                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/uncommon.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/hash.ml > src/hash.ml.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/hash.cmo src/hash.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/hash.cmo src/hash.ml
# File "src/hash.ml", line 70, characters 19-30:
# 70 |     match compare (Cstruct.len key) block_size with
#                         ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/hash.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/cipher_stream.ml > src/cipher_stream.ml.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/cipher_stream.cmo src/cipher_stream.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/cipher_stream.cmo src/cipher_stream.ml
# File "src/cipher_stream.ml", line 18, characters 14-25:
# 18 |     let len = Cstruct.len cs in
#                    ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_stream.ml", line 35, characters 14-25:
# 35 |     and len = Cstruct.len cs in
#                    ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_stream.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/cipher_block.ml > src/cipher_block.ml.depends
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/ccm.ml > src/ccm.ml.depends
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/gcm.ml > src/gcm.ml.depends
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/numeric.ml > src/numeric.ml.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/numeric.cmo src/numeric.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/numeric.cmo src/numeric.ml
# File "src/numeric.ml", line 141, characters 18-29:
# 141 |       | None   -> Cstruct.len cs * 8
#                         ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/numeric.ml", line 142, characters 26-37:
# 142 |       | Some b -> imin b (Cstruct.len cs * 8)
#                                 ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/numeric.ml", line 166, characters 13-16:
# 166 |     write n (len cs - 1)
#                    ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/numeric.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/ccm.cmo src/ccm.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/ccm.cmo src/ccm.ml
# File "src/ccm.ml", line 31, characters 10-21:
# 31 |   let n = Cstruct.len nonce in
#                ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 48, characters 13-24:
# 48 |   let size = Cstruct.len b in
#                   ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 53, characters 10-21:
# 53 |     match Cstruct.len a with
#                ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 70, characters 10-21:
# 70 |   let n = Cstruct.len nonce in
#                ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 89, characters 16-27:
# 89 |   let datalen = Cstruct.len data in
#                      ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 107, characters 12-23:
# 107 |       match Cstruct.len block with
#                   ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 123, characters 10-21:
# 123 |     match Cstruct.len src with
#                 ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 149, characters 21-32:
# 149 |   Cs.xor_into ctr t (Cstruct.len t)
#                            ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 158, characters 16-27:
# 158 |     let nsize = Cstruct.len nonce in
#                       ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 161, characters 5-16:
# 161 |   if Cstruct.len data <= maclen then
#            ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 164, characters 16-27:
# 164 |     let pclen = Cstruct.len data - maclen in
#                       ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/gcm.cmo src/gcm.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/gcm.cmo src/gcm.ml
# File "src/gcm.ml", line 115, characters 10-13:
# 115 |     match len cs with
#                 ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/gcm.ml", line 125, characters 20-23:
# 125 |   Cs.create (p_len (len cs))
#                           ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/gcm.ml", line 127, characters 29-32:
# 127 | let nbits cs = Int64.of_int (len cs * 8)
#                                    ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/gcm.ml", line 132, characters 17-20:
# 132 |   let j0 = match len iv with
#                        ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/gcm.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/cipher_block.cmo src/cipher_block.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/cipher_block.cmo src/cipher_block.ml
# File "src/cipher_block.ml", line 187, characters 16-19:
# 187 |         let n = len src in
#                       ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 190, characters 28-31:
# 190 |         let dst = create @@ len src in
#                                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 209, characters 9-12:
# 209 |       if len iv <> block then
#                ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 211, characters 9-12:
# 211 |       if len cs mod block <> 0 then
#                ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 216, characters 9-12:
# 216 |       if len cs > 0 then
#                ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 217, characters 16-19:
# 217 |         sub cs (len cs - block_size) block_size
#                       ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 230, characters 37-40:
# 230 |       loop iv.buffer iv.off msg.off (len msg / block) ;
#                                            ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 235, characters 24-27:
# 235 |       let msg = create (len src)
#                               ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 236, characters 16-19:
# 236 |       and b   = len src / block in
#                       ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/numeric.cmx src/numeric.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/numeric.cmx src/numeric.ml
# File "src/numeric.ml", line 141, characters 18-29:
# 141 |       | None   -> Cstruct.len cs * 8
#                         ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/numeric.ml", line 142, characters 26-37:
# 142 |       | Some b -> imin b (Cstruct.len cs * 8)
#                                 ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/numeric.ml", line 166, characters 13-16:
# 166 |     write n (len cs - 1)
#                    ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/numeric.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/ccm.cmx src/ccm.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/ccm.cmx src/ccm.ml
# File "src/ccm.ml", line 31, characters 10-21:
# 31 |   let n = Cstruct.len nonce in
#                ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 48, characters 13-24:
# 48 |   let size = Cstruct.len b in
#                   ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 53, characters 10-21:
# 53 |     match Cstruct.len a with
#                ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 70, characters 10-21:
# 70 |   let n = Cstruct.len nonce in
#                ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 89, characters 16-27:
# 89 |   let datalen = Cstruct.len data in
#                      ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 107, characters 12-23:
# 107 |       match Cstruct.len block with
#                   ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 123, characters 10-21:
# 123 |     match Cstruct.len src with
#                 ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 149, characters 21-32:
# 149 |   Cs.xor_into ctr t (Cstruct.len t)
#                            ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 158, characters 16-27:
# 158 |     let nsize = Cstruct.len nonce in
#                       ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 161, characters 5-16:
# 161 |   if Cstruct.len data <= maclen then
#            ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 164, characters 16-27:
# 164 |     let pclen = Cstruct.len data - maclen in
#                       ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/ccm.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/gcm.cmx src/gcm.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/gcm.cmx src/gcm.ml
# File "src/gcm.ml", line 115, characters 10-13:
# 115 |     match len cs with
#                 ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/gcm.ml", line 125, characters 20-23:
# 125 |   Cs.create (p_len (len cs))
#                           ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/gcm.ml", line 127, characters 29-32:
# 127 | let nbits cs = Int64.of_int (len cs * 8)
#                                    ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/gcm.ml", line 132, characters 17-20:
# 132 |   let j0 = match len iv with
#                        ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/gcm.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/rng.ml > src/rng.ml.depends
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/fortuna.ml > src/fortuna.ml.depends
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/hmac_drgb.ml > src/hmac_drgb.ml.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/fortuna.cmo src/fortuna.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/fortuna.cmo src/fortuna.ml
# File "src/fortuna.ml", line 102, characters 43-54:
# 102 |     SHAd256.feed h (Cs.of_bytes [ source ; Cstruct.len data ]) ;
#                                                  ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/fortuna.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/hmac_drgb.cmo src/hmac_drgb.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/hmac_drgb.cmo src/hmac_drgb.ml
# File "src/hmac_drgb.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/rng.cmo src/rng.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/rng.cmo src/rng.ml
# File "src/rng.ml", line 153, characters 20-31:
# 153 |     let seeded ~g = Cstruct.len !g > 0
#                           ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rng.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/cipher_block.cmx src/cipher_block.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/cipher_block.cmx src/cipher_block.ml
# File "src/cipher_block.ml", line 187, characters 16-19:
# 187 |         let n = len src in
#                       ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 190, characters 28-31:
# 190 |         let dst = create @@ len src in
#                                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 209, characters 9-12:
# 209 |       if len iv <> block then
#                ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 211, characters 9-12:
# 211 |       if len cs mod block <> 0 then
#                ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 216, characters 9-12:
# 216 |       if len cs > 0 then
#                ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 217, characters 16-19:
# 217 |         sub cs (len cs - block_size) block_size
#                       ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 230, characters 37-40:
# 230 |       loop iv.buffer iv.off msg.off (len msg / block) ;
#                                            ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 235, characters 24-27:
# 235 |       let msg = create (len src)
#                               ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 236, characters 16-19:
# 236 |       and b   = len src / block in
#                       ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_block.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/hash.cmx src/hash.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/hash.cmx src/hash.ml
# File "src/hash.ml", line 70, characters 19-30:
# 70 |     match compare (Cstruct.len key) block_size with
#                         ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/hash.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/fortuna.cmx src/fortuna.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/fortuna.cmx src/fortuna.ml
# File "src/fortuna.ml", line 102, characters 43-54:
# 102 |     SHAd256.feed h (Cs.of_bytes [ source ; Cstruct.len data ]) ;
#                                                  ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/fortuna.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/hmac_drgb.cmx src/hmac_drgb.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/hmac_drgb.cmx src/hmac_drgb.ml
# File "src/hmac_drgb.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/rsa.ml > src/rsa.ml.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/rsa.cmo src/rsa.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/rsa.cmo src/rsa.ml
# File "src/rsa.ml", line 113, characters 27-30:
# 113 |     let pad = padding (k - len msg - 3) in
#                                  ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 125, characters 28-31:
# 125 |       Some (sub cs (i + 1) (len cs - i - 1))
#                                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 136, characters 14-17:
# 136 |     if size - len msg < min_pad then raise Insufficient_key ;
#                     ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 140, characters 7-10:
# 140 |     if len msg = bytes keybits then
#              ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 171, characters 41-44:
# 171 |   let mask ~seed cs = Cs.xor (mgf ~seed (len cs)) cs
#                                                ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 187, characters 45-48:
# 187 |     and pad   = Cs.create (max_msg_bytes k - len msg) in
#                                                    ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 207, characters 7-10:
# 207 |     if len msg > max_msg_bytes k then raise Insufficient_key
#              ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 212, characters 7-10:
# 212 |     if len em <> k || max_msg_bytes k < 0 then None
#              ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 250, characters 25-28:
# 250 |     let salt = shift db (len db - slen) in
#                                ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 271, characters 12-15:
# 271 |     and s = len signature in
#                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/rng.cmx src/rng.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/rng.cmx src/rng.ml
# File "src/rng.ml", line 153, characters 20-31:
# 153 |     let seeded ~g = Cstruct.len !g > 0
#                           ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rng.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/dsa.ml > src/dsa.ml.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/dsa.cmo src/dsa.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/dsa.cmo src/dsa.ml
# File "src/dsa.ml", line 104, characters 13-24:
# 104 |   if bits >= Cstruct.len digest * 8 then digest else
#                    ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/dsa.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamldep -package zarith -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -modules src/dh.ml > src/dh.ml.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/dh.cmo src/dh.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/dh.cmo src/dh.ml
# File "src/dh.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/base64.cmx src/base64.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/base64.cmx src/base64.ml
# File "src/base64.ml", line 20, characters 12-15:
# 20 |   let n   = len cs in
#                  ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/base64.ml", line 52, characters 12-15:
# 52 |   let n   = len cs in
#                  ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/base64.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/cipher_stream.cmx src/cipher_stream.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/cipher_stream.cmx src/cipher_stream.ml
# File "src/cipher_stream.ml", line 18, characters 14-25:
# 18 |     let len = Cstruct.len cs in
#                    ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_stream.ml", line 35, characters 14-25:
# 35 |     and len = Cstruct.len cs in
#                    ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/cipher_stream.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/rsa.cmx src/rsa.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/rsa.cmx src/rsa.ml
# File "src/rsa.ml", line 113, characters 27-30:
# 113 |     let pad = padding (k - len msg - 3) in
#                                  ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 125, characters 28-31:
# 125 |       Some (sub cs (i + 1) (len cs - i - 1))
#                                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 136, characters 14-17:
# 136 |     if size - len msg < min_pad then raise Insufficient_key ;
#                     ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 140, characters 7-10:
# 140 |     if len msg = bytes keybits then
#              ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 171, characters 41-44:
# 171 |   let mask ~seed cs = Cs.xor (mgf ~seed (len cs)) cs
#                                                ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 187, characters 45-48:
# 187 |     and pad   = Cs.create (max_msg_bytes k - len msg) in
#                                                    ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 207, characters 7-10:
# 207 |     if len msg > max_msg_bytes k then raise Insufficient_key
#              ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 212, characters 7-10:
# 212 |     if len em <> k || max_msg_bytes k < 0 then None
#              ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 250, characters 25-28:
# 250 |     let salt = shift db (len db - slen) in
#                                ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 271, characters 12-15:
# 271 |     and s = len signature in
#                   ^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/rsa.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/dsa.cmx src/dsa.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/dsa.cmx src/dsa.ml
# File "src/dsa.ml", line 104, characters 13-24:
# 104 |   if bits >= Cstruct.len digest * 8 then digest else
#                    ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# File "src/dsa.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/dh.cmx src/dh.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package zarith -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I src -I lwt -I mirage -I unix -o src/dh.cmx src/dh.ml
# File "src/dh.ml", line 1:
# Warning 70 [missing-mli]: Cannot find interface file.
# + ocamlfind ocamlopt -pack -g -bin-annot -package ppx_sexp_conv -package bytes -package sexplib -package cstruct -I src src/native.cmx src/uncommon.cmx src/base64.cmx src/hash.cmx src/cipher_stream.cmx src/ccm.cmx src/numeric.cmx src/gcm.cmx src/cipher_block.cmx src/fortuna.cmx src/hmac_drgb.cmx src/rng.cmx src/rsa.cmx src/dsa.cmx src/dh.cmx -o src/nocrypto.cmx
# + ocamlfind ocamlopt -a -package bytes -cclib -lnocrypto_stubs -package sexplib -package cstruct -I src src/nocrypto.cmx -o src/nocrypto.cmxa
# + ocamlfind ocamlopt -shared -linkall -I . -I lwt -I mirage -I src -I unix -package bytes -package sexplib -package cstruct -I src src/nocrypto.cmxa -o src/nocrypto.cmxs
# + ocamlfind ocamlc -pack -g -bin-annot -package ppx_sexp_conv -package bytes -for-pack Nocrypto -package sexplib -package cstruct src/native.cmo src/uncommon.cmo src/base64.cmo src/hash.cmo src/cipher_stream.cmo src/ccm.cmo src/numeric.cmo src/gcm.cmo src/cipher_block.cmo src/fortuna.cmo src/hmac_drgb.cmo src/rng.cmo src/rsa.cmo src/dsa.cmo src/dh.cmo -o src/nocrypto.cmo
# + ocamlfind ocamlc -a -package bytes -dllib -lnocrypto_stubs -cclib -lnocrypto_stubs -package sexplib -package cstruct -I src src/nocrypto.cmo -o src/nocrypto.cma
# + ocamlfind ocamldep -package unix -package bytes -package sexplib -package cstruct -modules unix/nocrypto_entropy_unix.ml > unix/nocrypto_entropy_unix.ml.depends
# + ocamlfind ocamldep -package unix -package bytes -package sexplib -package cstruct -modules unix/nocrypto_entropy_unix.mli > unix/nocrypto_entropy_unix.mli.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package unix -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I unix -I lwt -I mirage -I src -o unix/nocrypto_entropy_unix.cmi unix/nocrypto_entropy_unix.mli
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package unix -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I unix -I lwt -I mirage -I src -o unix/nocrypto_entropy_unix.cmx unix/nocrypto_entropy_unix.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package unix -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I unix -I lwt -I mirage -I src -o unix/nocrypto_entropy_unix.cmx unix/nocrypto_entropy_unix.ml
# File "unix/nocrypto_entropy_unix.ml", line 31, characters 16-27:
# 31 |       feed (n - Cstruct.len cs) fd in
#                      ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# + ocamlfind ocamlopt -a -package bytes -package sexplib -package cstruct -I unix unix/nocrypto_entropy_unix.cmx -o unix/nocrypto_unix.cmxa
# + ocamlfind ocamlopt -shared -linkall -I . -I lwt -I mirage -I src -I unix -package bytes -package sexplib -package cstruct -I unix unix/nocrypto_unix.cmxa -o unix/nocrypto_unix.cmxs
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package unix -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I unix -I lwt -I mirage -I src -o unix/nocrypto_entropy_unix.cmo unix/nocrypto_entropy_unix.ml
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package unix -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I unix -I lwt -I mirage -I src -o unix/nocrypto_entropy_unix.cmo unix/nocrypto_entropy_unix.ml
# File "unix/nocrypto_entropy_unix.ml", line 31, characters 16-27:
# 31 |       feed (n - Cstruct.len cs) fd in
#                      ^^^^^^^^^^^
# Alert deprecated: Cstruct.len
# len is deprecated, you should use length instead.
# + ocamlfind ocamlc -a -package bytes -package sexplib -package cstruct -I unix unix/nocrypto_entropy_unix.cmo -o unix/nocrypto_unix.cma
# + ocamlfind ocamldep -package lwt.unix -package cstruct-lwt -package bytes -package sexplib -package cstruct -modules lwt/nocrypto_entropy_lwt.ml > lwt/nocrypto_entropy_lwt.ml.depends
# + ocamlfind ocamldep -package lwt.unix -package cstruct-lwt -package bytes -package sexplib -package cstruct -modules lwt/nocrypto_entropy_lwt.mli > lwt/nocrypto_entropy_lwt.mli.depends
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package lwt.unix -package cstruct-lwt -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I lwt -I mirage -I src -I unix -o lwt/nocrypto_entropy_lwt.cmi lwt/nocrypto_entropy_lwt.mli
# + ocamlfind ocamlc -c -g -bin-annot -safe-string -package lwt.unix -package cstruct-lwt -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I lwt -I mirage -I src -I unix -o lwt/nocrypto_entropy_lwt.cmi lwt/nocrypto_entropy_lwt.mli
# ocamlfind: [WARNING] Package `threads': Linking problems may arise because of the missing -thread or -vmthread switch
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package lwt.unix -package cstruct-lwt -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I lwt -I mirage -I src -I unix -o lwt/nocrypto_entropy_lwt.cmx lwt/nocrypto_entropy_lwt.ml
# + ocamlfind ocamlopt -c -g -bin-annot -safe-string -package lwt.unix -package cstruct-lwt -package bytes -package sexplib -package cstruct -w A-4-29-33-40-41-42-43-34-44-48 -color always -I lwt -I mirage -I src -I unix -o lwt/nocrypto_entropy_lwt.cmx lwt/nocrypto_entropy_lwt.ml
# ocamlfind: [WARNING] Package `threads': Linking problems may arise because of the missing -thread or -vmthread switch
# File "lwt/nocrypto_entropy_lwt.ml", line 19, characters 26-43:
# 19 |   remove : (unit -> unit) Lwt_sequence.node ;
#                                ^^^^^^^^^^^^^^^^^
# Alert deprecated: module Lwt_sequence
#  Use package lwt-dllist. See
#    https://github.com/mirage/lwt-dllist
# File "lwt/nocrypto_entropy_lwt.ml", line 42, characters 6-24:
# 42 |       Lwt_sequence.add_r (background ~period seed) Lwt_main.enter_iter_hooks in
#            ^^^^^^^^^^^^^^^^^^
# Alert deprecated: module Lwt_sequence
#  Use package lwt-dllist. See
#    https://github.com/mirage/lwt-dllist
# File "lwt/nocrypto_entropy_lwt.ml", line 42, characters 51-76:
# 42 |       Lwt_sequence.add_r (background ~period seed) Lwt_main.enter_iter_hooks in
#                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: Unbound value Lwt_main.enter_iter_hooks
# Command exited with code 2.
# pkg.ml: [ERROR] cmd ['ocamlbuild' '-use-ocamlfind' '-classic-display' '-tag' 'debug'
#      '-build-dir' '_build' '-plugin-tag' 'package(ocb-stubblr)' '-tag'
#      'accelerate' 'opam' 'pkg/META' 'CHANGES.md' 'LICENSE.md' 'README.md'
#      'src/dllnocrypto_stubs.so' 'src/libnocrypto_stubs.a' 'src/nocrypto.a'
#      'src/nocrypto.cmxs' 'src/nocrypto.cmxa' 'src/nocrypto.cma'
#      'src/nocrypto.cmx' 'src/nocrypto.cmi' 'src/nocrypto.mli'
#      'unix/nocrypto_unix.a' 'unix/nocrypto_unix.cmxs'
#      'unix/nocrypto_unix.cmxa' 'unix/nocrypto_unix.cma'
#      'unix/nocrypto_entropy_unix.cmx' 'unix/nocrypto_entropy_unix.cmi'
#      'unix/nocrypto_entropy_unix.mli' 'lwt/nocrypto_lwt.a'
#      'lwt/nocrypto_lwt.cmxs' 'lwt/nocrypto_lwt.cmxa' 'lwt/nocrypto_lwt.cma'
#      'lwt/nocrypto_entropy_lwt.cmx' 'lwt/nocrypto_entropy_lwt.cmi'
#      'lwt/nocrypto_entropy_lwt.mli']: exited with 10


#=== ERROR while compiling caqti-lwt.1.9.0 ====================================#
# context              2.3.0 | linux/x86_64 | ocaml-base-compiler.4.14.2 | file:///home/opam/opam-repository
# path                 ~/.opam/4.14/.opam-switch/build/caqti-lwt.1.9.0
# command              ~/.opam/opam-init/hooks/sandbox.sh build dune build -p caqti-lwt -j 255
# exit-code            1
# env-file             ~/.opam/log/caqti-lwt-7-7c875c.env
# output-file          ~/.opam/log/caqti-lwt-7-7c875c.out
### output ###
# (cd _build/default && /home/opam/.opam/4.14/bin/ocamlc.opt -w -40 -g -bin-annot -I caqti-lwt/lib/.caqti_lwt.objs/byte -I /home/opam/.opam/4.14/lib/angstrom -I /home/opam/.opam/4.14/lib/bigstringaf -I /home/opam/.opam/4.14/lib/bytes -I /home/opam/.opam/4.14/lib/caqti -I /home/opam/.opam/4.14/lib/domain_shims -I /home/opam/.opam/4.14/lib/logs -I /home/opam/.opam/4.14/lib/logs/lwt -I /home/opam/.opam/4.14/lib/lwt -I /home/opam/.opam/4.14/lib/lwt/unix -I /home/opam/.opam/4.14/lib/ocaml/threads -I /home/opam/.opam/4.14/lib/ocplib-endian -I /home/opam/.opam/4.14/lib/ocplib-endian/bigstring -I /home/opam/.opam/4.14/lib/ptime -I /home/opam/.opam/4.14/lib/stringext -I /home/opam/.opam/4.14/lib/uri -intf-suffix .ml -no-alias-deps -o caqti-lwt/lib/.caqti_lwt.objs/byte/caqti_lwt.cmo -c -impl caqti-lwt/lib/caqti_lwt.ml)
# File "caqti-lwt/lib/caqti_lwt.ml", line 81, characters 8-40:
# 81 | include Caqti_connect.Make_unix (System)
#              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: Modules do not match:
#        sig
#          type 'a future = 'a Lwt.t
#          val ( >>= ) : 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t
#          val ( >|= ) : 'a Lwt.t -> ('a -> 'b) -> 'b Lwt.t
#          val return : 'a -> 'a Lwt.t
#          val finally : (unit -> 'a Lwt.t) -> (unit -> unit Lwt.t) -> 'a Lwt.t
#          val cleanup : (unit -> 'a Lwt.t) -> (unit -> unit Lwt.t) -> 'a Lwt.t
#          val join : unit Lwt.t list -> unit Lwt.t
#          module Mvar = System.Mvar
#          module Log = System.Log
#          module Unix = System.Unix
#          module Preemptive = Lwt_preemptive
#          module Stream = System.Stream
#        end
#      is not included in Caqti_driver_sig.System_unix
#      ... In module Preemptive:
#      The value `run_in_main' is required but not provided
#      File "caqti/lib/caqti_driver_sig.mli", line 82, characters 4-47:
#        Expected declaration
# (cd _build/default && /home/opam/.opam/4.14/bin/ocamlopt.opt -w -40 -g -I caqti-lwt/lib/.caqti_lwt.objs/byte -I caqti-lwt/lib/.caqti_lwt.objs/native -I /home/opam/.opam/4.14/lib/angstrom -I /home/opam/.opam/4.14/lib/bigstringaf -I /home/opam/.opam/4.14/lib/bytes -I /home/opam/.opam/4.14/lib/caqti -I /home/opam/.opam/4.14/lib/domain_shims -I /home/opam/.opam/4.14/lib/logs -I /home/opam/.opam/4.14/lib/logs/lwt -I /home/opam/.opam/4.14/lib/lwt -I /home/opam/.opam/4.14/lib/lwt/unix -I /home/opam/.opam/4.14/lib/ocaml/threads -I /home/opam/.opam/4.14/lib/ocplib-endian -I /home/opam/.opam/4.14/lib/ocplib-endian/bigstring -I /home/opam/.opam/4.14/lib/ptime -I /home/opam/.opam/4.14/lib/stringext -I /home/opam/.opam/4.14/lib/uri -intf-suffix .ml -no-alias-deps -o caqti-lwt/lib/.caqti_lwt.objs/native/caqti_lwt.cmx -c -impl caqti-lwt/lib/caqti_lwt.ml)
# File "caqti-lwt/lib/caqti_lwt.ml", line 81, characters 8-40:
# 81 | include Caqti_connect.Make_unix (System)
#              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
# Error: Modules do not match:
#        sig
#          type 'a future = 'a Lwt.t
#          val ( >>= ) : 'a Lwt.t -> ('a -> 'b Lwt.t) -> 'b Lwt.t
#          val ( >|= ) : 'a Lwt.t -> ('a -> 'b) -> 'b Lwt.t
#          val return : 'a -> 'a Lwt.t
#          val finally : (unit -> 'a Lwt.t) -> (unit -> unit Lwt.t) -> 'a Lwt.t
#          val cleanup : (unit -> 'a Lwt.t) -> (unit -> unit Lwt.t) -> 'a Lwt.t
#          val join : unit Lwt.t list -> unit Lwt.t
#          module Mvar = System.Mvar
#          module Log = System.Log
#          module Unix = System.Unix
#          module Preemptive = Lwt_preemptive
#          module Stream = System.Stream
#        end
#      is not included in Caqti_driver_sig.System_unix
#      ... In module Preemptive:
#      The value `run_in_main' is required but not provided
#      File "caqti/lib/caqti_driver_sig.mli", line 82, characters 4-47:
#        Expected declaration



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build caqti-lwt 1.9.0
| - build nocrypto  0.5.4-2
+- 
+- The following changes have been performed (the rest was aborted)
| - recompile lwt                 6.0.0~alpha01
| - install   angstrom            0.16.1
| - install   asn1-combinators    0.2.6
| - install   astring             0.8.5
| - install   base                v0.15.1
| - install   base64              3.5.1
| - install   bigarray-compat     1.1.0
| - install   bigstringaf         0.10.0
| - install   bos                 0.2.1
| - install   caqti               1.9.0
| - install   cmdliner            1.3.0
| - install   conf-gmp            5
| - install   conf-gmp-powm-sec   4
| - install   conf-libev          4-12
| - install   conf-libssl         4
| - install   conf-pkg-config     4
| - install   conformist          0.8.1
| - install   containers          3.16
| - install   cpuid               0.1.2
| - install   cstruct             6.0.1
| - install   cstruct-lwt         6.0.1
| - install   digestif            1.3.0
| - install   domain-name         0.4.1
| - install   dune-build-info     3.19.1
| - install   duration            0.2.1
| - install   either              1.0.0
| - install   eqaf                0.9
| - install   faraday             0.8.2
| - install   faraday-lwt         0.8.2
| - install   faraday-lwt-unix    0.8.2
| - install   fieldslib           v0.15.0
| - install   fmt                 0.10.0
| - install   fpath               0.7.3
| - install   gmap                0.3.0
| - install   hkdf                1.0.4
| - install   hmap                0.8.1
| - install   httpaf              0.7.1
| - install   httpaf-lwt-unix     0.7.1
| - install   ipaddr              5.6.0
| - install   jwto                0.4.0
| - install   logs                0.9.0
| - install   lwt_ppx             5.9.1
| - install   lwt_ssl             1.2.0
| - install   macaddr             5.6.0
| - install   magic-mime          1.3.1
| - install   mirage-crypto       0.11.3
| - install   mirage-crypto-ec    0.11.3
| - install   mirage-crypto-pk    0.11.3
| - install   mirage-crypto-rng   0.11.3
| - install   mirage-no-solo5     1
| - install   mirage-no-xen       1
| - install   mtime               2.1.0
| - install   multipart-form-data 0.3.0
| - install   num                 1.6
| - install   ocaml-compiler-libs v0.12.4
| - install   ocaml-syntax-shims  1.0.0
| - install   ocamlbuild          0.16.1
| - install   ocb-stubblr         0.1.1-1
| - install   opium               0.20.0
| - install   parsexp             v0.15.0
| - install   pbkdf               1.2.0
| - install   ppx_derivers        1.2.1
| - install   ppx_deriving        6.0.3
| - install   ppx_deriving_yojson 3.9.1
| - install   ppx_fields_conv     v0.15.0
| - install   ppx_sexp_conv       v0.15.1
| - install   ppxlib              0.35.0
| - install   ptime               1.2.0
| - install   re                  1.13.2
| - install   result              1.5
| - install   rock                0.20.0
| - install   rresult             0.7.0
| - install   safepass            3.1
| - install   seq                 base
| - install   sexplib             v0.15.1
| - install   sexplib0            v0.15.1
| - install   ssl                 0.7.0
| - install   stdlib-shims        0.3.0
| - install   stringext           1.6.0
| - install   tls                 0.17.5
| - install   topkg               1.0.8
| - install   tsort               2.2.0
| - install   tyxml               4.6.0
| - install   uri                 4.4.0
| - install   uuidm               0.9.10
| - install   uutf                1.0.4
| - install   x509                0.16.5
| - install   yojson              3.0.0
| - install   zarith              1.14
+- 

<><> mirage-no-xen.1 installed successfully <><><><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.

<><> mirage-no-solo5.1 installed successfully <><><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.

<><> hkdf.1.0.4 installed successfully ><><><><><><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
# To update the current shell environment, run: eval $(opam env)

The former state can be restored with:
    /usr/bin/opam switch import "/home/opam/.opam/4.14/.opam-switch/backup/state-20250722131144.export"
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
[WARNING] OPAMCONFIRMLEVEL was ignored because CLI 2.0 was requested and it was introduced in 2.1.
opam-repo-ci detected dependencies failing:  caqti-lwt.1.9.0 nocrypto.0.5.4-2
"/usr/bin/env" "bash" "-c" "opam reinstall sihl-user.3.0.2;
        res=$?;
        test "$res" != 31 && exit "$res";
        export OPAMCLI=2.0;
        build_dir=$(opam var prefix)/.opam-switch/build;
        failed=$(ls "$build_dir");
        partial_fails="";
        for pkg in $failed; do
          if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-12\""; then
            echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
          fi;
          test "$pkg" != 'sihl-user.3.0.2' && partial_fails="$partial_fails $pkg";
        done;
        test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}";
        exit 1" failed with exit status 1
2025-07-22 13:13.46: Job failed: Failed: Build failed
2025-07-22 13:13.46: Log analysis:
2025-07-22 13:13.46: >>> 
[ERROR] The compilation of caqti-lwt.1.9.0 failed at "dune build -p caqti-lwt -j 255".
 (score = 20)
2025-07-22 13:13.46: >>> 
[ERROR] The compilation of nocrypto.0.5.4-2 failed at "ocaml pkg/pkg.ml build --pinned false --tests false --jobs 1 --with-lwt true --with-mirage false --xen false --freestanding false".
 (score = 20)
2025-07-22 13:13.46: >>> 
# Error: Modules do not match:
 (score = 48)
2025-07-22 13:13.46: >>> 
# Error: Modules do not match:
 (score = 48)
2025-07-22 13:13.46: >>> 
opam-repo-ci detected dependencies failing:  caqti-lwt.1.9.0 nocrypto.0.5.4-2
 (score = 75)
2025-07-22 13:13.46:  caqti-lwt.1.9.0 nocrypto.0.5.4-2 failed to build