Build:
- 0
2025-05-21 09:10.31: New job: docker build { "commit": "44ca049870bbce1de0d666e48a6e91cd49e3b8d1", "dockerfile": { "file": "Dockerfile" }, "docker_context": null, "squash": false, "buildx": false, "build_args": [ "--build-arg", "TARGET=hvt", "--build-arg", "EXTRA_FLAGS=--tls=true --metrics --separate-networks" ], "path": null } 2025-05-21 09:10.31: Checking out commit 44ca0498. To reproduce: git clone --recursive "https://github.com/mirage/mirage-www.git" && cd "mirage-www" && git fetch origin "refs/pull/852/head" && git reset --hard 44ca0498 2025-05-21 09:10.31: Exec: "cp" "-a" "--" "/var/lib/ocurrent/var/git/mirage-www.git-c1609aad5612d6b73e1c5be1a480108ce3363f2b7727366290103fad03b019f2/.git" "/tmp/git-checkout15ef639e" 2025-05-21 09:10.31: Exec: "git" "-C" "/tmp/git-checkout15ef639e" "submodule" "deinit" "--force" "--all" could not create empty submodule directory data/wiki/files/mirage-skeletonSubmodule 'data/wiki/files/mirage-skeleton' (https://github.com/mirage/mirage-skeleton) unregistered for path 'data/wiki/files/mirage-skeleton' 2025-05-21 09:10.31: Exec: "git" "-C" "/tmp/git-checkout15ef639e" "reset" "--hard" "-q" "44ca049870bbce1de0d666e48a6e91cd49e3b8d1" 2025-05-21 09:10.31: Exec: "git" "-c" "protocol.file.allow=always" "-C" "/tmp/git-checkout15ef639e" "submodule" "update" "--recursive" "--init" "--no-fetch" Submodule 'data/wiki/files/mirage-skeleton' (https://github.com/mirage/mirage-skeleton) registered for path 'data/wiki/files/mirage-skeleton' Submodule path 'data/wiki/files/mirage-skeleton': checked out 'ff5febb147ec708ef56d74e9fed9e99743965edd' 2025-05-21 09:10.31: Exec: "docker" "build" "--pull" "--build-arg" "TARGET=hvt" "--build-arg" "EXTRA_FLAGS=--tls=true --metrics --separate-networks" "-f" "/tmp/git-checkout15ef639e/Dockerfile" "--iidfile" "/tmp/git-checkout15ef639e/docker-iid" "--" "/tmp/git-checkout15ef639e" #0 building with "default" instance using docker driver #1 [internal] load build definition from Dockerfile #1 DONE 0.0s #1 [internal] load build definition from Dockerfile #1 transferring dockerfile: 949B done #1 DONE 0.0s #2 [internal] load metadata for docker.io/ocaml/opam:debian-12-ocaml-4.14 #2 DONE 0.6s #3 [internal] load .dockerignore #3 transferring context: 64B done #3 DONE 0.0s #4 [ 1/16] FROM docker.io/ocaml/opam:debian-12-ocaml-4.14@sha256:2284c7688553482511fe2678b6363ce7d0912a68a6a5756a54eaebff0065bdf6 #4 DONE 0.0s #5 [internal] load build context #5 transferring context: 25.46MB 0.3s done #5 DONE 0.3s #6 [ 4/16] WORKDIR /home/opam/www #6 CACHED #7 [ 5/16] RUN sudo ln -f /usr/bin/opam-2.1 /usr/bin/opam #7 CACHED #8 [ 7/16] RUN opam update #8 CACHED #9 [ 2/16] RUN sudo apt-get update && sudo apt-get install autoconf automake -y --no-install-recommends #9 CACHED #10 [ 6/16] RUN cd ~/opam-repository && git pull origin master && git reset --hard cf409d95af00ff822422bd76b657ed213b661401 #10 CACHED #11 [ 8/16] RUN opam install 'mirage>=4.5.0' #11 CACHED #12 [ 3/16] RUN mkdir -p /home/opam/www/mirage #12 CACHED #13 [ 9/16] COPY --chown=opam:root mirage/config.ml /home/opam/www/mirage/ #13 CACHED #14 [10/16] COPY --chown=opam:root mirageio.opam /home/opam/www/ #14 DONE 0.5s #15 [ 9/16] COPY --chown=opam:root mirage/config.ml /home/opam/www/mirage/ #15 CACHED #16 [10/16] COPY --chown=opam:root mirageio.opam /home/opam/www/ #16 CACHED #17 [11/16] RUN opam exec -- mirage configure -f mirage/config.ml -t hvt --tls=true --metrics --separate-networks #17 0.855 Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock'). #17 DONE 0.9s #18 [12/16] RUN opam exec -- make depend #18 0.706 using overlay repository mirage: [opam-overlays, mirage-overlays] #18 1.462 [opam-overlays] Initialised #18 1.971 [NOTE] Repository opam-overlays has been added to the selections of switch 4.14 only. #18 1.971 Run `opam repository add opam-overlays --all-switches|--set-default' to use it in all existing switches, or in newly created switches, respectively. #18 1.971 #18 2.579 [mirage-overlays] Initialised #18 2.896 [NOTE] Repository mirage-overlays has been added to the selections of switch 4.14 only. #18 2.896 Run `opam repository add mirage-overlays --all-switches|--set-default' to use it in all existing switches, or in newly created switches, respectively. #18 2.896 #18 2.902 ↳ generate lockfile for monorepo dependencies #18 2.915 ==> Using 1 locally scanned package as the target. #18 44.94 ==> Found 177 opam dependencies for the target package. #18 44.94 ==> Querying opam database for their metadata and Dune compatibility. #18 51.25 ==> Calculating exact pins for each of them. #18 51.59 ==> Wrote lockfile with 114 entries to mirage/mirage/www-hvt.opam.locked. You can now run opam monorepo pull to fetch their sources. #18 51.66 removing overlay repository [opam-overlays, mirage-overlays] #18 51.67 Repositories removed from the selections of switch 4.14. Use '--all' to forget about them altogether. #18 51.69 Repositories removed from the selections of switch 4.14. Use '--all' to forget about them altogether. #18 51.69 The lock file has been generated. Run 'make pull' to retrieve the sources, or 'make install-switch' to install the host dependencies. #18 51.69 ↳ opam install switch dependencies #18 58.10 The following actions will be performed: #18 58.10 - install conf-libseccomp 1 #18 58.10 - install ocaml-src 4.14.2 #18 58.10 - install conf-which 1 #18 58.10 - install solo5 0.9.1 #18 58.10 - install ocaml-solo5 0.8.5 #18 58.10 ===== 5 to install ===== #18 58.10 #18 58.10 The following system packages will first need to be installed: #18 58.10 libseccomp-dev #18 58.10 #18 58.10 <><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><> #18 58.10 Let opam run your package manager to install the required system packages? #18 58.10 (answer 'n' for other options) [Y/n] y #18 58.10 + /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libseccomp-dev" #18 59.10 - debconf: delaying package configuration, since apt-utils is not installed #18 59.10 - Selecting previously unselected package libseccomp-dev:amd64. #18 59.10 - (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 ... 19102 files and directories currently installed.) #18 59.10 - Preparing to unpack .../libseccomp-dev_2.5.4-1+deb12u1_amd64.deb ... #18 59.10 - Unpacking libseccomp-dev:amd64 (2.5.4-1+deb12u1) ... #18 59.24 - Setting up libseccomp-dev:amd64 (2.5.4-1+deb12u1) ... #18 59.24 #18 59.24 <><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><> #18 61.51 -> retrieved ocaml-src.4.14.2 (cached) #18 61.68 -> installed conf-libseccomp.1 #18 61.70 -> installed conf-which.1 #18 61.73 -> retrieved ocaml-solo5.0.8.5 (https://github.com/mirage/ocaml-solo5/archive/refs/tags/v0.8.5.tar.gz) #18 62.97 -> retrieved solo5.0.9.1 (https://github.com/Solo5/solo5/releases/download/v0.9.1/solo5-v0.9.1.tar.gz) #18 63.26 -> installed ocaml-src.4.14.2 #18 75.13 -> installed solo5.0.9.1 #18 161.9 -> installed ocaml-solo5.0.8.5 #18 162.1 Done. #18 163.2 ↳ install external dependencies for monorepo #18 163.2 ==> Using lockfile mirage/mirage/www-hvt.opam.locked #18 163.7 + /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "libev-dev" "libgmp-dev" "libonig-dev" "libssl-dev" #18 164.7 - debconf: delaying package configuration, since apt-utils is not installed #18 164.7 - Selecting previously unselected package libev4:amd64. #18 164.7 - (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 ... 19144 files and directories currently installed.) #18 164.7 - Preparing to unpack .../0-libev4_1%3a4.33-1_amd64.deb ... #18 165.7 - Unpacking libev4:amd64 (1:4.33-1) ... #18 165.7 - Selecting previously unselected package libev-dev:amd64. #18 165.7 - Preparing to unpack .../1-libev-dev_1%3a4.33-1_amd64.deb ... #18 165.7 - Unpacking libev-dev:amd64 (1:4.33-1) ... #18 165.7 - Selecting previously unselected package libgmpxx4ldbl:amd64. #18 165.7 - Preparing to unpack .../2-libgmpxx4ldbl_2%3a6.2.1+dfsg1-1.1_amd64.deb ... #18 165.7 - Unpacking libgmpxx4ldbl:amd64 (2:6.2.1+dfsg1-1.1) ... #18 165.7 - Selecting previously unselected package libgmp-dev:amd64. #18 165.7 - Preparing to unpack .../3-libgmp-dev_2%3a6.2.1+dfsg1-1.1_amd64.deb ... #18 165.7 - Unpacking libgmp-dev:amd64 (2:6.2.1+dfsg1-1.1) ... #18 165.7 - Selecting previously unselected package libonig5:amd64. #18 165.7 - Preparing to unpack .../4-libonig5_6.9.8-1_amd64.deb ... #18 165.7 - Unpacking libonig5:amd64 (6.9.8-1) ... #18 165.7 - Selecting previously unselected package libonig-dev. #18 165.7 - Preparing to unpack .../5-libonig-dev_6.9.8-1_amd64.deb ... #18 165.7 - Unpacking libonig-dev (6.9.8-1) ... #18 165.7 - Selecting previously unselected package libssl-dev:amd64. #18 165.7 - Preparing to unpack .../6-libssl-dev_3.0.16-1~deb12u1_amd64.deb ... #18 165.7 - Unpacking libssl-dev:amd64 (3.0.16-1~deb12u1) ... #18 166.2 - Setting up libev4:amd64 (1:4.33-1) ... #18 166.2 - Setting up libgmpxx4ldbl:amd64 (2:6.2.1+dfsg1-1.1) ... #18 166.2 - Setting up libssl-dev:amd64 (3.0.16-1~deb12u1) ... #18 166.2 - Setting up libev-dev:amd64 (1:4.33-1) ... #18 166.2 - Setting up libonig5:amd64 (6.9.8-1) ... #18 166.2 - Setting up libgmp-dev:amd64 (2:6.2.1+dfsg1-1.1) ... #18 166.2 - Setting up libonig-dev (6.9.8-1) ... #18 166.2 - Processing triggers for libc-bin (2.36-9+deb12u10) ... #18 166.2 The dependencies have been installed. Run 'make build' to build the unikernel. #18 166.2 ↳ fetch monorepo dependencies in the duniverse folder #18 166.2 ==> Using lockfile mirage/mirage/www-hvt.opam.locked #18 189.3 Successfully pulled 114/114 repositories #18 189.3 The sources have been pulled to the duniverse folder. Run 'make build' to build the unikernel. #18 DONE 195.7s #19 [13/16] COPY --chown=opam:root . /home/opam/www #19 DONE 0.9s #20 [14/16] RUN opam exec -- mirage configure -f mirage/config.ml -t hvt --tls=true --metrics --separate-networks #20 1.086 Successfully configured the unikernel. Now run 'make' (or more fine-grained steps: 'make all', 'make depends', or 'make lock'). #20 DONE 1.3s #21 [15/16] RUN opam exec -- dune build mirage/ --profile release #21 4.138 ocamlfind -toolchain solo5 ocamlopt -c -o clock_stubs.o clock_stubs.c #21 4.138 ocamlfind -toolchain solo5 ocamlopt -c -o mm_stubs.o mm_stubs.c #21 4.138 ocamlfind -toolchain solo5 ocamlopt -c -o main.o main.c #21 4.138 ar r libmirage-solo5_bindings.a clock_stubs.o mm_stubs.o main.o #21 4.138 ar: creating libmirage-solo5_bindings.a #21 14.26 Browserslist: caniuse-lite is outdated. Please run: #21 14.26 npx update-browserslist-db@latest #21 14.26 Why you should do it regularly: https://github.com/browserslist/update-db#readme #21 14.26 #21 14.26 Rebuilding... #21 14.26 #21 14.26 Done in 1894ms. #21 17.71 /usr/bin/ld: warning: amd64.o: missing .note.GNU-stack section implies executable stack #21 17.71 /usr/bin/ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker #21 47.97 emitter.c: In function 'yaml_emitter_write_plain_scalar': #21 47.97 emitter.c:28:6: warning: value computed is not used [-Wunused-value] #21 47.97 28 | && ((emitter->line_break == YAML_CR_BREAK ? \ #21 47.97 | ^~ #21 47.97 emitter.c:56:11: note: in expansion of macro 'PUT_BREAK' #21 47.97 56 | (PUT_BREAK(emitter), \ #21 47.97 | ^~~~~~~~~ #21 47.97 emitter.c:1962:18: note: in expansion of macro 'WRITE_BREAK' #21 47.97 1962 | if (!WRITE_BREAK(emitter, string)) return 0; #21 47.97 | ^~~~~~~~~~~ #21 47.97 emitter.c: In function 'yaml_emitter_write_single_quoted_scalar': #21 47.97 emitter.c:28:6: warning: value computed is not used [-Wunused-value] #21 47.97 28 | && ((emitter->line_break == YAML_CR_BREAK ? \ #21 47.97 | ^~ #21 47.97 emitter.c:56:11: note: in expansion of macro 'PUT_BREAK' #21 47.97 56 | (PUT_BREAK(emitter), \ #21 47.97 | ^~~~~~~~~ #21 47.97 emitter.c:2019:18: note: in expansion of macro 'WRITE_BREAK' #21 47.97 2019 | if (!WRITE_BREAK(emitter, string)) return 0; #21 47.97 | ^~~~~~~~~~~ #21 47.97 emitter.c: In function 'yaml_emitter_write_literal_scalar': #21 47.97 emitter.c:28:6: warning: value computed is not used [-Wunused-value] #21 47.97 28 | && ((emitter->line_break == YAML_CR_BREAK ? \ #21 47.97 | ^~ #21 47.97 emitter.c:56:11: note: in expansion of macro 'PUT_BREAK' #21 47.97 56 | (PUT_BREAK(emitter), \ #21 47.97 | ^~~~~~~~~ #21 47.97 emitter.c:2285:18: note: in expansion of macro 'WRITE_BREAK' #21 47.97 2285 | if (!WRITE_BREAK(emitter, string)) return 0; #21 47.97 | ^~~~~~~~~~~ #21 47.97 emitter.c: In function 'yaml_emitter_write_folded_scalar': #21 47.97 emitter.c:28:6: warning: value computed is not used [-Wunused-value] #21 47.97 28 | && ((emitter->line_break == YAML_CR_BREAK ? \ #21 47.97 | ^~ #21 47.97 emitter.c:56:11: note: in expansion of macro 'PUT_BREAK' #21 47.97 56 | (PUT_BREAK(emitter), \ #21 47.97 | ^~~~~~~~~ #21 47.97 emitter.c:2334:18: note: in expansion of macro 'WRITE_BREAK' #21 47.97 2334 | if (!WRITE_BREAK(emitter, string)) return 0; #21 47.97 | ^~~~~~~~~~~ #21 109.4 configure: WARNING: using cross tools not prefixed with host triplet #21 109.4 configure: WARNING: cannot check for properly working vsnprintf when cross compiling, will assume it's ok #21 109.5 binary ocaml: found in /home/opam/.opam/4.14/bin #21 109.5 binary ocamlc: found in /home/opam/.opam/4.14/bin #21 109.5 binary ocamldep: found in /home/opam/.opam/4.14/bin #21 109.5 binary ocamlmklib: found in /home/opam/.opam/4.14/bin #21 109.5 binary ocamldoc: found in /home/opam/.opam/4.14/bin #21 109.5 binary x86_64-solo5-none-static-cc: found in /home/opam/.opam/4.14/bin #21 109.5 binary ocamlopt: found in /home/opam/.opam/4.14/bin #21 109.5 checking compilation with -I/home/opam/www/_build/solo5/mirage/duniverse/Zarith/../../../../install/solo5/lib/gmp/: working #21 109.5 include caml/mlvalues.h: found #21 109.5 library dynlink.cmxa: found #21 109.5 binary ocamlfind: found in /home/opam/.opam/4.14/bin #21 109.5 OCaml's word size is 64 #21 109.5 package gmp: found #21 109.5 OCaml supports -bin-annot to produce documentation #21 109.5 #21 109.5 detected configuration: #21 109.5 #21 109.5 native-code: yes #21 109.5 dynamic linking: yes #21 109.5 defines: -DHAS_GMP #21 109.5 includes: -I/home/opam/.opam/4.14/solo5-sysroot/lib/ocaml -I/home/opam/www/_build/solo5/mirage/duniverse/Zarith/../../../../install/solo5/lib/gmp/ #21 109.5 libraries: -lgmp #21 109.5 linker options: -L/home/opam/www/_build/solo5/mirage/duniverse/Zarith/../../../../install/solo5/lib/gmp/ #21 109.5 C options: -I/home/opam/www/_build/solo5/mirage/duniverse/Zarith/../../../../install/solo5/lib/gmp/ #21 109.5 installation path: /home/opam/.opam/4.14/lib #21 109.5 installation method findlib #21 109.5 #21 109.5 configuration successful! #21 109.5 now type "make" to build #21 109.5 then type "make install" or "sudo make install" to install #21 121.0 /usr/bin/ld: warning: /home/opam/.opam/4.14/bin/../lib/x86_64-solo5-none-static/solo5_hvt.o: requires executable stack (because the .note.GNU-stack section is executable) #21 DONE 123.1s #22 [16/16] RUN if [ hvt = hvt ]; then sudo cp mirage/dist/www.hvt /unikernel.hvt; fi #22 DONE 0.9s #23 exporting to image #23 exporting layers #23 exporting layers 6.0s done #23 writing image sha256:fe198c5d48a919b40cf89b73a121bf330b8fbf4a747b7de49afaa7917335282f 0.1s done #23 DONE 6.2s 2025-05-21 09:16.03: Job succeeded