Building on thyme
(from windows-server-2022-amd64-ocaml-5.3)
2026-01-20 17:04.53 ---> using "1d6ffeb5a52124df73b2e951323e99615c52ca4f9bdf0f65039be6146fabdaab" from cache
/: (user (uid 1000) (gid 1000))
/: (env OPAMPRECISETRACKING 1)
/: (env OPAMUTF8 never)
/: (env OPAMEXTERNALSOLVER builtin-0install)
/: (env OPAMCRITERIA +removed)
/: (env CI true)
/: (env OPAM_HEALTH_CHECK_CI true)
/: (run (shell "ln -f /usr/bin/opam-dev.exe /usr/bin/opam.exe"))
2026-01-20 17:04.53 ---> using "75bf3fbea1cbc65a9803f40104651d67c546cddf5606f6a4af6db8fca92eb5c0" from cache
/: (run (network host)
(shell "rm -rf ~/opam-repository && git clone -q 'https://github.com/ocaml/opam-repository' ~/opam-repository && git -C ~/opam-repository checkout -q 39960ffbaf3e5b50a1e354d4c99bfecc01e358ca"))
2026-01-20 17:04.54 ---> using "4f0b9497afb6eea9cf43067636e988a83f1bcb9ac810ad661f7eaf4b1c0160a9" from cache
/: (run (shell "rm -rf ~/.opam && opam init -ya --bare ~/opam-repository"))
User configuration:
Updating ~\.bash_profile.
[NOTE] Make sure that ~\.bash_profile is well sourced in your ~/.bashrc.
Added 9 lines after line 1 in ~\.bash_profile.
2026-01-20 17:04.54 ---> using "feb2117583ac2c8b4c4afc6c9ad87a221de3fe962075f3d95506ae89490c1bd3" from cache
/: (run (cache (opam-archives (target "c:\\Users\\opam\\AppData\\Local\\opam\\download-cache")))
(network host)
(shell "opam switch create --repositories=default '4.14' '4.14.2'"))
<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-base-compiler" {= "4.14.2"} | "ocaml-system" {= "4.14.2"}]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> installed arch-x86_64.1
-> installed base-bigarray.base
-> installed base-threads.base
-> installed base-unix.base
-> installed host-arch-x86_64.1
-> installed host-system-mingw.1
-> retrieved flexdll.0.44 (cached)
-> retrieved ocaml-config.3 (cached)
-> installed flexdll.0.44
-> installed ocaml-options-vanilla.1
-> retrieved mingw-w64-shims.0.2.0 (cached)
-> installed conf-mingw-w64-gcc-x86_64.1
-> installed ocaml-env-mingw64.1
-> installed system-mingw.1
-> retrieved ocaml-base-compiler.4.14.2 (cached)
-> installed mingw-w64-shims.0.2.0
-> installed ocaml-base-compiler.4.14.2
-> installed ocaml-config.3
-> installed ocaml.4.14.2
Done.
# To update the current shell environment, run: eval $(opam env --switch=4.14)
2026-01-20 17:04.54 ---> using "03dadb49763cc4a296f115bdfd870a68e8118c8eb45fbf97515f09fc9e891086" from cache
/: (run (network host)
(shell "opam update --depexts"))
2026-01-20 17:04.54 ---> using "d8fbbfda478f7c415bcb9a9c283b62ca4117d8e11d983199b7bb854ab01af4d0" from cache
/: (run (cache (opam-archives (target "c:\\Users\\opam\\AppData\\Local\\opam\\download-cache")))
(network host)
(shell "opam remove -y iomux.0.4\
\nopam install -vy iomux.0.4\
\nres=$?\
\nif [ $res = 31 ]; then\
\n if opam show -f x-ci-accept-failures: iomux.0.4 | grep -q 'windows-server-2022-amd64-ocaml-5.3'; then\
\n echo \"This package failed and has been disabled for CI using the 'x-ci-accept-failures' field.\"\
\n exit 69\
\n fi\
\nfi \
\n\
\n\
\nexit $res"))
Nothing to do.
[NOTE] iomux.0.4 is not installed.
The following actions will be performed:
=== install 4 packages
- install csexp 1.5.2 [required by dune-configurator]
- install dune 3.20.2 [required by iomux]
- install dune-configurator 3.20.2 [required by iomux]
- install iomux 0.4
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 1/11: [csexp.1.5.2: extract]
Processing 2/11: [csexp.1.5.2: extract] [dune.3.20.2, dune-configurator.3.20.2: http]
Processing 3/11: [csexp.1.5.2: extract] [dune.3.20.2, dune-configurator.3.20.2: http] [iomux.0.4: http]
-> retrieved csexp.1.5.2 (cached)
Processing 3/11: [dune.3.20.2, dune-configurator.3.20.2: http] [iomux.0.4: http]
Processing 3/11: [dune.3.20.2, dune-configurator.3.20.2: extract] [iomux.0.4: http]
Processing 3/11: [dune.3.20.2, dune-configurator.3.20.2: extract] [iomux.0.4: extract]
-> retrieved iomux.0.4 (https://github.com/ocaml-multicore/ocaml-iomux/releases/download/v0.4/iomux-0.4.tbz)
Processing 3/11: [dune.3.20.2, dune-configurator.3.20.2: extract]
-> retrieved dune.3.20.2, dune-configurator.3.20.2 (https://github.com/ocaml/dune/releases/download/3.20.2/dune-3.20.2.tbz)
Processing 4/11: [dune: ocaml 7]
+ C:\Users\opam\AppData\Local\opam\4.14\bin\ocaml.exe "boot/bootstrap.ml" "-j" "7" (CWD=C:\Users\opam\AppData\Local\opam\4.14\.opam-switch\build\dune.3.20.2)
- ocamlc -output-complete-exe -g -o .duneboot.exe -I boot unix.cma boot/libs.ml boot/duneboot.ml
- .\.duneboot.exe -j 7
-
Processing 4/11: [dune: ./_boot/dune.exe build]
+ C:\Users\opam\AppData\Local\opam\4.14\.opam-switch\build\dune.3.20.2\./_boot/dune.exe "build" "dune.install" "--release" "--profile" "dune-bootstrap" "-j" "7" (CWD=C:\Users\opam\AppData\Local\opam\4.14\.opam-switch\build\dune.3.20.2)
-> compiled dune.3.20.2
-> installed dune.3.20.2
Processing 6/11: [csexp: dune build]
+ C:\Users\opam\AppData\Local\opam\4.14\bin\dune.exe "build" "-p" "csexp" "-j" "7" "@install" (CWD=C:\Users\opam\AppData\Local\opam\4.14\.opam-switch\build\csexp.1.5.2)
-> compiled csexp.1.5.2
-> installed csexp.1.5.2
Processing 8/11: [dune-configurator: rm]
+ C:\cygwin64\bin\rm.exe "-rf" "vendor/csexp" (CWD=C:\Users\opam\AppData\Local\opam\4.14\.opam-switch\build\dune-configurator.3.20.2)
+ C:\cygwin64\bin\rm.exe "-rf" "vendor/pp" (CWD=C:\Users\opam\AppData\Local\opam\4.14\.opam-switch\build\dune-configurator.3.20.2)
Processing 8/11: [dune-configurator: dune build]
+ C:\Users\opam\AppData\Local\opam\4.14\bin\dune.exe "build" "-p" "dune-configurator" "-j" "7" "@install" (CWD=C:\Users\opam\AppData\Local\opam\4.14\.opam-switch\build\dune-configurator.3.20.2)
-> compiled dune-configurator.3.20.2
-> installed dune-configurator.3.20.2
Processing 10/11: [iomux: dune build]
+ C:\Users\opam\AppData\Local\opam\4.14\bin\dune.exe "build" "-p" "iomux" "-j" "7" "@install" (CWD=C:\Users\opam\AppData\Local\opam\4.14\.opam-switch\build\iomux.0.4)
- File "lib/dune", lines 1-4, characters 0-77:
- 1 | (rule
- 2 | (targets config.ml config.h)
- 3 | (action
- 4 | (run ./include/discover.exe)))
- (cd _build/default/lib && include\discover.exe)
- compiling c program:
- |
- | #define _GNU_SOURCE /* for linux */
- | #include <poll.h>
- | #include <stddef.h>
- | #include <strings.h>
- |
- | int
- | main(void)
- | {
- | struct pollfd fds;
- | struct timespec ts;
- |
- | bzero(&fds, sizeof(fds));
- | bzero(&ts, sizeof(ts));
- |
- | return (ppoll(&fds, 0, &ts, NULL));
- | }
- run: x86_64-w64-mingw32-gcc -O2 -fno-strict-aliasing -fwrapv -mms-bitfields -I C:/Users/opam/AppData/Local/opam/4.14/lib/ocaml -o C:\Users\opam\AppData\Local\Temp\build_0d5e7d_dune\ocaml-configurator0b8e71\c-test-0\test.exe C:\Users\opam\AppData\Local\Temp\build_0d5e7d_dune\ocaml-configurator0b8e71\c-test-0\test.c -lws2_32 -lversion
- -> process exited with code 1
- -> stdout:
- -> stderr:
- | C:\Users\opam\AppData\Local\Temp\build_0d5e7d_dune\ocaml-configurator0b8e71\c-test-0\test.c:3:10: fatal error: poll.h: No such file or directory
- | 3 | #include <poll.h>
- | | ^~~~~~~~
- | compilation terminated.
- writing header file config.h
- | #ifndef DISCOVER_CONFIG_H
- | #define DISCOVER_CONFIG_H
- | #undef HAS_PPOLL
- | #endif
- compiling c program:
- | #include <stdio.h>
- | #include <poll.h>
- |
- |
- | #define DUNE_ABS(x) ((x >= 0)? x: -(x))
- | #define DUNE_D0(x) ('0'+(DUNE_ABS(x)/1 )%10)
- | #define DUNE_D1(x) ('0'+(DUNE_ABS(x)/10 )%10), DUNE_D0(x)
- | #define DUNE_D2(x) ('0'+(DUNE_ABS(x)/100 )%10), DUNE_D1(x)
- | #define DUNE_D3(x) ('0'+(DUNE_ABS(x)/1000 )%10), DUNE_D2(x)
- | #define DUNE_D4(x) ('0'+(DUNE_ABS(x)/10000 )%10), DUNE_D3(x)
- | #define DUNE_D5(x) ('0'+(DUNE_ABS(x)/100000 )%10), DUNE_D4(x)
- | #define DUNE_D6(x) ('0'+(DUNE_ABS(x)/1000000 )%10), DUNE_D5(x)
- | #define DUNE_D7(x) ('0'+(DUNE_ABS(x)/10000000 )%10), DUNE_D6(x)
- | #define DUNE_D8(x) ('0'+(DUNE_ABS(x)/100000000 )%10), DUNE_D7(x)
- | #define DUNE_D9(x) ('0'+(DUNE_ABS(x)/1000000000)%10), DUNE_D8(x)
- | #define DUNE_SIGN(x) ((x >= 0)? '0': '-')
- |
- |
- | const char s0[] = {
- | 'B', 'E', 'G', 'I', 'N', '-', '0', '-',
- | DUNE_SIGN((POLLIN)),
- | DUNE_D9((POLLIN)),
- | '-', 'E', 'N', 'D'
- | };
- |
- |
- | const char s1[] = {
- | 'B', 'E', 'G', 'I', 'N', '-', '1', '-',
- | DUNE_SIGN((POLLPRI)),
- | DUNE_D9((POLLPRI)),
- | '-', 'E', 'N', 'D'
- | };
- |
- |
- | const char s2[] = {
- | 'B', 'E', 'G', 'I', 'N', '-', '2', '-',
- | DUNE_SIGN((POLLOUT)),
- | DUNE_D9((POLLOUT)),
- | '-', 'E', 'N', 'D'
- | };
- |
- |
- | const char s3[] = {
- | 'B', 'E', 'G', 'I', 'N', '-', '3', '-',
- | DUNE_SIGN((POLLERR)),
- | DUNE_D9((POLLERR)),
- | '-', 'E', 'N', 'D'
- | };
- |
- |
- | const char s4[] = {
- | 'B', 'E', 'G', 'I', 'N', '-', '4', '-',
- | DUNE_SIGN((POLLHUP)),
- | DUNE_D9((POLLHUP)),
- | '-', 'E', 'N', 'D'
- | };
- |
- |
- | const char s5[] = {
- | 'B', 'E', 'G', 'I', 'N', '-', '5', '-',
- | DUNE_SIGN((POLLNVAL)),
- | DUNE_D9((POLLNVAL)),
- | '-', 'E', 'N', 'D'
- | };
- |
- |
- | const char s6[] = {
- | 'B', 'E', 'G', 'I', 'N', '-', '6', '-',
- | DUNE_SIGN((sizeof(struct pollfd))),
- | DUNE_D9((sizeof(struct pollfd))),
- | '-', 'E', 'N', 'D'
- | };
- |
- run: x86_64-w64-mingw32-gcc -O2 -fno-strict-aliasing -fwrapv -mms-bitfields -I C:/Users/opam/AppData/Local/opam/4.14/lib/ocaml -o C:\Users\opam\AppData\Local\Temp\build_0d5e7d_dune\ocaml-configurator0b8e71\c-test-2\test.o -c C:\Users\opam\AppData\Local\Temp\build_0d5e7d_dune\ocaml-configurator0b8e71\c-test-2\test.c -lws2_32 -lversion
- -> process exited with code 1
- -> stdout:
- -> stderr:
- | C:\Users\opam\AppData\Local\Temp\build_0d5e7d_dune\ocaml-configurator0b8e71\c-test-2\test.c:2:10: fatal error: poll.h: No such file or directory
- | 2 | #include <poll.h>
- | | ^~~~~~~~
- | compilation terminated.
- Error: failed to compile program
[ERROR] The compilation of iomux.0.4 failed at "dune build -p iomux -j 7 @install".
#=== ERROR while compiling iomux.0.4 ==========================================#
# context 2.3.0 | win32/x86_64 | ocaml-base-compiler.4.14.2 | file://C:/Users/opam/opam-repository
# path ~\AppData\Local\opam\4.14\.opam-switch\build\iomux.0.4
# command ~\AppData\Local\opam\4.14\bin\dune.exe build -p iomux -j 7 @install
# exit-code 1
# env-file ~\AppData\Local\opam\log\iomux-1572-bbe4de.env
# output-file ~\AppData\Local\opam\log\iomux-1572-bbe4de.out
### output ###
# compiling c program:
# [...]
# | };
# |
# run: x86_64-w64-mingw32-gcc -O2 -fno-strict-aliasing -fwrapv -mms-bitfields -I C:/Users/opam/AppData/Local/opam/4.14/lib/ocaml -o C:\Users\opam\AppData\Local\Temp\build_0d5e7d_dune\ocaml-configurator0b8e71\c-test-2\test.o -c C:\Users\opam\AppData\Local\Temp\build_0d5e7d_dune\ocaml-configurator0b8e71\c-test-2\test.c -lws2_32 -lversion
# -> process exited with code 1
# -> stdout:
# -> stderr:
# | C:\Users\opam\AppData\Local\Temp\build_0d5e7d_dune\ocaml-configurator0b8e71\c-test-2\test.c:2:10: fatal error: poll.h: No such file or directory
# | 2 | #include <poll.h>
# | | ^~~~~~~~
# | compilation terminated.
# Error: failed to compile program
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build iomux 0.4
+-
+- The following changes have been performed
| - install csexp 1.5.2
| - install dune 3.20.2
| - install dune-configurator 3.20.2
+-
# To update the current shell environment, run: eval $(opam env)
The former state can be restored with:
C:\cygwin64\bin\opam.exe switch import "C:\\Users\\opam\\AppData\\Local\\opam\\4.14\\.opam-switch\\backup\\state-20260120170720.export"
'C:\cygwin64\bin\opam.exe install -vy iomux.0.4' failed.
"opam remove -y iomux.0.4
opam install -vy iomux.0.4
res=$?
if [ $res = 31 ]; then
if opam show -f x-ci-accept-failures: iomux.0.4 | grep -q 'windows-server-2022-amd64-ocaml-5.3'; then
echo "This package failed and has been disabled for CI using the 'x-ci-accept-failures' field."
exit 69
fi
fi
exit $res" failed with exit status 31
Failed: Build failed