2025-10-15 10:14.17: New job: test jeffa5/ocaml-grpc https://github.com/jeffa5/ocaml-grpc.git#refs/heads/master (efd6dbfc2d044fef97b122f831a8c162d9d46625) (linux-arm64:debian-13-4.14_arm64_opam-2.4)
Base: ocaml/opam:debian-13-ocaml-4.14@sha256:e1738b1250908d8215b7521701d00e06778ed5a2b19c1eb7d1ac0547bdf1c8fc
Opam project build
To reproduce locally:
git clone --recursive "https://github.com/jeffa5/ocaml-grpc.git" -b "master" && cd "ocaml-grpc" && git reset --hard efd6dbfc
cat > Dockerfile <<'END-OF-DOCKERFILE'
FROM ocaml/opam:debian-13-ocaml-4.14@sha256:e1738b1250908d8215b7521701d00e06778ed5a2b19c1eb7d1ac0547bdf1c8fc
# debian-13-4.14_arm64_opam-2.4
USER 1000:1000
ENV CLICOLOR_FORCE="1"
ENV OPAMCOLOR="always"
WORKDIR /src
RUN sudo ln -f /usr/bin/opam-2.4 /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 209109366a444d7ea71a56ee6cb8f608cdc6ced0 || git fetch origin master) && git reset -q --hard 209109366a444d7ea71a56ee6cb8f608cdc6ced0 && git log --no-decorate -n1 --oneline && opam update -u
COPY --chown=1000:1000 grpc.opam grpc-lwt.opam ./
RUN opam pin add -yn grpc.dev './' && \
opam pin add -yn grpc-lwt.dev './'
RUN echo '(lang dune 3.0)' > './dune-project'
ENV DEPS="angstrom.0.16.1 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.5.2 bigstringaf.0.10.0 cppo.1.8.0 csexp.1.5.2 dune.3.20.2 dune-configurator.3.20.2 faraday.0.8.2 h2.dev hpack.0.13.0 httpaf.0.7.1 lwt.5.9.2 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-protoc.3.1.1 ocaml-syntax-shims.1.0.0 ocamlfind.1.9.8 ocplib-endian.1.2 pbrt.3.1.1 psq.0.2.1 result.1.5 seq.base stdlib-shims.0.3.0 stringext.1.6.0 uri.4.4.0"
ENV CI="true"
ENV OCAMLCI="true"
RUN opam update --depexts && opam install --cli=2.4 --depext-only -y grpc.dev grpc-lwt.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
2025-10-15 10:14.17: Using cache hint "jeffa5/ocaml-grpc-ocaml/opam:debian-13-ocaml-4.14@sha256:e1738b1250908d8215b7521701d00e06778ed5a2b19c1eb7d1ac0547bdf1c8fc-debian-13-4.14_arm64_opam-2.4-605c31d89b237055ba3b66ee33f0bb88"
2025-10-15 10:14.17: Using OBuilder spec:
((from ocaml/opam:debian-13-ocaml-4.14@sha256:e1738b1250908d8215b7521701d00e06778ed5a2b19c1eb7d1ac0547bdf1c8fc)
(comment debian-13-4.14_arm64_opam-2.4)
(user (uid 1000) (gid 1000))
(env CLICOLOR_FORCE 1)
(env OPAMCOLOR always)
(workdir /src)
(run (shell "sudo ln -f /usr/bin/opam-2.4 /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 209109366a444d7ea71a56ee6cb8f608cdc6ced0 || git fetch origin master) && git reset -q --hard 209109366a444d7ea71a56ee6cb8f608cdc6ced0 && git log --no-decorate -n1 --oneline && opam update -u"))
(copy (src grpc.opam grpc-lwt.opam) (dst ./))
(run (network host)
(shell "opam pin add -yn grpc.dev './' && \
\nopam pin add -yn grpc-lwt.dev './'"))
(run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
(env DEPS "angstrom.0.16.1 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.5.2 bigstringaf.0.10.0 cppo.1.8.0 csexp.1.5.2 dune.3.20.2 dune-configurator.3.20.2 faraday.0.8.2 h2.dev hpack.0.13.0 httpaf.0.7.1 lwt.5.9.2 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-protoc.3.1.1 ocaml-syntax-shims.1.0.0 ocamlfind.1.9.8 ocplib-endian.1.2 pbrt.3.1.1 psq.0.2.1 result.1.5 seq.base stdlib-shims.0.3.0 stringext.1.6.0 uri.4.4.0")
(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.4 --depext-only -y grpc.dev grpc-lwt.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"))
)
2025-10-15 10:14.17: Waiting for resource in pool OCluster
2025-10-15 12:29.59: Waiting for worker…
2025-10-15 12:46.24: Got resource from pool OCluster
Building on kydoime.caelum.ci.dev
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
Initialized empty Git repository in /var/cache/obuilder/ocluster/git/ocaml-grpc.git-62d5813d17840b219d14092379bace169379c127/.git/
HEAD is now at efd6dbf Update h2 src
(from ocaml/opam:debian-13-ocaml-4.14@sha256:e1738b1250908d8215b7521701d00e06778ed5a2b19c1eb7d1ac0547bdf1c8fc)
Unable to find image 'ocaml/opam:debian-13-ocaml-4.14@sha256:e1738b1250908d8215b7521701d00e06778ed5a2b19c1eb7d1ac0547bdf1c8fc' locally
docker.io/ocaml/opam@sha256:e1738b1250908d8215b7521701d00e06778ed5a2b19c1eb7d1ac0547bdf1c8fc: Pulling from ocaml/opam
caed78ed4bc4: Pulling fs layer
caed78ed4bc4: Verifying Checksum
caed78ed4bc4: Download complete
caed78ed4bc4: Pull complete
Digest: sha256:e1738b1250908d8215b7521701d00e06778ed5a2b19c1eb7d1ac0547bdf1c8fc
Status: Downloaded newer image for ocaml/opam@sha256:e1738b1250908d8215b7521701d00e06778ed5a2b19c1eb7d1ac0547bdf1c8fc
2025-10-15 12:46.25 ---> using "9946e7c6c9496cbc68e3cd8c8b00063a1beb5b7dc064e0c4c0dffd23c3e2fbba" from cache
/: (comment debian-13-4.14_arm64_opam-2.4)
/: (user (uid 1000) (gid 1000))
/: (env CLICOLOR_FORCE 1)
/: (env OPAMCOLOR always)
/: (workdir /src)
/src: (run (shell "sudo ln -f /usr/bin/opam-2.4 /usr/bin/opam"))
2025-10-15 12:46.25 ---> using "601dfb611dee9a97e37226669e8278c8f06a84854555fbdada17d93de422f284" 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 ><><><><><><><><><><><><><><><><><><><><><><><><><><>
[default] Initialised
2025-10-15 12:46.25 ---> using "491e32cca5684704b8cbb0e3f789933685b479224ed34fd6eb4eef5cf6401d35" from cache
/src: (run (shell "uname -rs && opam exec -- ocaml -version && opam --version"))
Linux 5.15.0-156-generic
The OCaml toplevel, version 4.14.2
2.4.1
2025-10-15 12:46.25 ---> using "c79f32a00c56a445bcd1e869507c826654513c664a666a3ec0fff27ecda4758b" from cache
/src: (workdir /src)
/src: (run (shell "sudo chown opam /src"))
2025-10-15 12:46.25 ---> using "c0f636bdda81da8115941024b2efd9f297e68edfcadb257e646fa2ed0297ebba" from cache
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "cd ~/opam-repository && (git cat-file -e 209109366a444d7ea71a56ee6cb8f608cdc6ced0 || git fetch origin master) && git reset -q --hard 209109366a444d7ea71a56ee6cb8f608cdc6ced0 && git log --no-decorate -n1 --oneline && opam update -u"))
209109366a Merge pull request #28553 from dinosaure/release-base64-v3.5.2
<><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
[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.3.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)
2025-10-15 12:46.46 ---> saved as "33445c315d5ccae2abf513b0bd68d3f5afa4018429e80f144af6060075a94a17"
/src: (copy (src grpc.opam grpc-lwt.opam) (dst ./))
2025-10-15 12:46.46 ---> saved as "7a7b22f6e7807fc77470ec8248cae386e6a66f7314419bc3416126232f6051eb"
/src: (run (network host)
(shell "opam pin add -yn grpc.dev './' && \
\nopam pin add -yn grpc-lwt.dev './'"))
[grpc.dev] synchronised (file:///src)
grpc is now pinned to file:///src (version dev)
[grpc-lwt.dev] synchronised (file:///src)
The following additional pinnings are required by grpc-lwt.dev:
- h2.dev at git+https://github.com/anmonteiro/ocaml-h2#7df18604ae389e3151f79e2be5dfd4278d4377fb
Pin and install them? [Y/n] y
[h2.dev] synchronised (no changes)
h2 is now pinned to git+https://github.com/anmonteiro/ocaml-h2#7df18604ae389e3151f79e2be5dfd4278d4377fb (version dev)
grpc-lwt is now pinned to file:///src (version dev)
2025-10-15 12:46.56 ---> saved as "24097574f5a056868bea2ff5d9281bb0e52ce402ee8f125a4db4f64e943c09fb"
/src: (run (network host)
(shell "echo '(lang dune 3.0)' > './dune-project'"))
2025-10-15 12:46.56 ---> saved as "befa5a27b876bceb8a826ab89efdcf549af6533edc6c4acd085535b1f5e4bc12"
/src: (env DEPS "angstrom.0.16.1 base-bigarray.base base-bytes.base base-threads.base base-unix.base base64.3.5.2 bigstringaf.0.10.0 cppo.1.8.0 csexp.1.5.2 dune.3.20.2 dune-configurator.3.20.2 faraday.0.8.2 h2.dev hpack.0.13.0 httpaf.0.7.1 lwt.5.9.2 ocaml.4.14.2 ocaml-base-compiler.4.14.2 ocaml-config.2 ocaml-options-vanilla.1 ocaml-protoc.3.1.1 ocaml-syntax-shims.1.0.0 ocamlfind.1.9.8 ocplib-endian.1.2 pbrt.3.1.1 psq.0.2.1 result.1.5 seq.base stdlib-shims.0.3.0 stringext.1.6.0 uri.4.4.0")
/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.4 --depext-only -y grpc.dev grpc-lwt.dev $DEPS"))
+ /usr/bin/sudo "apt-get" "update"
- Hit:1 http://deb.debian.org/debian trixie InRelease
- Get:2 http://deb.debian.org/debian trixie-updates InRelease [47.3 kB]
- Get:3 http://deb.debian.org/debian-security trixie-security InRelease [43.4 kB]
- Get:4 http://deb.debian.org/debian-security trixie-security/main arm64 Packages [54.5 kB]
- Fetched 145 kB in 0s (1373 kB/s)
- Reading package lists...
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[grpc.dev] synchronised (file:///src)
[grpc-lwt.dev] synchronised (file:///src)
[h2.dev] synchronised (no changes)
[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.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[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).
2025-10-15 12:47.08 ---> saved as "0395fce04658df68386a34b8a9fc6e24566e300ae12effb86faa0e541d583c80"
/src: (run (cache (opam-archives (target /home/opam/.opam/download-cache)))
(network host)
(shell "opam install $DEPS"))
<><> Synchronising pinned packages ><><><><><><><><><><><><><><><><><><><><><><>
[h2.dev] synchronised (no changes)
[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.2).
[NOTE] Package ocaml is already installed (current version is 4.14.2).
[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 24 packages
- install angstrom 0.16.1
- install base-bytes base
- install base64 3.5.2
- install bigstringaf 0.10.0
- install cppo 1.8.0
- install csexp 1.5.2
- install dune 3.20.2
- install dune-configurator 3.20.2
- install faraday 0.8.2
- install h2 dev (pinned)
- install hpack 0.13.0
- install httpaf 0.7.1
- install lwt 5.9.2
- install ocaml-protoc 3.1.1
- install ocaml-syntax-shims 1.0.0
- install ocamlfind 1.9.8
- install ocplib-endian 1.2
- install pbrt 3.1.1
- install psq 0.2.1
- install result 1.5
- install seq base
- install stdlib-shims 0.3.0
- install stringext 1.6.0
- install uri 4.4.0
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved angstrom.0.16.1 (cached)
-> retrieved base64.3.5.2 (cached)
-> retrieved bigstringaf.0.10.0 (cached)
-> retrieved cppo.1.8.0 (cached)
-> retrieved csexp.1.5.2 (cached)
-> retrieved faraday.0.8.2 (cached)
-> retrieved hpack.0.13.0 (cached)
-> retrieved httpaf.0.7.1 (cached)
-> retrieved lwt.5.9.2 (cached)
-> retrieved ocaml-protoc.3.1.1, pbrt.3.1.1 (cached)
-> retrieved ocaml-syntax-shims.1.0.0 (cached)
-> retrieved ocamlfind.1.9.8 (cached)
-> retrieved h2.dev (no changes)
-> retrieved ocplib-endian.1.2 (cached)
-> retrieved psq.0.2.1 (cached)
-> retrieved seq.base (cached)
-> installed seq.base
-> retrieved result.1.5 (cached)
-> retrieved stdlib-shims.0.3.0 (cached)
-> retrieved stringext.1.6.0 (cached)
-> retrieved uri.4.4.0 (cached)
-> retrieved dune.3.20.2, dune-configurator.3.20.2 (cached)
-> installed ocamlfind.1.9.8
-> installed base-bytes.base
-> installed dune.3.20.2
-> installed stdlib-shims.0.3.0
-> installed result.1.5
-> installed csexp.1.5.2
-> installed base64.3.5.2
-> installed cppo.1.8.0
-> installed ocaml-syntax-shims.1.0.0
-> installed psq.0.2.1
-> installed stringext.1.6.0
-> installed pbrt.3.1.1
-> installed ocplib-endian.1.2
-> installed ocaml-protoc.3.1.1
-> installed dune-configurator.3.20.2
-> installed bigstringaf.0.10.0
-> installed faraday.0.8.2
-> installed angstrom.0.16.1
-> installed httpaf.0.7.1
-> installed hpack.0.13.0
-> installed lwt.5.9.2
-> installed uri.4.4.0
-> installed h2.dev
Done.
# To update the current shell environment, run: eval $(opam env)
2025-10-15 12:47.52 ---> saved as "4768683643a7d41a620a72bc5c6964f0a519d742270d965887d2b9559e398eb4"
/src: (copy (src .) (dst /src))
2025-10-15 12:47.53 ---> saved as "bb6b882c7e5229891678d04e9e74018bbacafe7518b17de4eefbcb7a3bf1cd1d"
/src: (run (shell "opam exec -- dune build @install @check @runtest && rm -rf _build"))
File "examples/greeter/dune", lines 5-10, characters 0-203:
5 | (rule
6 | (targets greeter_pb.ml greeter_pb.mli greeter_pp.ml greeter_pp.mli
7 | greeter_types.ml greeter_types.mli)
8 | (action
9 | (run ocaml-protoc -binary -pp -ml_out ./ greeter.proto))
10 | (deps greeter.proto))
(cd _build/default/examples/greeter && /home/opam/.opam/4.14/bin/ocaml-protoc -binary -pp -ml_out ./ greeter.proto)
/home/opam/.opam/4.14/bin/ocaml-protoc: unknown option '-binary'.
ocaml-protoc -ml_out <output_directory> <file_name>.proto
--yojson generate yojson encoding
--bs generate BuckleScript encoding
--binary generate binary encoding
--pp generate pretty print functions
--dump_type_repr generate comments with internal representation on generated OCaml types (useful for debugging ocaml-protoc itself)
--services generate code for services (requires json+binary)
-I include directories
--ml_out output directory
--debug print logs on stderr
--unsigned tag uint32 and uint64 types with `unsigned
--make generate `make` functions
--int32_type int32_type file option
--int64_type int64_type file option
--ocaml_file_ppx ocaml_file_ppx file option
--ocaml_all_types_ppx ocaml_all_types_ppx file option
-help Display this list of options
--help Display this list of options
File "examples/greeter-server-lwt/dune", line 3, characters 63-74:
3 | (libraries grpc grpc-lwt ocaml-protoc lwt lwt.unix greeter h2 h2-lwt-unix))
^^^^^^^^^^^
Error: Library "h2-lwt-unix" not found.
-> required by
_build/default/examples/greeter-server-lwt/.greeter_server_lwt.eobjs/byte/dune__exe__Greeter_server_lwt.cmi
-> required by alias examples/greeter-server-lwt/check
"/usr/bin/env" "bash" "-c" "opam exec -- dune build @install @check @runtest && rm -rf _build" failed with exit status 1
2025-10-15 12:47.53: Job failed: Failed: Build failed