2026-04-03 11:35.30: New job: test backtracking/bitv https://github.com/backtracking/bitv.git#refs/heads/persistent-bit-vectors (459b76d4286b3fd31297aa41766da2762554a426) (linux-x86_64:opensuse-15.6-4.14_opam-2.5) Base: ocaml/opam:opensuse-15.6-ocaml-4.14@sha256:ea7df7b97205b48d47783accd725289689add0bdd28c25efd13baad8a7f63e67 Opam project build To reproduce locally: git clone --recursive "https://github.com/backtracking/bitv.git" -b "persistent-bit-vectors" && cd "bitv" && git reset --hard 459b76d4 cat > Dockerfile <<'END-OF-DOCKERFILE' FROM ocaml/opam:opensuse-15.6-ocaml-4.14@sha256:ea7df7b97205b48d47783accd725289689add0bdd28c25efd13baad8a7f63e67 # opensuse-15.6-4.14_opam-2.5 USER 1000:1000 ENV CLICOLOR_FORCE="1" ENV OPAMCOLOR="always" WORKDIR /src RUN sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam RUN opam init --reinit -ni RUN uname -rs && opam exec -- ocaml -version && opam --version WORKDIR /src RUN sudo chown opam /src RUN cd ~/opam-repository && (git cat-file -e d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && git log --no-decorate -n1 --oneline && opam update -u COPY --chown=1000:1000 bitv.opam ./ RUN opam pin add -yn bitv.dev './' RUN echo '(lang dune 3.0)' > './dune-project' ENV DEPS="base-bigarray.base base-threads.base base-unix.base dune.3.22.1 ocaml.4.14.3 ocaml-base-compiler.4.14.3 ocaml-config.2 ocaml-options-vanilla.1" ENV CI="true" ENV OCAMLCI="true" RUN opam update --depexts && opam install --cli=2.5 --depext-only -y bitv.dev $DEPS RUN opam install $DEPS COPY --chown=1000:1000 . /src RUN opam exec -- dune build @install @check @runtest && rm -rf _build END-OF-DOCKERFILE docker build . END-REPRO-BLOCK 2026-04-03 11:35.30: Using cache hint "backtracking/bitv-ocaml/opam:opensuse-15.6-ocaml-4.14@sha256:ea7df7b97205b48d47783accd725289689add0bdd28c25efd13baad8a7f63e67-opensuse-15.6-4.14_opam-2.5-1aa9b83d821bd66ff831e523a4626b65" 2026-04-03 11:35.30: Using OBuilder spec: ((from ocaml/opam:opensuse-15.6-ocaml-4.14@sha256:ea7df7b97205b48d47783accd725289689add0bdd28c25efd13baad8a7f63e67) (comment opensuse-15.6-4.14_opam-2.5) (user (uid 1000) (gid 1000)) (env CLICOLOR_FORCE 1) (env OPAMCOLOR always) (workdir /src) (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam")) (run (shell "opam init --reinit -ni")) (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) (workdir /src) (run (shell "sudo chown opam /src")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && git log --no-decorate -n1 --oneline && opam update -u")) (copy (src bitv.opam) (dst ./)) (run (network host) (shell "opam pin add -yn bitv.dev './'")) (run (shell "echo '(lang dune 3.0)' > './dune-project'")) (env DEPS "base-bigarray.base base-threads.base base-unix.base dune.3.22.1 ocaml.4.14.3 ocaml-base-compiler.4.14.3 ocaml-config.2 ocaml-options-vanilla.1") (env CI true) (env OCAMLCI true) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y bitv.dev $DEPS")) (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) (copy (src .) (dst /src)) (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) ) 2026-04-03 11:35.30: Waiting for resource in pool OCluster 2026-04-03 11:41.03: Waiting for worker… 2026-04-03 11:43.12: Got resource from pool OCluster Building on doris.caelum.ci.dev All commits already cached HEAD is now at 459b76d sets over a given universe (from ocaml/opam:opensuse-15.6-ocaml-4.14@sha256:ea7df7b97205b48d47783accd725289689add0bdd28c25efd13baad8a7f63e67) Unable to find image 'ocaml/opam:opensuse-15.6-ocaml-4.14@sha256:ea7df7b97205b48d47783accd725289689add0bdd28c25efd13baad8a7f63e67' locally docker.io/ocaml/opam@sha256:ea7df7b97205b48d47783accd725289689add0bdd28c25efd13baad8a7f63e67: Pulling from ocaml/opam cf0250ddcb79: Pulling fs layer 54ef38c3c526: Pulling fs layer aefa76fd54e9: Pulling fs layer 5160a68bee03: Pulling fs layer dff8487ca90e: Pulling fs layer b5251e6ddd43: Pulling fs layer cf0250ddcb79: Waiting d04e35b39212: Pulling fs layer 54ef38c3c526: Waiting 8a2c8750a65d: Pulling fs layer c2bd98b2043f: Pulling fs layer 5160a68bee03: Waiting dff8487ca90e: Waiting d04e35b39212: Waiting 92d1ca2d50ad: Pulling fs layer 0c6bc91a1b86: Pulling fs layer 8a2c8750a65d: Waiting 92d1ca2d50ad: Waiting d401ac8151ea: Pulling fs layer 0c6bc91a1b86: Waiting fecb8eb50ef9: Pulling fs layer d401ac8151ea: Waiting c2bd98b2043f: Waiting 994c30767800: Pulling fs layer fecb8eb50ef9: Waiting 373c0f192c59: Pulling fs layer 994c30767800: Waiting 2ab629b957a4: Pulling fs layer 547301ca33cf: Pulling fs layer 373c0f192c59: Waiting 2ab629b957a4: Waiting 45dd79c31b90: Pulling fs layer 4f4fb700ef54: Pulling fs layer 45dd79c31b90: Waiting 547301ca33cf: Waiting bbf088cc8b89: Pulling fs layer 7d084657d09b: Pulling fs layer 4f4fb700ef54: Waiting 2f7fdd47d012: Pulling fs layer bbf088cc8b89: Waiting bacfe3fbab4c: Pulling fs layer 2f7fdd47d012: Waiting 8dd3fdf6dbcc: Pulling fs layer bacfe3fbab4c: Waiting 178679eaaecc: Pulling fs layer 833aa5f3f1e1: Pulling fs layer 8dd3fdf6dbcc: Waiting 3fe068bfdf2c: Pulling fs layer 49b5535fa493: Pulling fs layer e5952018833a: Pulling fs layer 178679eaaecc: Waiting 525eae7302cc: Pulling fs layer 833aa5f3f1e1: Waiting 4f96601806d7: Pulling fs layer 3fe068bfdf2c: Waiting 49b5535fa493: Waiting ad34c1ad9b31: Pulling fs layer cd5ff2180057: Pulling fs layer e5952018833a: Waiting ad34c1ad9b31: Waiting dd297f4c55fb: Pulling fs layer cd5ff2180057: Waiting 291468184bd2: Pulling fs layer 1fbd20167461: Pulling fs layer dd297f4c55fb: Waiting d39c1baaf8e5: Pulling fs layer 17b7502e279e: Pulling fs layer d39c1baaf8e5: Waiting 1a08779b4d9e: Pulling fs layer 1fbd20167461: Waiting 17b7502e279e: Waiting 0d2853b618f6: Pulling fs layer 5ee207db47eb: Pulling fs layer 0d2853b618f6: Waiting 5a776fd8eb40: Pulling fs layer 5a776fd8eb40: Waiting 54ef38c3c526: Download complete cf0250ddcb79: Verifying Checksum cf0250ddcb79: Download complete cf0250ddcb79: Pull complete 54ef38c3c526: Pull complete 5160a68bee03: Verifying Checksum 5160a68bee03: Download complete dff8487ca90e: Verifying Checksum dff8487ca90e: Download complete b5251e6ddd43: Verifying Checksum b5251e6ddd43: Download complete aefa76fd54e9: Verifying Checksum aefa76fd54e9: Download complete d04e35b39212: Verifying Checksum d04e35b39212: Download complete c2bd98b2043f: Download complete 92d1ca2d50ad: Verifying Checksum 92d1ca2d50ad: Download complete aefa76fd54e9: Pull complete 0c6bc91a1b86: Verifying Checksum 0c6bc91a1b86: Download complete 8a2c8750a65d: Verifying Checksum 8a2c8750a65d: Download complete d401ac8151ea: Verifying Checksum d401ac8151ea: Download complete fecb8eb50ef9: Verifying Checksum fecb8eb50ef9: Download complete 994c30767800: Verifying Checksum 994c30767800: Download complete 373c0f192c59: Verifying Checksum 373c0f192c59: Download complete 2ab629b957a4: Download complete 547301ca33cf: Verifying Checksum 547301ca33cf: Download complete 45dd79c31b90: Verifying Checksum 45dd79c31b90: Download complete 5160a68bee03: Pull complete dff8487ca90e: Pull complete b5251e6ddd43: Pull complete 4f4fb700ef54: Verifying Checksum 4f4fb700ef54: Download complete bbf088cc8b89: Download complete 7d084657d09b: Verifying Checksum 7d084657d09b: Download complete bacfe3fbab4c: Download complete 2f7fdd47d012: Download complete d04e35b39212: Pull complete 8a2c8750a65d: Pull complete 8dd3fdf6dbcc: Verifying Checksum 8dd3fdf6dbcc: Download complete 178679eaaecc: Verifying Checksum 178679eaaecc: Download complete c2bd98b2043f: Pull complete 92d1ca2d50ad: Pull complete 0c6bc91a1b86: Pull complete 833aa5f3f1e1: Verifying Checksum 833aa5f3f1e1: Download complete d401ac8151ea: Pull complete 3fe068bfdf2c: Verifying Checksum 3fe068bfdf2c: Download complete fecb8eb50ef9: Pull complete 994c30767800: Pull complete e5952018833a: Verifying Checksum e5952018833a: Download complete 49b5535fa493: Verifying Checksum 49b5535fa493: Download complete 373c0f192c59: Pull complete 2ab629b957a4: Pull complete 547301ca33cf: Pull complete 45dd79c31b90: Pull complete 525eae7302cc: Verifying Checksum 525eae7302cc: Download complete 4f96601806d7: Verifying Checksum 4f96601806d7: Download complete 4f4fb700ef54: Pull complete bbf088cc8b89: Pull complete 7d084657d09b: Pull complete 2f7fdd47d012: Pull complete bacfe3fbab4c: Pull complete 8dd3fdf6dbcc: Pull complete 178679eaaecc: Pull complete 833aa5f3f1e1: Pull complete cd5ff2180057: Verifying Checksum cd5ff2180057: Download complete 3fe068bfdf2c: Pull complete 49b5535fa493: Pull complete e5952018833a: Pull complete 525eae7302cc: Pull complete 4f96601806d7: Pull complete 291468184bd2: Download complete 1fbd20167461: Verifying Checksum 1fbd20167461: Download complete ad34c1ad9b31: Verifying Checksum ad34c1ad9b31: Download complete d39c1baaf8e5: Download complete 17b7502e279e: Verifying Checksum 17b7502e279e: Download complete 0d2853b618f6: Verifying Checksum 0d2853b618f6: Download complete 5a776fd8eb40: Download complete ad34c1ad9b31: Pull complete cd5ff2180057: Pull complete dd297f4c55fb: Verifying Checksum dd297f4c55fb: Download complete dd297f4c55fb: Pull complete 291468184bd2: Pull complete 1fbd20167461: Pull complete d39c1baaf8e5: Pull complete 17b7502e279e: Pull complete 1a08779b4d9e: Verifying Checksum 1a08779b4d9e: Download complete 1a08779b4d9e: Pull complete 0d2853b618f6: Pull complete 5ee207db47eb: Pull complete 5a776fd8eb40: Pull complete Digest: sha256:ea7df7b97205b48d47783accd725289689add0bdd28c25efd13baad8a7f63e67 Status: Downloaded newer image for ocaml/opam@sha256:ea7df7b97205b48d47783accd725289689add0bdd28c25efd13baad8a7f63e67 2026-04-03 11:43.17 ---> using "cd5ffe9eb783a234fb2269492629f1d7ab95728a3b4bc5415fbf3c844d82edbb" from cache /: (comment opensuse-15.6-4.14_opam-2.5) /: (user (uid 1000) (gid 1000)) /: (env CLICOLOR_FORCE 1) /: (env OPAMCOLOR always) /: (workdir /src) /src: (run (shell "sudo ln -f /usr/bin/opam-2.5 /usr/bin/opam")) 2026-04-03 11:43.17 ---> using "b38dc0966963e77ed21e23d461bad85d02565fcf67a50922c57e4b2af9540307" from cache /src: (run (shell "opam init --reinit -ni")) Configuring from /home/opam/.opamrc and then from built-in defaults. Checking for available remotes: rsync and local, git. - you won't be able to use mercurial repositories unless you install the hg command on your system. - you won't be able to use darcs repositories unless you install the darcs command on your system. This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.2, which can't be reverted. You may want to back it up before going further. Continue? [Y/n] y Format upgrade done. <><> Updating repositories ><><><><><><><><><><><><><><><><><><><><><><><><><><> [ERROR] Could not update repository "ocaml-patches-overlay": "/usr/bin/git fetch -q" exited with code 128 "fatal: unable to access 'https://github.com/ocurrent/opam-repository/': Could not resolve host: github.com" [default] Initialised 2026-04-03 11:43.17 ---> using "ef396fa5a5d7537257565a5bcbb59afbf4aa6b15b8cafed6c6e5e61b84ec6690" from cache /src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version")) Linux 6.8.0-106-generic The OCaml toplevel, version 4.14.3 2.5.0 2026-04-03 11:43.17 ---> using "ddd4f8b68bc9f8bc2defa466f036f815b09acabb6864105826cee62ba3597dbf" from cache /src: (workdir /src) /src: (run (shell "sudo chown opam /src")) 2026-04-03 11:43.17 ---> using "9e9ba07ed62b7ce49d36fe4d5f009843b66191bf327353bcaf40035913d106a4" from cache /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "cd ~/opam-repository && (git cat-file -e d06cfb1853afceb1dc127f88edaac3f8110bf6cc || git fetch origin master) && git reset -q --hard d06cfb1853afceb1dc127f88edaac3f8110bf6cc && git log --no-decorate -n1 --oneline && opam update -u")) From https://github.com/ocaml/opam-repository * branch master -> FETCH_HEAD 76bf2ed944..2a4b439041 master -> origin/master d06cfb1853 Merge pull request #29632 from shonfeder/release-dune-3.22.1 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><> [ocaml-patches-overlay] no changes from git+https://github.com/ocurrent/opam-repository#patches [default] synchronised from git+file:///home/opam/opam-repository Everything as up-to-date as possible (run with --verbose to show unavailable upgrades). However, you may "opam upgrade" these packages explicitly at these versions (e.g. "opam upgrade ocaml.5.5.0"), which will ask permission to downgrade or uninstall the conflicting packages. Nothing to do. # To update the current shell environment, run: eval $(opam env) 2026-04-03 11:43.17 ---> using "1d2032bb1783139fdfc07f9acbf3a782160793bb350d7dab78f6577e5b40cc36" from cache /src: (copy (src bitv.opam) (dst ./)) 2026-04-03 11:43.17 ---> saved as "753118727c3f2a50638d93a0e35a2f7bbfe39247a19ad189e6325297a006697a" /src: (run (network host) (shell "opam pin add -yn bitv.dev './'")) [bitv.dev] synchronised (file:///src) bitv is now pinned to file:///src (version dev) 2026-04-03 11:43.18 ---> saved as "208b953aebbed6a95f460657ac8595b344ce513660e595d5f21f360f1aa7c5e9" /src: (run (shell "echo '(lang dune 3.0)' > './dune-project'")) 2026-04-03 11:43.18 ---> saved as "608e91b548f0057ca3a7b51b23ab06c4cea4c8eae79f0d34cbbbc5aa74b4856a" /src: (env DEPS "base-bigarray.base base-threads.base base-unix.base dune.3.22.1 ocaml.4.14.3 ocaml-base-compiler.4.14.3 ocaml-config.2 ocaml-options-vanilla.1") /src: (env CI true) /src: (env OCAMLCI true) /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam update --depexts && opam install --cli=2.5 --depext-only -y bitv.dev $DEPS")) + /usr/bin/sudo "zypper" "--non-interactive" "refresh" - Retrieving repository 'Update repository of openSUSE Backports' metadata [. - . - Looking for gpg keys in repository Update repository of openSUSE Backports. - gpgkey=http://download.opensuse.org/update/leap/15.6/backports/repodata/repomd.xml.key - ...... - .... - .... - .... - .... - .... - .... - .... - .... - .... - .... - .... - .... - .... - .... - .... - .... - .... - .... - .... - ..... - .... - ......... - .......... - ......... - ........ - ........ - ........ - ............ - .done] - Building repository 'Update repository of openSUSE Backports' cache [....done] - Retrieving repository 'Update repository with updates from SUSE Linux Enterprise 15' metadata [.. - Looking for gpg keys in repository Update repository with updates from SUSE Linux Enterprise 15. - gpgkey=http://download.opensuse.org/update/leap/15.6/sle/repodata/repomd.xml.key - .. - ...... - .... - .... - .... - .... - .... - .... - .... - .... - .... - ........ - ......... - ........ - ......... - ........... - ......... - ......... - ......... - ........ - ......... - ...... - ........ - ........ - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ........ - ......... - .......... - ........ - ........ - ..... - ......... - ........ - ........ - ........ - ......... - .......... - ......... - ......... - ........ - .......... - ........ - ......... - ........ - ......... - ........ - ....... - ........ - ......... - ......... - ........ - ......... - ........ - ......... - ........ - ........ - ......... - ......... - ......... - ......... - ........ - ......... - .......... - ........ - ......... - ......... - ......... - ........ - ......... - ......... - ......... - ......... - ........ - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ........ - ......... - ...... - ....... - ....... - ........ - ....... - ......... - .......... - ........ - ........ - ......... - ......... - ........ - ......... - ........ - ......... - ......... - ......... - ......... - ......... - ........ - ......... - ......... - ......... - ....... - ........ - ........ - ........ - ........ - ........ - ........ - ......... - ......... - ......... - ......... - ........ - ......... - ......... - ..... - ......... - ......... - ......... - ......... - ........ - ......... - ........ - ......... - ........ - ........ - ......... - ....... - ..... - ......... - ........ - ........ - ....... - ....... - ......... - ......... - ....... - ....... - ..... - ....... - ...... - ..... - ... - .... - ....... - ........ - ......... - ........ - ........ - ........ - ......... - ......... - ......... - ......... - ........ - ......... - ........ - ....... - ......... - ........ - ........ - ........ - ........ - ........ - ......... - ........ - ......... - ......... - ........ - ...... - ..... - .... - ........ - ........ - ........ - ........ - ......... - ......... - ........ - ......... - ......... - ......... - ........ - ........ - ........ - ........ - ......... - ........ - ......... - ....... - ........ - ....... - ...... - ......... - ....... - ........ - ........ - ........ - ....... - ........ - ........ - ........ - ........ - ........ - ........ - ......... - ........ - ......... - ........ - ......... - ......... - ......... - ........ - ....... - ......... - ........ - ........ - ......... - ......... - ......... - ......... - ......... - ......... - ........ - ........ - ........ - ....... - ........ - ......... - ........ - ......... - ......... - ....... - ........ - ......... - ......... - ......... - ......... - ....... - ......... - ......... - ......... - ........ - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ........ - ......... - ........ - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ........ - .......... - ........ - ........ - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ......... - ......... - .......... - ......... - ........ - ........ - ....... - ......... - ........ - ........ - ......... - ....... - ........ - ......... - .......... - ......... - ......... - ......... - ......... - ......... - ........ - ........ - ........ - ......... - .......... - ........ - .......... - ......... - ......... - ......... - ......... - ......... - .......... - ......... - ......... - .......... - ......... - .......... - ......... - .......... - ......... - ......... - ....... - .......... - ......... - ......... - ........ - ........ - ..... - .... - .... - .... - ........ - ............ - ......... - .......... - .......... - done] - Building repository 'Update repository with updates from SUSE Linux Enterprise 15' cache [.. - ..done] - Repository 'Main Update Repository' is up to date. - Repository 'Update Repository (Non-Oss)' is up to date. - Repository 'Non-OSS Repository' is up to date. - Repository 'Main Repository' is up to date. - All repositories have been refreshed. <><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><> [bitv.dev] synchronised (file:///src) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.3). [NOTE] Package ocaml is already installed (current version is 4.14.3). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). # To update the current shell environment, run: eval $(opam env) 2026-04-03 11:50.22 ---> saved as "0279f13f7e90f186950cbfbcdb64f6d25c0f04efd8302183e1af88ea4b5af6c2" /src: (run (cache (opam-archives (target /home/opam/.opam/download-cache))) (network host) (shell "opam install $DEPS")) [NOTE] Package ocaml-options-vanilla is already installed (current version is 1). [NOTE] Package ocaml-config is already installed (current version is 2). [NOTE] Package ocaml-base-compiler is already installed (current version is 4.14.3). [NOTE] Package ocaml is already installed (current version is 4.14.3). [NOTE] Package base-unix is already installed (current version is base). [NOTE] Package base-threads is already installed (current version is base). [NOTE] Package base-bigarray is already installed (current version is base). The following actions will be performed: === install 1 package - install dune 3.22.1 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> -> retrieved dune.3.22.1 (cached) -> installed dune.3.22.1 Done. # To update the current shell environment, run: eval $(opam env) 2026-04-03 11:55.52 ---> saved as "4fdb4bc39d5ed21b71ded1b65eba10a70c9a846aae394e096d28cc8c19f640cf" /src: (copy (src .) (dst /src)) 2026-04-03 11:55.53 ---> saved as "0ddb6cccc16405f366e7a6c3f0e9bec0f41cee9e4ba72e7724a598ed22c6a723" /src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build")) (cd _build/default && /home/opam/.opam/4.14/bin/ocamlc.opt -w @1..3@5..28@30..39@43@46..47@49..57@61..62-40 -strict-sequence -strict-formats -short-paths -keep-locs -w -32 -g -bin-annot -I .test_pbv.eobjs/byte -I .bitv.objs/byte -no-alias-deps -opaque -o .test_pbv.eobjs/byte/dune__exe__Test_pbv.cmo -c -impl test_pbv.ml) File "test_pbv.ml", lines 149-152, characters 13-4: 149 | .............Make(struct 150 | include String 151 | let print = Format.pp_print_string 152 | end) Error: Modules do not match: sig type t = string val make : int -> char -> t val init : int -> (int -> char) -> t val empty : t val of_bytes : bytes -> t val to_bytes : t -> bytes external length : t -> int = "%string_length" external get : t -> int -> char = "%string_safe_get" val concat : t -> t list -> t val cat : t -> t -> t val equal : t -> t -> bool val compare : t -> t -> int val starts_with : prefix:t -> t -> bool val ends_with : suffix:t -> t -> bool val contains_from : t -> int -> char -> bool val rcontains_from : t -> int -> char -> bool val contains : t -> char -> bool val sub : t -> int -> int -> t val split_on_char : char -> t -> t list val map : (char -> char) -> t -> t val mapi : (int -> char -> char) -> t -> t val fold_left : ('a -> char -> 'a) -> 'a -> t -> 'a val fold_right : (char -> 'a -> 'a) -> t -> 'a -> 'a val for_all : (char -> bool) -> t -> bool val exists : (char -> bool) -> t -> bool val trim : t -> t val escaped : t -> t val uppercase_ascii : t -> t val lowercase_ascii : t -> t val capitalize_ascii : t -> t val uncapitalize_ascii : t -> t val iter : (char -> unit) -> t -> unit val iteri : (int -> char -> unit) -> t -> unit val index_from : t -> int -> char -> int val index_from_opt : t -> int -> char -> int option val rindex_from : t -> int -> char -> int val rindex_from_opt : t -> int -> char -> int option val index : t -> char -> int val index_opt : t -> char -> int option val rindex : t -> char -> int val rindex_opt : t -> char -> int option val to_seq : t -> char Seq.t val to_seqi : t -> (int * char) Seq.t val of_seq : char Seq.t -> t val get_utf_8_uchar : t -> int -> Uchar.utf_decode val is_valid_utf_8 : t -> bool val get_utf_16be_uchar : t -> int -> Uchar.utf_decode val is_valid_utf_16be : t -> bool val get_utf_16le_uchar : t -> int -> Uchar.utf_decode val is_valid_utf_16le : t -> bool external create : int -> bytes = "caml_create_string" external set : bytes -> int -> char -> unit = "%string_safe_set" val blit : t -> int -> bytes -> int -> int -> unit val copy : t -> t val fill : bytes -> int -> int -> char -> unit val uppercase : t -> t val lowercase : t -> t val capitalize : t -> t val uncapitalize : t -> t val get_uint8 : t -> int -> int val get_int8 : t -> int -> int val get_uint16_ne : t -> int -> int val get_uint16_be : t -> int -> int val get_uint16_le : t -> int -> int val get_int16_ne : t -> int -> int val get_int16_be : t -> int -> int val get_int16_le : t -> int -> int val get_int32_ne : t -> int -> int32 val get_int32_be : t -> int -> int32 val get_int32_le : t -> int -> int32 val get_int64_ne : t -> int -> int64 val get_int64_be : t -> int -> int64 val get_int64_le : t -> int -> int64 external unsafe_get : t -> int -> char = "%string_unsafe_get" external unsafe_set : bytes -> int -> char -> unit = "%string_unsafe_set" external unsafe_blit : t -> int -> bytes -> int -> int -> unit = "caml_blit_string" [@@noalloc] external unsafe_fill : bytes -> int -> int -> char -> unit = "caml_fill_string" [@@noalloc] val print : Format.formatter -> t -> unit end is not included in Bitv__Pbv.UNIVERSE The value `hash' is required but not provided File "pbv.mli", line 141, characters 2-20: Expected declaration "/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1 2026-04-03 11:55.55: Job failed: Failed: Build failed