(for PR #28222)

2025-07-22 12:24.53: New job: test gemini.0.3.0 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-5.3/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-5.3@sha256:00533ee2614e93a96a33cf49af1f7f0987406c7bfeaa9da6abd0e58177750397
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 gemini.0.3.0; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-12\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'gemini.0.3.0' && 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 gemini.0.3.0) || true
RUN opam reinstall --with-test --verbose gemini.0.3.0; \
    res=$?; \
    test "$res" != 31 && exit "$res"; \
    export OPAMCLI=2.0; \
    build_dir=$(opam var prefix)/.opam-switch/build; \
    failed=$(ls "$build_dir"); \
    partial_fails=""; \
    for pkg in $failed; do \
    if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-12\""; then \
    echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field."; \
    fi; \
    test "$pkg" != 'gemini.0.3.0' && partial_fails="$partial_fails $pkg"; \
    done; \
    test "${partial_fails}" != "" && echo "opam-repo-ci detected dependencies failing: ${partial_fails}"; \
    exit 1

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

2025-07-22 12:24.53: Using cache hint "ocaml/opam:debian-12-ocaml-5.3@sha256:00533ee2614e93a96a33cf49af1f7f0987406c7bfeaa9da6abd0e58177750397-lwt.6.0.0~alpha01-gemini.0.3.0-381d421c95f23c7e41d7bd80fe4ee0fa7b4fca2f"
2025-07-22 12:24.53: Using OBuilder spec:
((from ocaml/opam:debian-12-ocaml-5.3@sha256:00533ee2614e93a96a33cf49af1f7f0987406c7bfeaa9da6abd0e58177750397)
 (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 gemini.0.3.0;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-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\" != 'gemini.0.3.0' && 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 gemini.0.3.0) || true"))
 (run (shell  "opam reinstall --with-test --verbose gemini.0.3.0;\
             \n        res=$?;\
             \n        test \"$res\" != 31 && exit \"$res\";\
             \n        export OPAMCLI=2.0;\
             \n        build_dir=$(opam var prefix)/.opam-switch/build;\
             \n        failed=$(ls \"$build_dir\");\
             \n        partial_fails=\"\";\
             \n        for pkg in $failed; do\
             \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-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\" != 'gemini.0.3.0' && 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.53: Waiting for resource in pool OCluster
2025-07-22 14:23.14: Waiting for worker…
2025-07-22 14:24.52: Got resource from pool OCluster
Building on doris.caelum.ci.dev
All commits already cached
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-5.3@sha256:00533ee2614e93a96a33cf49af1f7f0987406c7bfeaa9da6abd0e58177750397)
Unable to find image 'ocaml/opam:debian-12-ocaml-5.3@sha256:00533ee2614e93a96a33cf49af1f7f0987406c7bfeaa9da6abd0e58177750397' locally
docker.io/ocaml/opam@sha256:00533ee2614e93a96a33cf49af1f7f0987406c7bfeaa9da6abd0e58177750397: Pulling from ocaml/opam
04e8ce332f68: Already exists
47c9ab88b628: Pulling fs layer
9b13ed2c3471: Pulling fs layer
00f2a4800718: Pulling fs layer
ee9dc3df461c: Pulling fs layer
a157fe591541: Pulling fs layer
61d17b4226cf: Pulling fs layer
47c9ab88b628: Waiting
cc78fe48783a: Pulling fs layer
9b13ed2c3471: Waiting
ee9dc3df461c: Waiting
00f2a4800718: Waiting
a157fe591541: Waiting
cc78fe48783a: Waiting
47c9ab88b628: Verifying Checksum
47c9ab88b628: Download complete
47c9ab88b628: Pull complete
9b13ed2c3471: Verifying Checksum
9b13ed2c3471: Download complete
9b13ed2c3471: Pull complete
00f2a4800718: Verifying Checksum
00f2a4800718: Download complete
00f2a4800718: Pull complete
ee9dc3df461c: Verifying Checksum
ee9dc3df461c: Download complete
a157fe591541: Verifying Checksum
a157fe591541: Download complete
61d17b4226cf: Verifying Checksum
61d17b4226cf: Download complete
cc78fe48783a: Verifying Checksum
cc78fe48783a: Download complete
ee9dc3df461c: Pull complete
a157fe591541: Pull complete
61d17b4226cf: Pull complete
cc78fe48783a: Pull complete
Digest: sha256:00533ee2614e93a96a33cf49af1f7f0987406c7bfeaa9da6abd0e58177750397
Status: Downloaded newer image for ocaml/opam@sha256:00533ee2614e93a96a33cf49af1f7f0987406c7bfeaa9da6abd0e58177750397
2025-07-22 14:25.19 ---> using "22fbe9ba6647f53a1cc54c272b23108972d022bec1dc3ebca328ef84c9636c6b" 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 14:25.19 ---> using "2af28ae9ad3f6992ecf9fe6910a6a7b56d81013220d5bc09ea67865f5f6ccf38" 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 14:25.19 ---> using "22fd4e6d4a1f3ce2f3f42ea967b1e39bb5a5417271be4bcd7c61e37ca709c8b3" 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       5.3
# invariant            ["ocaml-base-compiler" {= "5.3.0"}]
# compiler-packages    ocaml-base-compiler.5.3.0, ocaml-compiler.5.3.0, ocaml-options-vanilla.1
# ocaml:native         true
# ocaml:native-tools   true
# ocaml:native-dynlink true
# ocaml:stubsdir       /home/opam/.opam/5.3/lib/ocaml/stublibs:/home/opam/.opam/5.3/lib/ocaml
# ocaml:preinstalled   false
# ocaml:compiler       5.3.0
2025-07-22 14:25.19 ---> using "f73a7b2b7cfbdf4abc366213142836a896e20ef78a30b0184a2e6ccb5f99b55b" 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 14:25.19 ---> using "e72e0dff7abcb48516d00687edbff92432f8a7997ed71756fdd77840819b7d42" from cache

/home/opam: (copy (src .) (dst opam-repository/))
2025-07-22 14:25.20 ---> using "289fe132b97c33fa285230d2d89ffec5f7a718eaf511fb262a06d91aa4dab236" from cache

/home/opam: (run (shell "opam repository set-url --strict default opam-repository/"))
[default] Initialised
2025-07-22 14:25.20 ---> using "320159ef33e62b11bc123e894697f80b9d3b6689027202bdcea72d572fa847e2" 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 (378 kB/s)
- Reading package lists...
2025-07-22 14:25.20 ---> using "7e222aab56b47ba5ffb23b952a8d4f648a85735a6ebe857d358e92a931a1f027" 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 14:25.20 ---> using "f941c93c64cccd0e4e5253a175bc14fc1dd766290fd62eacac1dcb51ffcb55d5" 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 14:25.20 ---> using "74e07d5f049c920e91435f253377cb9bb93714e700e15690032455fbb49108e1" from cache

/home/opam: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
                 (network host)
                 (shell  "opam reinstall gemini.0.3.0;\
                        \n        res=$?;\
                        \n        test \"$res\" != 31 && exit \"$res\";\
                        \n        export OPAMCLI=2.0;\
                        \n        build_dir=$(opam var prefix)/.opam-switch/build;\
                        \n        failed=$(ls \"$build_dir\");\
                        \n        partial_fails=\"\";\
                        \n        for pkg in $failed; do\
                        \n          if opam show -f x-ci-accept-failures: \"$pkg\" | grep -qF \"\\\"debian-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\" != 'gemini.0.3.0' && partial_fails=\"$partial_fails $pkg\";\
                        \n        done;\
                        \n        test \"${partial_fails}\" != \"\" && echo \"opam-repo-ci detected dependencies failing: ${partial_fails}\";\
                        \n        exit 1"))
gemini.0.3.0 is not installed. Install it? [y/n] y
The following actions will be performed:
=== install 130 packages
  - install angstrom                    0.16.1         [required by uri]
  - install astring                     0.8.5          [required by ocb-stubblr]
  - install async                       v0.17.0        [required by gemini]
  - install async_kernel                v0.17.0        [required by async]
  - install async_log                   v0.17.0        [required by async]
  - install async_rpc_kernel            v0.17.0        [required by async]
  - install async_ssl                   v0.17.0-1      [required by gemini]
  - install async_unix                  v0.17.0        [required by async]
  - install async_websocket             v0.17.0        [required by cohttp_async_websocket]
  - install base                        v0.17.3        [required by async_ssl, ppx_csv_conv]
  - install base64                      3.5.1          [required by cohttp_async_websocket]
  - install base_bigstring              v0.17.0        [required by core]
  - install base_quickcheck             v0.17.1        [required by core]
  - install bigarray-compat             1.1.0          [required by ctypes]
  - install bigstringaf                 0.10.0         [required by angstrom]
  - install bin_prot                    v0.17.0-1      [required by core]
  - install capitalization              v0.17.0        [required by ppx_string_conv]
  - install cohttp                      5.3.1          [required by cohttp_async_websocket]
  - install cohttp-async                5.3.0          [required by gemini]
  - install cohttp_async_websocket      v0.17.0        [required by gemini]
  - install conduit                     8.0.0          [required by conduit-async]
  - install conduit-async               8.0.0          [required by cohttp-async]
  - install conf-gmp                    5              [required by conf-gmp-powm-sec, zarith]
  - install conf-gmp-powm-sec           4              [required by cryptokit]
  - install conf-libffi                 2.0.0          [required by ctypes-foreign]
  - install conf-libssl                 4              [required by async_ssl]
  - install conf-pkg-config             4              [required by conf-libssl, ctypes-foreign]
  - install conf-zlib                   1              [required by cryptokit]
  - install core                        v0.17.1        [required by gemini]
  - install core_kernel                 v0.17.0        [required by async]
  - install core_unix                   v0.17.1        [required by async]
  - install cpuid                       0.1.2          [required by nocrypto]
  - install cryptokit                   1.16.1         [required by async_websocket]
  - install cstruct                     6.0.1          [required by hex, nocrypto]
  - install cstruct-lwt                 6.0.1          [required by nocrypto]
  - install csvfields                   v0.17.0        [required by gemini]
  - install ctypes                      0.23.0         [required by async_ssl]
  - install ctypes-foreign              0.23.0         [required by async_ssl]
  - install domain-name                 0.4.1          [required by ipaddr]
  - install expect_test_helpers_core    v0.17.0        [required by gemini]
  - install fieldslib                   v0.17.0        [required by core]
  - install fmt                         0.10.0         [required by cohttp-async]
  - install gel                         v0.17.0        [required by async_rpc_kernel]
  - install gemini                      0.3.0
  - install hex                         1.5.0          [required by gemini]
  - install int_repr                    v0.17.0        [required by core_kernel]
  - install integers                    0.7.0          [required by ctypes]
  - install ipaddr                      5.6.0          [required by cohttp-async]
  - install ipaddr-sexp                 5.6.0          [required by conduit-async]
  - install jane-street-headers         v0.17.0        [required by core]
  - install jsonm                       1.0.2          [required by cohttp]
  - install jst-config                  v0.17.0        [required by core]
  - install logs                        0.9.0          [required by cohttp-async]
  - install macaddr                     5.6.0          [required by ipaddr]
  - install magic-mime                  1.3.1          [required by cohttp-async]
  - install mirage-no-solo5             1 (deprecated) [required by nocrypto]
  - install mirage-no-xen               1 (deprecated) [required by nocrypto]
  - install nocrypto                    0.5.4-2        [required by gemini]
  - install num                         1.6            [required by csvfields]
  - install ocaml-compiler-libs         v0.17.0        [required by ppxlib]
  - install ocaml-syntax-shims          1.0.0          [required by angstrom]
  - install ocaml_intrinsics_kernel     v0.17.1        [required by base]
  - install ocamlbuild                  0.16.1         [required by nocrypto]
  - install ocb-stubblr                 0.1.1-1        [required by nocrypto]
  - install parsexp                     v0.17.0        [required by sexplib]
  - install ppx_assert                  v0.17.0        [required by core]
  - install ppx_base                    v0.17.0        [required by core]
  - install ppx_bench                   v0.17.1        [required by ppx_jane]
  - install ppx_bin_prot                v0.17.1        [required by ppx_jane]
  - install ppx_cold                    v0.17.0        [required by ppx_base]
  - install ppx_compare                 v0.17.0        [required by ppx_diff]
  - install ppx_conv_func               v0.17.0        [required by ppx_csv_conv]
  - install ppx_csv_conv                v0.17.0        [required by gemini]
  - install ppx_custom_printf           v0.17.0        [required by ppx_jane]
  - install ppx_derivers                1.2.1          [required by ppx_deriving]
  - install ppx_deriving                6.1.1          [required by nocrypto, ppx_deriving_yojson]
  - install ppx_deriving_yojson         3.10.0         [required by gemini]
  - install ppx_diff                    v0.17.1        [required by core]
  - install ppx_disable_unused_warnings v0.17.0        [required by ppx_jane]
  - install ppx_enumerate               v0.17.0        [required by ppx_diff]
  - install ppx_expect                  v0.17.3        [required by ppx_jane]
  - install ppx_fields_conv             v0.17.0        [required by ppx_csv_conv]
  - install ppx_fixed_literal           v0.17.0        [required by ppx_jane]
  - install ppx_globalize               v0.17.2        [required by ppx_base]
  - install ppx_hash                    v0.17.0        [required by core]
  - install ppx_here                    v0.17.0        [required by conduit-async]
  - install ppx_ignore_instrumentation  v0.17.0        [required by ppx_jane]
  - install ppx_inline_test             v0.17.1        [required by core]
  - install ppx_jane                    v0.17.0        [required by gemini]
  - install ppx_let                     v0.17.1        [required by ppx_jane]
  - install ppx_log                     v0.17.0        [required by ppx_jane]
  - install ppx_module_timer            v0.17.0        [required by ppx_jane]
  - install ppx_optcomp                 v0.17.1        [required by async_ssl]
  - install ppx_optional                v0.17.0        [required by ppx_jane]
  - install ppx_pipebang                v0.17.0        [required by ppx_jane]
  - install ppx_sexp_conv               v0.17.1        [required by nocrypto]
  - install ppx_sexp_message            v0.17.0        [required by core]
  - install ppx_sexp_value              v0.17.0        [required by ppx_jane]
  - install ppx_stable                  v0.17.1        [required by ppx_jane]
  - install ppx_stable_witness          v0.17.0        [required by ppx_jane]
  - install ppx_string                  v0.17.0        [required by ppx_jane]
  - install ppx_string_conv             v0.17.0        [required by ppx_jane]
  - install ppx_tydi                    v0.17.1        [required by ppx_jane]
  - install ppx_typerep_conv            v0.17.1        [required by ppx_jane]
  - install ppx_variants_conv           v0.17.1        [required by ppx_jane]
  - install ppxlib                      0.36.0         [required by ppx_csv_conv, ppx_deriving_yojson]
  - install ppxlib_jane                 v0.17.4        [required by ppx_diff]
  - install protocol_version_header     v0.17.0        [required by async_rpc_kernel]
  - install re                          1.13.2         [required by cohttp]
  - install seq                         base           [required by re]
  - install sexp_pretty                 v0.17.0        [required by expect_test_helpers_core]
  - install sexplib                     v0.17.0        [required by csvfields, nocrypto]
  - install sexplib0                    v0.17.0        [required by cohttp, cohttp-async]
  - install spawn                       v0.17.0        [required by core_unix]
  - install splittable_random           v0.17.0        [required by core]
  - install stdio                       v0.17.0        [required by async_ssl]
  - install stdlib-shims                0.3.0          [required by integers]
  - install stringext                   1.6.0          [required by cohttp]
  - install textutils                   v0.17.0        [required by async]
  - install time_now                    v0.17.0        [required by core]
  - install timezone                    v0.17.0        [required by async_log]
  - install topkg                       1.0.8          [required by nocrypto]
  - install typerep                     v0.17.1        [required by core]
  - install uopt                        v0.17.0        [required by core_kernel]
  - install uri                         4.4.0          [required by gemini]
  - install uri-sexp                    4.4.0          [required by cohttp_async_websocket]
  - install uutf                        1.0.4          [required by textutils]
  - install variantslib                 v0.17.0        [required by core]
  - install yojson                      3.0.0          [required by gemini]
  - install zarith                      1.14           [required by gemini]

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

<><> 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" "libffi-dev" "libgmp-dev" "libssl-dev" "pkg-config" "zlib1g-dev"
- debconf: delaying package configuration, since apt-utils is not installed
- Selecting previously unselected package libffi-dev: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 ... 18778 files and directories currently installed.)
- Preparing to unpack .../0-libffi-dev_3.4.4-1_amd64.deb ...
- Unpacking libffi-dev:amd64 (3.4.4-1) ...
- Selecting previously unselected package libgmpxx4ldbl:amd64.
- Preparing to unpack .../1-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 .../2-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 .../3-libpkgconf3_1.8.1-1_amd64.deb ...
- Unpacking libpkgconf3:amd64 (1.8.1-1) ...
- Selecting previously unselected package libssl-dev:amd64.
- Preparing to unpack .../4-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 .../5-pkgconf-bin_1.8.1-1_amd64.deb ...
- Unpacking pkgconf-bin (1.8.1-1) ...
- Selecting previously unselected package pkgconf:amd64.
- Preparing to unpack .../6-pkgconf_1.8.1-1_amd64.deb ...
- Unpacking pkgconf:amd64 (1.8.1-1) ...
- Selecting previously unselected package pkg-config:amd64.
- Preparing to unpack .../7-pkg-config_1.8.1-1_amd64.deb ...
- Unpacking pkg-config:amd64 (1.8.1-1) ...
- Selecting previously unselected package zlib1g-dev:amd64.
- Preparing to unpack .../8-zlib1g-dev_1%3a1.2.13.dfsg-1_amd64.deb ...
- Unpacking zlib1g-dev:amd64 (1:1.2.13.dfsg-1) ...
- Setting up libffi-dev:amd64 (3.4.4-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 zlib1g-dev:amd64 (1:1.2.13.dfsg-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 astring.0.8.5  (cached)
-> retrieved async.v0.17.0  (cached)
-> retrieved async_kernel.v0.17.0  (cached)
-> retrieved async_log.v0.17.0  (cached)
-> retrieved async_rpc_kernel.v0.17.0  (cached)
-> retrieved async_ssl.v0.17.0-1  (cached)
-> retrieved async_unix.v0.17.0  (cached)
-> retrieved async_websocket.v0.17.0  (cached)
-> retrieved base.v0.17.3  (cached)
-> retrieved base64.3.5.1  (cached)
-> retrieved base_bigstring.v0.17.0  (cached)
-> retrieved base_quickcheck.v0.17.1  (cached)
-> retrieved bigarray-compat.1.1.0  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved bin_prot.v0.17.0-1  (cached)
-> retrieved capitalization.v0.17.0  (cached)
-> retrieved cohttp.5.3.1  (cached)
-> retrieved cohttp-async.5.3.0  (cached)
-> retrieved cohttp_async_websocket.v0.17.0  (cached)
-> retrieved conduit.8.0.0, conduit-async.8.0.0  (cached)
-> retrieved conf-gmp.5  (cached)
-> retrieved conf-gmp-powm-sec.4  (cached)
-> retrieved conf-libssl.4  (cached)
-> retrieved core.v0.17.1  (cached)
-> installed conf-gmp.5
-> installed conf-pkg-config.4
-> retrieved core_kernel.v0.17.0  (cached)
-> installed bigarray-compat.1.1.0
-> installed base64.3.5.1
-> installed conf-gmp-powm-sec.4
-> installed conf-libffi.2.0.0
-> installed conf-libssl.4
-> installed conf-zlib.1
-> retrieved core_unix.v0.17.1  (cached)
-> retrieved cpuid.0.1.2  (cached)
-> retrieved cryptokit.1.16.1  (cached)
-> retrieved cstruct.6.0.1, cstruct-lwt.6.0.1  (cached)
-> installed bigstringaf.0.10.0
-> retrieved csvfields.v0.17.0  (cached)
-> retrieved ctypes.0.23.0, ctypes-foreign.0.23.0  (cached)
-> installed cpuid.0.1.2
-> retrieved domain-name.0.4.1  (cached)
-> retrieved expect_test_helpers_core.v0.17.0  (cached)
-> retrieved fieldslib.v0.17.0  (cached)
-> retrieved fmt.0.10.0  (cached)
-> retrieved gel.v0.17.0  (cached)
-> retrieved gemini.0.3.0  (https://opam.ocaml.org/cache)
-> retrieved hex.1.5.0  (cached)
-> retrieved int_repr.v0.17.0  (cached)
-> retrieved integers.0.7.0  (cached)
-> retrieved ipaddr.5.6.0, ipaddr-sexp.5.6.0, macaddr.5.6.0  (cached)
-> retrieved jane-street-headers.v0.17.0  (cached)
-> retrieved jsonm.1.0.2  (cached)
-> retrieved jst-config.v0.17.0  (cached)
-> retrieved logs.0.9.0  (cached)
-> installed cstruct.6.0.1
-> retrieved magic-mime.1.3.1  (cached)
-> installed mirage-no-solo5.1
-> installed mirage-no-xen.1
-> installed domain-name.0.4.1
-> installed jane-street-headers.v0.17.0
-> retrieved nocrypto.0.5.4-2  (cached)
-> installed macaddr.5.6.0
-> installed cstruct-lwt.6.0.1
-> installed hex.1.5.0
-> retrieved num.1.6  (cached)
-> retrieved ocaml-compiler-libs.v0.17.0  (cached)
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocaml_intrinsics_kernel.v0.17.1  (cached)
-> retrieved ocamlbuild.0.16.1  (cached)
-> retrieved ocb-stubblr.0.1.1-1  (cached)
-> retrieved parsexp.v0.17.0  (cached)
-> retrieved ppx_assert.v0.17.0  (cached)
-> retrieved ppx_base.v0.17.0  (cached)
-> retrieved ppx_bench.v0.17.1  (cached)
-> retrieved ppx_bin_prot.v0.17.1  (cached)
-> retrieved ppx_cold.v0.17.0  (cached)
-> retrieved ppx_compare.v0.17.0  (cached)
-> retrieved ppx_conv_func.v0.17.0  (cached)
-> retrieved ppx_csv_conv.v0.17.0  (cached)
-> retrieved ppx_custom_printf.v0.17.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ppx_deriving.6.1.1  (cached)
-> retrieved ppx_deriving_yojson.3.10.0  (cached)
-> retrieved ppx_diff.v0.17.1  (cached)
-> retrieved ppx_disable_unused_warnings.v0.17.0  (cached)
-> retrieved ppx_enumerate.v0.17.0  (cached)
-> retrieved ppx_expect.v0.17.3  (cached)
-> retrieved ppx_fields_conv.v0.17.0  (cached)
-> retrieved ppx_fixed_literal.v0.17.0  (cached)
-> retrieved ppx_globalize.v0.17.2  (cached)
-> retrieved ppx_hash.v0.17.0  (cached)
-> retrieved ppx_here.v0.17.0  (cached)
-> retrieved ppx_ignore_instrumentation.v0.17.0  (cached)
-> retrieved ppx_inline_test.v0.17.1  (cached)
-> retrieved ppx_jane.v0.17.0  (cached)
-> retrieved ppx_let.v0.17.1  (cached)
-> installed ocaml_intrinsics_kernel.v0.17.1
-> installed ppx_derivers.1.2.1
-> retrieved ppx_log.v0.17.0  (cached)
-> installed ipaddr.5.6.0
-> installed magic-mime.1.3.1
-> retrieved ppx_module_timer.v0.17.0  (cached)
-> retrieved ppx_optcomp.v0.17.1  (cached)
-> retrieved ppx_optional.v0.17.0  (cached)
-> retrieved ppx_pipebang.v0.17.0  (cached)
-> retrieved ppx_sexp_conv.v0.17.1  (cached)
-> retrieved ppx_sexp_message.v0.17.0  (cached)
-> retrieved ppx_sexp_value.v0.17.0  (cached)
-> retrieved ppx_stable.v0.17.1  (cached)
-> retrieved ppx_stable_witness.v0.17.0  (cached)
-> retrieved ppx_string.v0.17.0  (cached)
-> retrieved ppx_string_conv.v0.17.0  (cached)
-> retrieved ppx_tydi.v0.17.1  (cached)
-> retrieved ppx_typerep_conv.v0.17.1  (cached)
-> retrieved ppx_variants_conv.v0.17.1  (cached)
-> retrieved ppxlib.0.36.0  (cached)
-> retrieved ppxlib_jane.v0.17.4  (cached)
-> retrieved protocol_version_header.v0.17.0  (cached)
-> retrieved re.1.13.2  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> retrieved sexp_pretty.v0.17.0  (cached)
-> retrieved sexplib.v0.17.0  (cached)
-> retrieved sexplib0.v0.17.0  (cached)
-> retrieved spawn.v0.17.0  (cached)
-> retrieved splittable_random.v0.17.0  (cached)
-> retrieved stdio.v0.17.0  (cached)
-> retrieved stdlib-shims.0.3.0  (cached)
-> retrieved stringext.1.6.0  (cached)
-> retrieved textutils.v0.17.0  (cached)
-> retrieved time_now.v0.17.0  (cached)
-> retrieved timezone.v0.17.0  (cached)
-> retrieved topkg.1.0.8  (cached)
-> retrieved typerep.v0.17.1  (cached)
-> installed ocaml-syntax-shims.1.0.0
-> retrieved uopt.v0.17.0  (cached)
-> installed ocaml-compiler-libs.v0.17.0
-> retrieved uri.4.4.0, uri-sexp.4.4.0  (cached)
-> retrieved uutf.1.0.4  (cached)
-> retrieved variantslib.v0.17.0  (cached)
-> retrieved yojson.3.0.0  (cached)
-> installed spawn.v0.17.0
-> installed stdlib-shims.0.3.0
-> installed stringext.1.6.0
-> retrieved zarith.1.14  (cached)
-> installed sexplib0.v0.17.0
-> installed num.1.6
-> installed angstrom.0.16.1
-> installed integers.0.7.0
-> installed re.1.13.2
-> installed yojson.3.0.0
-> installed parsexp.v0.17.0
-> installed uri.4.4.0
-> installed sexplib.v0.17.0
-> installed zarith.1.14
-> installed ocamlbuild.0.16.1
-> installed cryptokit.1.16.1
-> installed ctypes.0.23.0
-> installed base.v0.17.3
-> installed fieldslib.v0.17.0
-> installed variantslib.v0.17.0
-> installed stdio.v0.17.0
-> installed typerep.v0.17.1
-> installed ctypes-foreign.0.23.0
-> installed topkg.1.0.8
-> installed uutf.1.0.4
-> installed fmt.0.10.0
-> installed astring.0.8.5
-> installed jsonm.1.0.2
-> installed ocb-stubblr.0.1.1-1
-> installed logs.0.9.0
-> installed ppxlib.0.36.0
-> installed ppx_optcomp.v0.17.1
-> installed ppxlib_jane.v0.17.4
-> installed ppx_conv_func.v0.17.0
-> installed ppx_tydi.v0.17.1
-> installed ppx_cold.v0.17.0
-> installed ppx_disable_unused_warnings.v0.17.0
-> installed ppx_here.v0.17.0
-> installed ppx_stable_witness.v0.17.0
-> installed ppx_typerep_conv.v0.17.1
-> installed ppx_variants_conv.v0.17.1
-> installed ppx_fields_conv.v0.17.0
-> installed ppx_pipebang.v0.17.0
-> installed ppx_stable.v0.17.1
-> installed ppx_ignore_instrumentation.v0.17.0
-> installed ppx_fixed_literal.v0.17.0
-> installed ppx_enumerate.v0.17.0
-> installed ppx_globalize.v0.17.2
-> installed ppx_deriving.6.1.1
-> installed ppx_compare.v0.17.0
-> installed ppx_optional.v0.17.0
-> installed ppx_sexp_conv.v0.17.1
-> installed ppx_let.v0.17.1
-> installed ppx_deriving_yojson.3.10.0
-> installed ipaddr-sexp.5.6.0
-> installed uri-sexp.4.4.0
-> installed ppx_hash.v0.17.0
-> installed ppx_assert.v0.17.0
-> installed ppx_sexp_value.v0.17.0
-> installed ppx_sexp_message.v0.17.0
-> installed conduit.8.0.0
-> installed ppx_custom_printf.v0.17.0
-> installed ppx_base.v0.17.0
-> installed cohttp.5.3.1
-> installed capitalization.v0.17.0
-> installed jst-config.v0.17.0
-> installed sexp_pretty.v0.17.0
-> installed bin_prot.v0.17.0-1
-> installed ppx_string.v0.17.0
-> installed time_now.v0.17.0
-> installed ppx_bin_prot.v0.17.1
[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".
-> installed ppx_string_conv.v0.17.0
-> installed ppx_module_timer.v0.17.0
-> installed ppx_inline_test.v0.17.1
-> installed ppx_bench.v0.17.1
-> installed ppx_expect.v0.17.3
-> installed splittable_random.v0.17.0
-> installed base_quickcheck.v0.17.1
-> installed ppx_log.v0.17.0
-> installed ppx_jane.v0.17.0
-> installed uopt.v0.17.0
-> installed gel.v0.17.0
-> installed int_repr.v0.17.0
-> installed base_bigstring.v0.17.0
-> installed ppx_diff.v0.17.1
-> installed core.v0.17.1
-> installed csvfields.v0.17.0
-> installed protocol_version_header.v0.17.0
-> installed timezone.v0.17.0
-> installed expect_test_helpers_core.v0.17.0
-> installed ppx_csv_conv.v0.17.0
-> installed core_kernel.v0.17.0
-> installed async_kernel.v0.17.0
-> installed core_unix.v0.17.1
-> installed textutils.v0.17.0
-> installed async_rpc_kernel.v0.17.0
-> installed async_unix.v0.17.0
-> installed async_log.v0.17.0
-> installed async.v0.17.0
-> installed async_websocket.v0.17.0
-> installed async_ssl.v0.17.0-1
-> installed conduit-async.8.0.0
-> installed cohttp-async.5.3.0
-> installed cohttp_async_websocket.v0.17.0

#=== ERROR while compiling nocrypto.0.5.4-2 ===================================#
# context              2.3.0 | linux/x86_64 | ocaml-base-compiler.5.3.0 | file:///home/opam/opam-repository
# path                 ~/.opam/5.3/.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-bd874e.env
# output-file          ~/.opam/log/nocrypto-7-bd874e.out
### output ###
# + ocamlfind ocamlc -config
# + ocamlfind ocamlopt -package unix -package ocamlbuild -linkpkg -package ocb-stubblr myocamlbuild.ml /home/opam/.opam/5.3/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 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
# 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 report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build nocrypto 0.5.4-2
+- 
+- The following changes have been performed (the rest was aborted)
| - install angstrom                    0.16.1
| - install astring                     0.8.5
| - install async                       v0.17.0
| - install async_kernel                v0.17.0
| - install async_log                   v0.17.0
| - install async_rpc_kernel            v0.17.0
| - install async_ssl                   v0.17.0-1
| - install async_unix                  v0.17.0
| - install async_websocket             v0.17.0
| - install base                        v0.17.3
| - install base64                      3.5.1
| - install base_bigstring              v0.17.0
| - install base_quickcheck             v0.17.1
| - install bigarray-compat             1.1.0
| - install bigstringaf                 0.10.0
| - install bin_prot                    v0.17.0-1
| - install capitalization              v0.17.0
| - install cohttp                      5.3.1
| - install cohttp-async                5.3.0
| - install cohttp_async_websocket      v0.17.0
| - install conduit                     8.0.0
| - install conduit-async               8.0.0
| - install conf-gmp                    5
| - install conf-gmp-powm-sec           4
| - install conf-libffi                 2.0.0
| - install conf-libssl                 4
| - install conf-pkg-config             4
| - install conf-zlib                   1
| - install core                        v0.17.1
| - install core_kernel                 v0.17.0
| - install core_unix                   v0.17.1
| - install cpuid                       0.1.2
| - install cryptokit                   1.16.1
| - install cstruct                     6.0.1
| - install cstruct-lwt                 6.0.1
| - install csvfields                   v0.17.0
| - install ctypes                      0.23.0
| - install ctypes-foreign              0.23.0
| - install domain-name                 0.4.1
| - install expect_test_helpers_core    v0.17.0
| - install fieldslib                   v0.17.0
| - install fmt                         0.10.0
| - install gel                         v0.17.0
| - install hex                         1.5.0
| - install int_repr                    v0.17.0
| - install integers                    0.7.0
| - install ipaddr                      5.6.0
| - install ipaddr-sexp                 5.6.0
| - install jane-street-headers         v0.17.0
| - install jsonm                       1.0.2
| - install jst-config                  v0.17.0
| - install logs                        0.9.0
| - install macaddr                     5.6.0
| - install magic-mime                  1.3.1
| - install mirage-no-solo5             1
| - install mirage-no-xen               1
| - install num                         1.6
| - install ocaml-compiler-libs         v0.17.0
| - install ocaml-syntax-shims          1.0.0
| - install ocaml_intrinsics_kernel     v0.17.1
| - install ocamlbuild                  0.16.1
| - install ocb-stubblr                 0.1.1-1
| - install parsexp                     v0.17.0
| - install ppx_assert                  v0.17.0
| - install ppx_base                    v0.17.0
| - install ppx_bench                   v0.17.1
| - install ppx_bin_prot                v0.17.1
| - install ppx_cold                    v0.17.0
| - install ppx_compare                 v0.17.0
| - install ppx_conv_func               v0.17.0
| - install ppx_csv_conv                v0.17.0
| - install ppx_custom_printf           v0.17.0
| - install ppx_derivers                1.2.1
| - install ppx_deriving                6.1.1
| - install ppx_deriving_yojson         3.10.0
| - install ppx_diff                    v0.17.1
| - install ppx_disable_unused_warnings v0.17.0
| - install ppx_enumerate               v0.17.0
| - install ppx_expect                  v0.17.3
| - install ppx_fields_conv             v0.17.0
| - install ppx_fixed_literal           v0.17.0
| - install ppx_globalize               v0.17.2
| - install ppx_hash                    v0.17.0
| - install ppx_here                    v0.17.0
| - install ppx_ignore_instrumentation  v0.17.0
| - install ppx_inline_test             v0.17.1
| - install ppx_jane                    v0.17.0
| - install ppx_let                     v0.17.1
| - install ppx_log                     v0.17.0
| - install ppx_module_timer            v0.17.0
| - install ppx_optcomp                 v0.17.1
| - install ppx_optional                v0.17.0
| - install ppx_pipebang                v0.17.0
| - install ppx_sexp_conv               v0.17.1
| - install ppx_sexp_message            v0.17.0
| - install ppx_sexp_value              v0.17.0
| - install ppx_stable                  v0.17.1
| - install ppx_stable_witness          v0.17.0
| - install ppx_string                  v0.17.0
| - install ppx_string_conv             v0.17.0
| - install ppx_tydi                    v0.17.1
| - install ppx_typerep_conv            v0.17.1
| - install ppx_variants_conv           v0.17.1
| - install ppxlib                      0.36.0
| - install ppxlib_jane                 v0.17.4
| - install protocol_version_header     v0.17.0
| - install re                          1.13.2
| - install seq                         base
| - install sexp_pretty                 v0.17.0
| - install sexplib                     v0.17.0
| - install sexplib0                    v0.17.0
| - install spawn                       v0.17.0
| - install splittable_random           v0.17.0
| - install stdio                       v0.17.0
| - install stdlib-shims                0.3.0
| - install stringext                   1.6.0
| - install textutils                   v0.17.0
| - install time_now                    v0.17.0
| - install timezone                    v0.17.0
| - install topkg                       1.0.8
| - install typerep                     v0.17.1
| - install uopt                        v0.17.0
| - install uri                         4.4.0
| - install uri-sexp                    4.4.0
| - install uutf                        1.0.4
| - install variantslib                 v0.17.0
| - 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.
# 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/5.3/.opam-switch/backup/state-20250722142521.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.
opam-repo-ci detected dependencies failing:  nocrypto.0.5.4-2
"/usr/bin/env" "bash" "-c" "opam reinstall gemini.0.3.0;
        res=$?;
        test "$res" != 31 && exit "$res";
        export OPAMCLI=2.0;
        build_dir=$(opam var prefix)/.opam-switch/build;
        failed=$(ls "$build_dir");
        partial_fails="";
        for pkg in $failed; do
          if opam show -f x-ci-accept-failures: "$pkg" | grep -qF "\"debian-12\""; then
            echo "A package failed and has been disabled for CI using the 'x-ci-accept-failures' field.";
          fi;
          test "$pkg" != 'gemini.0.3.0' && 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 14:27.34: Job failed: Failed: Build failed
2025-07-22 14:27.34: Log analysis:
2025-07-22 14:27.34: >>> 
[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 14:27.34: >>> 
opam-repo-ci detected dependencies failing:  nocrypto.0.5.4-2
 (score = 75)
2025-07-22 14:27.34:  nocrypto.0.5.4-2 failed to build