Build:
- 0
2026-05-22 09:39.53: New job: Build Dockerfile using linux-x86_64 in
[https://github.com/ocaml-opam/opam2web.git#refs/pull/194/head (895b346cbaf93f9b671fc9bbd31404a0879c09fa)]
2026-05-22 09:39.53: Using cache hint "https://github.com/ocaml-opam/opam2web.git-Dockerfile"
2026-05-22 09:39.53: Waiting for worker…
2026-05-22 09:39.53: Got resource from pool OCluster
Building on doris.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
Synchronizing 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.1s
#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:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89
#3 resolve docker.io/docker/dockerfile:1@sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 done
#3 sha256:87999aa3d42bdc6bea60565083ee17e86d1f3339802f543c0d03998580f9cb89 9.08kB / 9.08kB done
#3 sha256:e82bbc85c3cb06cf2a5a27b058208b43984448acbcd6a832cd1491933d4376dd 1.13kB / 1.13kB done
#3 sha256:1a998cca4d41cfecafb1989342c5e7378bc992589af7d47510c4b854bebfc7d7 1.33kB / 1.33kB done
#3 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 0B / 14.36MB 0.1s
#3 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 2.10MB / 14.36MB 0.6s
#3 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 5.24MB / 14.36MB 0.8s
#3 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 6.29MB / 14.36MB 1.1s
#3 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 8.39MB / 14.36MB 1.4s
#3 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 10.49MB / 14.36MB 1.5s
#3 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 11.53MB / 14.36MB 1.7s
#3 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 13.63MB / 14.36MB 1.9s
#3 sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 14.36MB / 14.36MB 2.1s done
#3 extracting sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7
#3 extracting sha256:50ba52cd6a2c01eaf1a9efbedc7c75b5da5e3965c1586001c722980487a73fd7 0.5s done
#3 DONE 2.6s
#4 [internal] load metadata for docker.io/ocaml/opam:alpine-3.14-ocaml-4.10
#4 ...
#5 [internal] load metadata for docker.io/library/alpine:3.14
#5 DONE 1.5s
#4 [internal] load metadata for docker.io/ocaml/opam:alpine-3.14-ocaml-4.10
#4 DONE 1.6s
#6 [internal] load .dockerignore
#6 transferring context: 2B done
#6 DONE 0.0s
#7 [internal] load build context
#7 transferring context: 2.59kB done
#7 DONE 0.0s
#8 [opam2web 1/6] FROM docker.io/library/alpine:3.14@sha256:0f2d5c38dd7a4f4f733e688e3a6733cb5ab1ac6e3cb4603a5dd564e5bfb80eed
#8 resolve docker.io/library/alpine:3.14@sha256:0f2d5c38dd7a4f4f733e688e3a6733cb5ab1ac6e3cb4603a5dd564e5bfb80eed 0.0s done
#8 sha256:0f2d5c38dd7a4f4f733e688e3a6733cb5ab1ac6e3cb4603a5dd564e5bfb80eed 1.64kB / 1.64kB done
#8 sha256:71859b0c62df47efaeae4f93698b56a8dddafbf041778fd668bbd1ab45a864f8 528B / 528B done
#8 sha256:9e179bacf43c4d3428d57cf459799ba0285b901945f9eccb17b6da056d3532c7 1.47kB / 1.47kB done
#8 sha256:f7dab3ab2d6ec29aa28769bec35331fb485b5837501b1e8556413d8b5a79c9c8 0B / 2.83MB 0.1s
#8 sha256:f7dab3ab2d6ec29aa28769bec35331fb485b5837501b1e8556413d8b5a79c9c8 1.05MB / 2.83MB 0.5s
#8 sha256:f7dab3ab2d6ec29aa28769bec35331fb485b5837501b1e8556413d8b5a79c9c8 2.10MB / 2.83MB 0.7s
#8 sha256:f7dab3ab2d6ec29aa28769bec35331fb485b5837501b1e8556413d8b5a79c9c8 2.83MB / 2.83MB 1.0s
#8 sha256:f7dab3ab2d6ec29aa28769bec35331fb485b5837501b1e8556413d8b5a79c9c8 2.83MB / 2.83MB 1.0s done
#8 extracting sha256:f7dab3ab2d6ec29aa28769bec35331fb485b5837501b1e8556413d8b5a79c9c8
#8 extracting sha256:f7dab3ab2d6ec29aa28769bec35331fb485b5837501b1e8556413d8b5a79c9c8 0.2s done
#8 DONE 1.3s
#9 [opam2web 2/6] RUN apk add git curl rsync libstdc++
#9 0.326 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
#9 2.826 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
#9 ...
#10 [build-opam-doc 1/14] FROM docker.io/ocaml/opam:alpine-3.14-ocaml-4.10@sha256:cac160603d123f71e9109c5de9ad1ff8eeda4c75be369ca27c3eb745dd0f4707
#10 resolve docker.io/ocaml/opam:alpine-3.14-ocaml-4.10@sha256:cac160603d123f71e9109c5de9ad1ff8eeda4c75be369ca27c3eb745dd0f4707 0.0s done
#10 sha256:f0d8413b1655f12d11dec98b49b795bec30a6c379f0163c68a2c6ef1186453fb 8.99kB / 8.99kB done
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 82.84MB / 443.08MB 6.6s
#10 sha256:cac160603d123f71e9109c5de9ad1ff8eeda4c75be369ca27c3eb745dd0f4707 770B / 770B done
#10 sha256:52010d16eddf503f8fec6c152f2d78773cbc8fc3cd9be6579b5156ac6a3614c3 530B / 530B done
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 105.91MB / 443.08MB 8.7s
#10 ...
#9 [opam2web 2/6] RUN apk add git curl rsync libstdc++
#9 5.385 (1/14) Installing ca-certificates (20230506-r0)
#9 5.493 (2/14) Installing brotli-libs (1.0.9-r5)
#9 6.014 (3/14) Installing nghttp2-libs (1.43.0-r0)
#9 6.046 (4/14) Installing libcurl (8.0.1-r0)
#9 6.125 (5/14) Installing curl (8.0.1-r0)
#9 6.157 (6/14) Installing expat (2.5.0-r0)
#9 6.180 (7/14) Installing pcre2 (10.36-r1)
#9 6.233 (8/14) Installing git (2.32.7-r0)
#9 8.103 (9/14) Installing libgcc (10.3.1_git20210424-r2)
#9 8.162 (10/14) Installing libstdc++ (10.3.1_git20210424-r2)
#9 8.684 (11/14) Installing libacl (2.2.53-r0)
#9 8.726 (12/14) Installing popt (1.18-r0)
#9 8.749 (13/14) Installing zstd-libs (1.4.9-r1)
#9 8.933 (14/14) Installing rsync (3.2.5-r0)
#9 9.005 Executing busybox-1.33.1-r8.trigger
#9 9.017 Executing ca-certificates-20230506-r0.trigger
#9 9.074 OK: 23 MiB in 28 packages
#9 DONE 9.4s
#10 [build-opam-doc 1/14] FROM docker.io/ocaml/opam:alpine-3.14-ocaml-4.10@sha256:cac160603d123f71e9109c5de9ad1ff8eeda4c75be369ca27c3eb745dd0f4707
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 115.34MB / 443.08MB 13.8s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 128.97MB / 443.08MB 18.9s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 153.09MB / 443.08MB 23.3s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 176.16MB / 443.08MB 28.4s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 199.23MB / 443.08MB 31.6s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 222.30MB / 443.08MB 33.5s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 246.42MB / 443.08MB 35.2s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 271.58MB / 443.08MB 37.2s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 295.70MB / 443.08MB 38.7s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 318.77MB / 443.08MB 40.2s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 342.88MB / 443.08MB 42.5s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 367.00MB / 443.08MB 44.4s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 390.07MB / 443.08MB 46.2s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 413.14MB / 443.08MB 47.8s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 437.26MB / 443.08MB 49.6s
#10 sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 443.08MB / 443.08MB 50.1s done
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 0.2s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 5.3s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 10.3s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 15.8s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 21.4s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 28.6s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 35.5s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 42.0s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 48.5s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 54.2s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 60.7s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 65.8s
#10 extracting sha256:31e42ffc26010e6972ba08b9bb4a92fa4afe14d6fd67951214d68c076a5e2bd3 68.6s done
#10 DONE 122.3s
#11 [build-opam2web 2/13] RUN sudo apk add g++
#11 0.367 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
#11 0.520 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
#11 0.950 fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
#11 1.159 fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
#11 2.431 fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
#11 3.358 OK: 229 MiB in 79 packages
#11 DONE 3.8s
#12 [build-opam-doc 2/14] RUN sudo apk add cgit groff
#12 0.299 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
#12 0.476 fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
#12 0.784 fetch https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz
#12 0.925 fetch https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz
#12 1.865 fetch https://dl-cdn.alpinelinux.org/alpine/edge/testing/x86_64/APKINDEX.tar.gz
#12 2.667 (1/3) Installing lua5.3-libs (5.3.6-r0)
#12 2.815 (2/3) Installing cgit (1.2.3-r0)
#12 ...
#13 [build-opam2web 3/13] RUN git clone https://github.com/ocaml/opam2web --depth 1 /home/opam/opam2web
#13 0.267 Cloning into '/home/opam/opam2web'...
#13 DONE 3.2s
#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.4s
#12 [build-opam-doc 2/14] RUN sudo apk add cgit groff
#12 ...
#16 [build-opam2web 6/13] RUN sudo mv /usr/bin/opam-2.1 /usr/bin/opam
#16 DONE 0.5s
#12 [build-opam-doc 2/14] RUN sudo apk add cgit groff
#12 8.012 (3/3) Installing groff (1.22.4-r1)
#12 11.87 Executing busybox-1.33.1-r8.trigger
#12 11.90 OK: 240 MiB in 82 packages
#12 DONE 12.1s
#17 [build-opam2web 7/13] RUN opam repo set-url default https://opam-dev.ocaml.org/
#17 ...
#18 [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
#18 0.357 #!/bin/sh -e
#18 0.357 echo
#18 0.357 echo
#18 0.357 echo "<!DOCTYPE html>"
#18 0.357 echo "<HTML><HEAD><TITLE>$(basename $2 .1) manpage</TITLE></HEAD><BODY>"
#18 0.357 /usr/lib/cgit/filters/html-converters/man2html <$2
#18 0.357 echo "</BODY></HTML>
#18 0.357
#18 DONE 0.4s
#19 [build-opam-doc 4/14] RUN sudo mv /usr/bin/opam-2.1 /usr/bin/opam && opam update
#19 0.561 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.
#19 0.561 You may want to back it up before going further.
#19 0.561
#19 0.561 Continue? [Y/n] y
#19 0.564 Format upgrade done.
#19 8.368
#19 8.368 <><> Updating package repositories ><><><><><><><><><><><><><><><><><><><><><><>
#19 53.46 [default] synchronised from file:///home/opam/opam-repository
#19 DONE 116.7s
#17 [build-opam2web 7/13] RUN opam repo set-url default https://opam-dev.ocaml.org/
#17 ...
#20 [build-opam-doc 5/14] RUN opam install odoc
#20 7.055 The following actions will be performed:
#20 7.055 - install ocamlfind 1.9.5 [required by fmt, astring, fpath]
#20 7.055 - install cmdliner 1.1.1 [required by odoc]
#20 7.055 - install dune 3.4.1 [required by odoc]
#20 7.055 - install seq base [required by tyxml]
#20 7.055 - install ocamlbuild 0.14.2 [required by fmt, astring, fpath]
#20 7.055 - install result 1.5 [required by odoc]
#20 7.055 - install cppo 1.6.9 [required by odoc]
#20 7.055 - install camlp-streams 5.0.1 [required by odoc-parser]
#20 7.055 - install re 1.10.4 [required by tyxml]
#20 7.055 - install topkg 1.0.5 [required by fmt, astring, fpath]
#20 7.055 - install uutf 1.0.3 [required by tyxml]
#20 7.055 - install fmt 0.9.0 [required by odoc]
#20 7.055 - install astring 0.8.5 [required by odoc]
#20 7.055 - install tyxml 4.5.0 [required by odoc]
#20 7.055 - install odoc-parser 1.0.1 [required by odoc]
#20 7.055 - install fpath 0.7.3 [required by odoc]
#20 7.055 - install odoc 2.1.1
#20 7.055 ===== 17 to install =====
#20 7.056
#20 7.056 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
#20 7.312 -> retrieved astring.0.8.5 (https://erratique.ch/software/astring/releases/astring-0.8.5.tbz)
#20 7.485 -> retrieved cmdliner.1.1.1 (https://erratique.ch/software/cmdliner/releases/cmdliner-1.1.1.tbz)
#20 18.04 -> retrieved camlp-streams.5.0.1 (https://github.com/ocaml/camlp-streams/archive/v5.0.1.tar.gz)
#20 18.06 -> retrieved cppo.1.6.9 (https://github.com/ocaml-community/cppo/archive/v1.6.9.tar.gz)
#20 18.30 -> retrieved fmt.0.9.0 (https://erratique.ch/software/fmt/releases/fmt-0.9.0.tbz)
#20 18.31 -> retrieved fpath.0.7.3 (https://erratique.ch/software/fpath/releases/fpath-0.7.3.tbz)
#20 19.30 -> retrieved dune.3.4.1 (https://github.com/ocaml/dune/releases/download/3.4.1/dune-3.4.1.tbz)
#20 20.00 -> retrieved ocamlbuild.0.14.2 (https://github.com/ocaml/ocamlbuild/archive/refs/tags/0.14.2.tar.gz)
#20 21.47 -> retrieved odoc-parser.1.0.1 (https://github.com/ocaml-doc/odoc-parser/releases/download/1.0.1/odoc-parser-1.0.1.tbz)
#20 21.51 -> installed cmdliner.1.1.1
#20 21.83 -> retrieved odoc.2.1.1 (https://github.com/ocaml/odoc/releases/download/2.1.1/odoc-2.1.1.tbz)
#20 22.05 -> retrieved re.1.10.4 (https://github.com/ocaml/ocaml-re/releases/download/1.10.4/re-1.10.4.tbz)
#20 22.05 -> installed seq.base
#20 22.50 -> retrieved topkg.1.0.5 (https://erratique.ch/software/topkg/releases/topkg-1.0.5.tbz)
#20 22.66 -> retrieved result.1.5 (https://github.com/janestreet/result/releases/download/1.5/result-1.5.tbz)
#20 23.10 -> retrieved uutf.1.0.3 (https://erratique.ch/software/uutf/releases/uutf-1.0.3.tbz)
#20 23.15 -> retrieved tyxml.4.5.0 (https://github.com/ocsigen/tyxml/releases/download/4.5.0/tyxml-4.5.0.tbz)
#20 24.67 [ERROR] Failed to get sources of ocamlfind.1.9.5: curl error code 502
#20 25.91 -> installed ocamlbuild.0.14.2
#20 34.53 -> installed dune.3.4.1
#20 34.85 -> installed result.1.5
#20 34.92 -> installed camlp-streams.5.0.1
#20 35.60 -> installed re.1.10.4
#20 35.74 -> installed cppo.1.6.9
#20 35.74
#20 35.74 #=== ERROR while fetching sources for ocamlfind.1.9.5 =========================#
#20 35.74 OpamSolution.Fetch_fail("http://download.camlcity.org/download/findlib-1.9.5.tar.gz (curl: code 502 while downloading http://download.camlcity.org/download/findlib-1.9.5.tar.gz)")
#20 36.14
#20 36.14
#20 36.14 <><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
#20 36.14 +- The following actions failed
#20 36.14 | - fetch ocamlfind 1.9.5
#20 36.14 +-
#20 36.14 +- The following changes have been performed (the rest was aborted)
#20 36.14 | - install camlp-streams 5.0.1
#20 36.14 | - install cmdliner 1.1.1
#20 36.14 | - install cppo 1.6.9
#20 36.14 | - install dune 3.4.1
#20 36.14 | - install ocamlbuild 0.14.2
#20 36.14 | - install re 1.10.4
#20 36.14 | - install result 1.5
#20 36.14 | - install seq base
#20 36.14 +-
#20 36.14 # Run eval $(opam env) to update the current shell environment
#20 36.15
#20 36.15 The former state can be restored with:
#20 36.15 /usr/bin/opam switch import "/home/opam/.opam/4.10/.opam-switch/backup/state-20260522094413.export"
#20 ERROR: process "/bin/sh -c opam install odoc" did not complete successfully: exit code: 40
#17 [build-opam2web 7/13] RUN opam repo set-url default https://opam-dev.ocaml.org/
#17 CANCELED
------
> [build-opam-doc 5/14] RUN opam install odoc:
36.14 | - install dune 3.4.1
36.14 | - install ocamlbuild 0.14.2
36.14 | - install re 1.10.4
36.14 | - install result 1.5
36.14 | - install seq base
36.14 +-
36.14 # Run eval $(opam env) to update the current shell environment
36.15
36.15 The former state can be restored with:
36.15 /usr/bin/opam switch import "/home/opam/.opam/4.10/.opam-switch/backup/state-20260522094413.export"
------
4 warnings found (use docker --debug to expand):
- LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format (line 6)
- 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)
Dockerfile:33
--------------------
31 | && sudo chmod a+x /usr/local/bin/man2html
32 | RUN sudo mv /usr/bin/opam-2.1 /usr/bin/opam && opam update
33 | >>> RUN opam install odoc
34 | RUN git clone https://github.com/ocaml/opam --single-branch --depth 1 --branch master /home/opam/opam
35 | WORKDIR /home/opam/opam
--------------------
ERROR: failed to build: failed to solve: process "/bin/sh -c opam install odoc" did not complete successfully: exit code: 40
docker-build failed with exit-code 1
2026-05-22 09:44.56: Job failed: Failed: Build failed