Build:
  1. 0
2026-09-23 20:59.49: New job: Build Dockerfile using linux-x86_64 in
                                [https://github.com/ocaml-opam/opam2web.git#refs/pull/194/head (895b346cbaf93f9b671fc9bbd31404a0879c09fa)]
2026-09-23 20:59.49: Using cache hint "https://github.com/ocaml-opam/opam2web.git-Dockerfile"
2026-09-23 20:59.49: Waiting for resource in pool OCluster
2026-09-23 20:59.49: Waiting for worker…
2026-09-23 21:11.03: Got resource from pool OCluster
Building on laodoke.caelum.ci.dev
All commits already cached
Submodule path 'content/doc': checked out '13a77b2bc576763bfa469ca3ef6f139402b7357b'
HEAD is now at 895b346 Added alt text to the images at the footer
Synchronising submodule url for 'content/doc'
Cleared directory 'content/doc'
Submodule 'content/doc' (https://github.com/ocaml/opam.wiki.git) unregistered for path 'content/doc'
Submodule 'content/doc' (https://github.com/ocaml/opam.wiki.git) registered for path 'content/doc'
Submodule path 'content/doc': checked out '13a77b2bc576763bfa469ca3ef6f139402b7357b'
#0 building with "default" instance using docker driver

#1 [internal] load build definition from Dockerfile
#1 transferring dockerfile: 2.48kB done
#1 DONE 0.0s

#2 resolve image config for docker-image://docker.io/docker/dockerfile:1
#2 DONE 1.1s

#3 docker-image://docker.io/docker/dockerfile:1@sha256:ecfaec9ed6d810b56388c508f4121597bfbba70d41a6dfeee4d8cad5f295fc32
#3 resolve docker.io/docker/dockerfile:1@sha256:ecfaec9ed6d810b56388c508f4121597bfbba70d41a6dfeee4d8cad5f295fc32 done
#3 sha256:34b128e419449565adc5ed7f487a6f503a73f1077012cfed86354c731338c44f 1.13kB / 1.13kB done
#3 sha256:c844dc65644b70ea8b391444db20ff38537384d800ea9896d46ab8f3ce897f51 1.33kB / 1.33kB done
#3 sha256:ecfaec9ed6d810b56388c508f4121597bfbba70d41a6dfeee4d8cad5f295fc32 9.08kB / 9.08kB done
#3 sha256:9f624ef51ad55db0ea52d755cc777566386156106fbb4f465eecb22c67ac55ed 14.14MB / 14.14MB 0.4s done
#3 extracting sha256:9f624ef51ad55db0ea52d755cc777566386156106fbb4f465eecb22c67ac55ed 0.5s done
#3 DONE 1.0s

#4 [internal] load metadata for docker.io/library/alpine:3.14
#4 ...

#5 [internal] load metadata for docker.io/ocaml/opam:alpine-3.14-ocaml-4.10
#5 DONE 0.5s

#6 [opam2web 1/6] FROM docker.io/library/alpine:3.14@sha256:0f2d5c38dd7a4f4f733e688e3a6733cb5ab1ac6e3cb4603a5dd564e5bfb80eed
#6 resolve docker.io/library/alpine:3.14@sha256:0f2d5c38dd7a4f4f733e688e3a6733cb5ab1ac6e3cb4603a5dd564e5bfb80eed 0.0s done
#6 sha256:0f2d5c38dd7a4f4f733e688e3a6733cb5ab1ac6e3cb4603a5dd564e5bfb80eed 1.64kB / 1.64kB done
#6 sha256:71859b0c62df47efaeae4f93698b56a8dddafbf041778fd668bbd1ab45a864f8 528B / 528B done
#6 sha256:9e179bacf43c4d3428d57cf459799ba0285b901945f9eccb17b6da056d3532c7 1.47kB / 1.47kB done
#6 sha256:f7dab3ab2d6ec29aa28769bec35331fb485b5837501b1e8556413d8b5a79c9c8 2.83MB / 2.83MB 0.2s done
#6 extracting sha256:f7dab3ab2d6ec29aa28769bec35331fb485b5837501b1e8556413d8b5a79c9c8 0.2s done
#6 DONE 0.5s

#7 [opam2web 2/6] RUN apk add git curl rsync libstdc++
#7 0.273 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
#7 0.563 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
#7 1.076 (1/14) Installing ca-certificates (20230506-r0)
#7 1.143 (2/14) Installing brotli-libs (1.0.9-r5)
#7 1.251 (3/14) Installing nghttp2-libs (1.43.0-r0)
#7 1.302 (4/14) Installing libcurl (8.0.1-r0)
#7 1.371 (5/14) Installing curl (8.0.1-r0)
#7 1.422 (6/14) Installing expat (2.5.0-r0)
#7 1.454 (7/14) Installing pcre2 (10.36-r1)
#7 1.540 (8/14) Installing git (2.32.7-r0)
#7 8.845 (9/14) Installing libgcc (10.3.1_git20210424-r2)
#7 8.877 (10/14) Installing libstdc++ (10.3.1_git20210424-r2)
#7 9.102 (11/14) Installing libacl (2.2.53-r0)
#7 9.109 (12/14) Installing popt (1.18-r0)
#7 9.131 (13/14) Installing zstd-libs (1.4.9-r1)
#7 9.321 (14/14) Installing rsync (3.2.5-r0)
#7 9.486 Executing busybox-1.33.1-r8.trigger
#7 9.492 Executing ca-certificates-20230506-r0.trigger
#7 9.559 OK: 23 MiB in 28 packages
#7 DONE 10.1s

#4 [internal] load metadata for docker.io/library/alpine:3.14
#4 DONE 0.5s

#8 [internal] load .dockerignore
#8 transferring context: 2B done
#8 DONE 0.0s

#9 [build-opam-doc  1/14] FROM docker.io/ocaml/opam:alpine-3.14-ocaml-4.10@sha256:cac160603d123f71e9109c5de9ad1ff8eeda4c75be369ca27c3eb745dd0f4707
#9 resolve docker.io/ocaml/opam:alpine-3.14-ocaml-4.10@sha256:cac160603d123f71e9109c5de9ad1ff8eeda4c75be369ca27c3eb745dd0f4707 0.0s done
#9 sha256:f0d8413b1655f12d11dec98b49b795bec30a6c379f0163c68a2c6ef1186453fb 8.99kB / 8.99kB done
#9 sha256:cac160603d123f71e9109c5de9ad1ff8eeda4c75be369ca27c3eb745dd0f4707 770B / 770B done
#9 sha256:52010d16eddf503f8fec6c152f2d78773cbc8fc3cd9be6579b5156ac6a3614c3 530B / 530B done
#9 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 443.08MB / 443.08MB 10.7s done
#9 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 81.6s done
#9 DONE 96.0s

#10 [build-opam2web  2/13] RUN sudo apk add g++
#10 0.547 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
#10 1.564 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
#10 4.089 fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
#10 4.989 fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
#10 10.13 fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
#10 13.23 OK: 229 MiB in 79 packages
#10 DONE 22.6s

#11 [build-opam-doc  2/14] RUN sudo apk add cgit groff
#11 0.550 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
#11 1.313 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
#11 4.613 fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
#11 5.281 fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
#11 10.82 fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
#11 13.02 (1/3) Installing lua5.3-libs (5.3.6-r0)
#11 13.19 (2/3) Installing cgit (1.2.3-r0)
#11 14.93 (3/3) Installing groff (1.22.4-r1)
#11 18.79 Executing busybox-1.33.1-r8.trigger
#11 18.82 OK: 240 MiB in 82 packages
#11 DONE 23.0s

#12 [build-opam-doc  3/14] RUN sudo mkdir -p /usr/local/bin     && echo -e '#!/bin/sh -e\n                echo\n                echo\n                echo "<!DOCTYPE html>"\n                echo "<HTML><HEAD><TITLE>$(basename $2 .1) manpage</TITLE></HEAD><BODY>"\n                /usr/lib/cgit/filters/html-converters/man2html <$2\n                echo "</BODY></HTML>\n'        | sudo tee /usr/local/bin/man2html     && sudo chmod a+x /usr/local/bin/man2html
#12 0.411 #!/bin/sh -e
#12 0.411                 echo
#12 0.411                 echo
#12 0.411                 echo "<!DOCTYPE html>"
#12 0.411                 echo "<HTML><HEAD><TITLE>$(basename $2 .1) manpage</TITLE></HEAD><BODY>"
#12 0.411                 /usr/lib/cgit/filters/html-converters/man2html <$2
#12 0.411                 echo "</BODY></HTML>
#12 0.411 
#12 DONE 0.9s

#13 [build-opam2web  3/13] RUN git clone https://github.com/ocaml/opam2web --depth 1 /home/opam/opam2web
#13 0.515 Cloning into '/home/opam/opam2web'...
#13 DONE 1.4s

#14 [build-opam2web  4/13] WORKDIR /home/opam/opam2web
#14 DONE 0.1s

#15 [build-opam2web  5/13] RUN sudo mkdir -p /opt/opam2web && sudo chown opam:opam /opt/opam2web
#15 DONE 0.7s

#16 [build-opam2web  6/13] RUN sudo mv /usr/bin/opam-2.1 /usr/bin/opam
#16 DONE 0.9s

#17 [build-opam-doc  4/14] RUN sudo mv /usr/bin/opam-2.1 /usr/bin/opam && opam update
#17 0.892 Continue? [Y/n] y
#17 0.892 Format upgrade done.
#17 0.892 This version of opam requires an update to the layout of /home/opam/.opam from version 2.0 to version 2.1, which can't be reverted.
#17 0.892 You may want to back it up before going further.
#17 0.892 
#17 11.78 
#17 11.78 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
#17 51.74 [default] synchronised from file:///home/opam/opam-repository
#17 DONE 96.2s

#18 [build-opam-doc  5/14] RUN opam install odoc
#18 10.16 The following actions will be performed:
#18 10.16   - install ocamlfind     1.9.5  [required by fmt, astring, fpath]
#18 10.16   - install cmdliner      1.1.1  [required by odoc]
#18 10.16   - install dune          3.4.1  [required by odoc]
#18 10.16   - install seq           base   [required by tyxml]
#18 10.16   - install ocamlbuild    0.14.2 [required by fmt, astring, fpath]
#18 10.16   - install result        1.5    [required by odoc]
#18 10.16   - install cppo          1.6.9  [required by odoc]
#18 10.16   - install camlp-streams 5.0.1  [required by odoc-parser]
#18 10.16   - install re            1.10.4 [required by tyxml]
#18 10.16   - install topkg         1.0.5  [required by fmt, astring, fpath]
#18 10.16   - install uutf          1.0.3  [required by tyxml]
#18 10.16   - install fmt           0.9.0  [required by odoc]
#18 10.16   - install astring       0.8.5  [required by odoc]
#18 10.16   - install tyxml         4.5.0  [required by odoc]
#18 10.16   - install odoc-parser   1.0.1  [required by odoc]
#18 10.16   - install fpath         0.7.3  [required by odoc]
#18 10.16   - install odoc          2.1.1
#18 10.16 ===== 17 to install =====
#18 10.16 
#18 10.16 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
#18 10.47 -> retrieved cmdliner.1.1.1  (https://erratique.ch/software/cmdliner/releases/cmdliner-1.1.1.tbz)
#18 21.38 -> retrieved astring.0.8.5  (https://erratique.ch/software/astring/releases/astring-0.8.5.tbz)
#18 21.39 -> retrieved camlp-streams.5.0.1  (https://github.com/ocaml/camlp-streams/archive/v5.0.1.tar.gz)
#18 21.41 -> retrieved cppo.1.6.9  (https://github.com/ocaml-community/cppo/archive/v1.6.9.tar.gz)
#18 21.56 -> retrieved fmt.0.9.0  (https://erratique.ch/software/fmt/releases/fmt-0.9.0.tbz)
#18 21.59 -> retrieved fpath.0.7.3  (https://erratique.ch/software/fpath/releases/fpath-0.7.3.tbz)
#18 22.01 -> retrieved ocamlfind.1.9.5  (http://download.camlcity.org/download/findlib-1.9.5.tar.gz)
#18 22.49 -> retrieved ocamlbuild.0.14.2  (https://github.com/ocaml/ocamlbuild/archive/refs/tags/0.14.2.tar.gz)
#18 22.78 -> retrieved odoc-parser.1.0.1  (https://github.com/ocaml-doc/odoc-parser/releases/download/1.0.1/odoc-parser-1.0.1.tbz)
#18 23.00 -> retrieved odoc.2.1.1  (https://github.com/ocaml/odoc/releases/download/2.1.1/odoc-2.1.1.tbz)
#18 23.18 -> retrieved re.1.10.4  (https://github.com/ocaml/ocaml-re/releases/download/1.10.4/re-1.10.4.tbz)
#18 23.18 -> installed seq.base
#18 23.44 -> retrieved topkg.1.0.5  (https://erratique.ch/software/topkg/releases/topkg-1.0.5.tbz)
#18 23.52 -> retrieved result.1.5  (https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz)
#18 23.70 -> retrieved uutf.1.0.3  (https://erratique.ch/software/uutf/releases/uutf-1.0.3.tbz)
#18 23.78 -> retrieved tyxml.4.5.0  (https://github.com/ocsigen/tyxml/releases/download/4.5.0/tyxml-4.5.0.tbz)
#18 27.04 -> retrieved dune.3.4.1  (https://github.com/ocaml/dune/releases/download/3.4.1/dune-3.4.1.tbz)
#18 27.75 -> installed ocamlfind.1.9.5
#18 27.85 -> installed cmdliner.1.1.1
#18 29.12 -> installed ocamlbuild.0.14.2
#18 34.91 -> installed topkg.1.0.5
#18 36.16 -> installed uutf.1.0.3
#18 36.29 -> installed fmt.0.9.0
#18 36.60 -> installed astring.0.8.5
#18 37.86 -> installed fpath.0.7.3
#18 48.53 -> installed dune.3.4.1
#18 48.92 -> installed result.1.5
#18 48.96 -> installed camlp-streams.5.0.1
#18 49.97 -> installed re.1.10.4
#18 50.02 -> installed odoc-parser.1.0.1
#18 50.12 -> installed cppo.1.6.9
#18 55.70 -> installed tyxml.4.5.0
#18 65.82 -> installed odoc.2.1.1
#18 66.50 Done.
#18 66.51 # Run eval $(opam env) to update the current shell environment
#18 DONE 75.0s

#19 [internal] load build context
#19 transferring context: 2.59kB done
#19 DONE 0.0s

#20 [build-opam-doc  6/14] RUN git clone https://github.com/ocaml/opam --single-branch --depth 1 --branch master /home/opam/opam
#20 0.229 Cloning into '/home/opam/opam'...
#20 DONE 1.3s

#21 [build-opam2web  7/13] RUN opam repo set-url default https://opam-dev.ocaml.org/
#21 ...

#22 [build-opam-doc  7/14] WORKDIR /home/opam/opam
#22 DONE 0.0s

#23 [build-opam-doc  8/14] RUN opam exec -- ./configure --without-mccs && opam exec -- make lib-ext && opam exec -- make
#23 0.507 checking for ocamlc... ocamlc
#23 0.514 OCaml version is 4.10.2
#23 0.520 OCaml library path is /home/opam/.opam/4.10/lib/ocaml
#23 0.520 checking for ocamlopt... ocamlopt
#23 0.529 checking for ocamlc.opt... ocamlc.opt
#23 0.535 checking for ocamlopt.opt... ocamlopt.opt
#23 0.544 checking for ocaml... ocaml
#23 0.544 checking for ocamldep... ocamldep
#23 0.544 checking for ocamldep.opt... ocamldep.opt
#23 0.551 checking for ocamlmktop... ocamlmktop
#23 0.551 checking for ocamlmklib... ocamlmklib
#23 0.551 checking for ocamldoc... ocamldoc
#23 0.552 checking for ocamldoc.opt... ocamldoc.opt
#23 0.573 checking for ocamlbuild... ocamlbuild
#23 0.573 checking OCaml Sys.os_type... Unix
#23 0.606 checking for gawk... no
#23 0.606 checking for mawk... no
#23 0.606 checking for nawk... no
#23 0.607 checking for awk... awk
#23 0.612 configure: error: Your version of OCaml (4.10.2) is not supported
#23 ERROR: process "/bin/sh -c opam exec -- ./configure --without-mccs && opam exec -- make lib-ext && opam exec -- make" did not complete successfully: exit code: 1

#21 [build-opam2web  7/13] RUN opam repo set-url default https://opam-dev.ocaml.org/
#21 CANCELED
------
 > [build-opam-doc  8/14] RUN opam exec -- ./configure --without-mccs && opam exec -- make lib-ext && opam exec -- make:
0.551 checking for ocamlmklib... ocamlmklib
0.551 checking for ocamldoc... ocamldoc
0.552 checking for ocamldoc.opt... ocamldoc.opt
0.573 checking for ocamlbuild... ocamlbuild
0.573 checking OCaml Sys.os_type... Unix
0.606 checking for gawk... no
0.606 checking for mawk... no
0.606 checking for nawk... no
0.607 checking for awk... awk
0.612 configure: error: Your version of OCaml (4.10.2) is not supported
------

 4 warnings found (use docker --debug to expand):
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 2)
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 20)
 - FromAsCasing: 'as' and 'FROM' keywords' casing do not match (line 43)
 - LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 6)
Dockerfile:36
--------------------
  34 |     RUN git clone https://github.com/ocaml/opam --single-branch --depth 1 --branch master /home/opam/opam
  35 |     WORKDIR /home/opam/opam
  36 | >>> RUN opam exec -- ./configure --without-mccs && opam exec -- make lib-ext && opam exec -- make
  37 |     RUN echo '(vendored_dirs src_ext)' >> dune
  38 |     RUN opam exec -- make -C doc html man-html DUNE=dune
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c opam exec -- ./configure --without-mccs && opam exec -- make lib-ext && opam exec -- make" did not complete successfully: exit code: 1
docker-build failed with exit-code 1
2026-09-23 21:11.11: Job failed: Failed: Build failed