Building on ltsc2025-1
(from ocaml/opam:windows-server-mingw-ltsc2025-opam)
2026-03-07 15:43.11 ---> using "63e5ddb9687855d0a0c4c5e0088f813758807605401f3a88b07751088826ddff" from cache
C:/: (user (uid 1000) (gid 1000))
C:/: (env OPAMPRECISETRACKING 1)
C:/: (env OPAMUTF8 never)
C:/: (env OPAMEXTERNALSOLVER builtin-0install)
C:/: (env OPAMCRITERIA +removed)
C:/: (env CI true)
C:/: (env OPAM_HEALTH_CHECK_CI true)
C:/: (run (shell "ln -f /usr/local/bin/opam-dev.exe /usr/local/bin/opam.exe"))
2026-03-07 15:43.11 ---> using "eb751f1617949fccf400da87a349c508e73323f3f0e3482f2cce8c46fbcb6c21" from cache
C:/: (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 31db989bcaf14647d9889b8903120d6202ac37a8"))
2026-03-07 15:43.11 ---> using "ef58fca6f6db70f2bdfd85579892df7c50e047d2e179a3be59dcaa5c5a2d773c" from cache
C:/: (run (shell "rm -rf ~/.opam && opam init -ya --bare ~/opam-repository"))
User configuration:
Updating ~\.bashrc.
[NOTE] Make sure that ~/.bashrc is well sourced in your ~\.bash_profile.
Added 9 lines after line 1 in ~\.bashrc.
2026-03-07 15:43.11 ---> using "c700dfaf6f2da6800841bb961abfee8cd8858dee38ab51c0793b149f1795270d" from cache
C:/: (run (cache (opam-archives (target "c:\\opam\\.opam\\download-cache")))
(network host)
(shell "opam switch create --repositories=default 'mingw-5.4' '5.4.0'"))
<><> Installing new switch packages <><><><><><><><><><><><><><><><><><><><><><>
Switch invariant: ["ocaml-base-compiler" {= "5.4.0"}]
<><> 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 mingw-w64-shims.0.2.0 (cached)
-> installed conf-mingw-w64-gcc-x86_64.1
-> retrieved flexdll.0.44 (https://github.com/ocaml/flexdll/archive/refs/tags/0.44.tar.gz)
-> installed flexdll.0.44
-> installed ocaml-env-mingw64.1
-> installed ocaml-options-vanilla.1
-> installed system-mingw.1
-> installed mingw-w64-shims.0.2.0
-> retrieved ocaml-config.3 (2 extra sources)
-> retrieved ocaml-config.3 (2 extra sources)
-> retrieved ocaml-compiler.5.4.0 (https://github.com/ocaml/ocaml/releases/download/5.4.0/ocaml-5.4.0.tar.gz)
-> installed ocaml-compiler.5.4.0
-> installed ocaml-base-compiler.5.4.0
-> installed ocaml-config.3
-> installed ocaml.5.4.0
-> installed base-domains.base
-> installed base-effects.base
-> installed base-nnp.base
Done.
# To update the current shell environment, run: eval $(opam env --switch=mingw-5.4)
2026-03-07 15:43.11 ---> using "bde3e22405d3d4b8eb936b6a5924016abe757c72ef4284f806d0ffa633cf6608" from cache
C:/: (run (network host)
(shell "opam update --depexts"))
2026-03-07 15:43.11 ---> using "52107e23401ba5a409505a63e9d96ae2fb84390238c362f7049829fa18c5671f" from cache
C:/: (run (cache (opam-archives (target "c:\\opam\\.opam\\download-cache")))
(network host)
(shell "opam remove -y euler.0.1\
\nopam install -vy euler.0.1\
\nres=$?\
\nif [ $res = 31 ]; then\
\n if opam show -f x-ci-accept-failures: euler.0.1 | grep -q 'ocaml/opam:windows-server-mingw-ltsc2025-opam'; 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] euler.0.1 is not installed.
The following actions will be performed:
=== install 7 packages
- install containers 3.18 [required by euler]
- install csexp 1.5.2 [required by dune-configurator]
- install dune 3.21.1 [required by euler]
- install dune-configurator 3.21.1 [required by containers]
- install either 1.0.0 [required by containers]
- install euler 0.1
- install seq base [required by euler]
<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
Processing 1/20: [containers.3.18: http]
Processing 2/20: [containers.3.18: http] [csexp.1.5.2: extract]
Processing 3/20: [containers.3.18: http] [csexp.1.5.2: extract] [dune.3.21.1, dune-configurator.3.21.1: extract]
Processing 3/20: [containers.3.18: extract] [csexp.1.5.2: extract] [dune.3.21.1, dune-configurator.3.21.1: extract]
-> retrieved csexp.1.5.2 (cached)
Processing 3/20: [containers.3.18: extract] [dune.3.21.1, dune-configurator.3.21.1: extract]
Processing 4/20: [containers.3.18: extract] [dune.3.21.1, dune-configurator.3.21.1: extract] [either.1.0.0: extract]
-> retrieved either.1.0.0 (cached)
Processing 4/20: [containers.3.18: extract] [dune.3.21.1, dune-configurator.3.21.1: extract]
Processing 5/20: [containers.3.18: extract] [dune.3.21.1, dune-configurator.3.21.1: extract] [euler.0.1: http]
-> retrieved containers.3.18 (https://github.com/c-cube/ocaml-containers/releases/download/v3.18/containers-3.18.tbz)
Processing 5/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [euler.0.1: http]
-> retrieved seq.base (cached)
Processing 6/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [euler.0.1: http]
Processing 7/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [euler.0.1: http]
-> installed seq.base
Processing 8/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [euler.0.1: http]
Processing 8/20: [dune.3.21.1, dune-configurator.3.21.1: extract] [euler.0.1: extract]
-> retrieved euler.0.1 (https://github.com/gmevel/euler-lib/releases/download/0.1/euler-0.1.tbz)
Processing 8/20: [dune.3.21.1, dune-configurator.3.21.1: extract]
-> retrieved dune.3.21.1, dune-configurator.3.21.1 (cached)
Processing 9/20: [dune: ocaml 15]
+ C:\opam\.opam\mingw-5.4\bin\ocaml.exe "boot/bootstrap.ml" "-j" "15" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\dune.3.21.1)
- ocamlc -output-complete-exe -intf-suffix .dummy -g -o .duneboot.exe -I boot -I +unix unix.cma boot/types.ml boot/libs.ml boot/duneboot.ml
- .\.duneboot.exe -j 15
Processing 9/20: [dune: ./_boot/dune.exe build]
+ C:\opam\.opam\mingw-5.4\.opam-switch\build\dune.3.21.1\./_boot/dune.exe "build" "dune.install" "--release" "--profile" "dune-bootstrap" "-j" "15" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\dune.3.21.1)
-> compiled dune.3.21.1
-> installed dune.3.21.1
Processing 11/20: [csexp: dune build]
Processing 12/20: [csexp: dune build] [either: dune build]
+ C:\opam\.opam\mingw-5.4\bin\dune.exe "build" "-p" "csexp" "-j" "15" "@install" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\csexp.1.5.2)
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlc.opt.exe -w -40 -g -bin-annot -bin-annot-occurrences -I src/.csexp.objs/byte -cmi-file src/.csexp.objs/byte/csexp.cmi -no-alias-deps -o src/.csexp.objs/byte/csexp.cmo -c -impl src/csexp.ml)
- File "src/csexp.ml", line 236, characters 7-14:
- 236 | [@@inlined always]
- ^^^^^^^
- Warning 53 [misplaced-attribute]: the inlined attribute cannot appear in this context
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlopt.opt.exe -w -40 -g -I src/.csexp.objs/byte -I src/.csexp.objs/native -cmi-file src/.csexp.objs/byte/csexp.cmi -no-alias-deps -o src/.csexp.objs/native/csexp.cmx -c -impl src/csexp.ml)
- File "src/csexp.ml", line 236, characters 7-14:
- 236 | [@@inlined always]
- ^^^^^^^
- Warning 53 [misplaced-attribute]: the inlined attribute cannot appear in this context
-> compiled csexp.1.5.2
Processing 12/20: [either: dune build]
-> installed csexp.1.5.2
Processing 13/20: [either: dune build]
Processing 14/20: [dune-configurator: rm] [either: dune build]
+ C:\opam\.opam\mingw-5.4\bin\dune.exe "build" "-p" "either" "-j" "15" "@install" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\either.1.0.0)
-> compiled either.1.0.0
Processing 14/20: [dune-configurator: rm]
-> installed either.1.0.0
Processing 15/20: [dune-configurator: rm]
+ C:\cygwin64\bin\rm.exe "-rf" "vendor/csexp" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\dune-configurator.3.21.1)
+ C:\cygwin64\bin\rm.exe "-rf" "vendor/pp" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\dune-configurator.3.21.1)
Processing 15/20: [dune-configurator: dune build]
+ C:\opam\.opam\mingw-5.4\bin\dune.exe "build" "-p" "dune-configurator" "-j" "15" "@install" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\dune-configurator.3.21.1)
-> compiled dune-configurator.3.21.1
-> installed dune-configurator.3.21.1
Processing 17/20: [containers: dune build]
+ C:\opam\.opam\mingw-5.4\bin\dune.exe "build" "-p" "containers" "-j" "15" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\containers.3.18)
-> compiled containers.3.18
-> installed containers.3.18
Processing 19/20: [euler: dune build]
+ C:\opam\.opam\mingw-5.4\bin\dune.exe "build" "-p" "euler" "-j" "15" "@install" (CWD=C:\opam\.opam\mingw-5.4\.opam-switch\build\euler.0.1)
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlc.opt.exe -w -40 -w +a@8@14@29@28-6-32-60 -short-paths -principal -strict-sequence -safe-string -unboxed-types -g -bin-annot -bin-annot-occurrences -I .Euler.objs/byte -I C:\opam\.opam\mingw-5.4\lib\containers -I C:\opam\.opam\mingw-5.4\lib\containers\domain -I C:\opam\.opam\mingw-5.4\lib\containers\monomorphic -I C:\opam\.opam\mingw-5.4\lib\either -I C:\opam\.opam\mingw-5.4\lib\seq -no-alias-deps -open Euler__ -o .Euler.objs/byte/euler__Common.cmo -c -impl Common.ml)
- File "Common.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlc.opt.exe -w -40 -w +a@8@14@29@28-6-32-60 -short-paths -principal -strict-sequence -safe-string -unboxed-types -g -bin-annot -bin-annot-occurrences -I .Euler.objs/byte -I C:\opam\.opam\mingw-5.4\lib\containers -I C:\opam\.opam\mingw-5.4\lib\containers\domain -I C:\opam\.opam\mingw-5.4\lib\containers\monomorphic -I C:\opam\.opam\mingw-5.4\lib\either -I C:\opam\.opam\mingw-5.4\lib\seq -no-alias-deps -open Euler__ -o .Euler.objs/byte/euler__Arith.cmo -c -impl Arith.ml)
- File "Arith.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlc.opt.exe -w -40 -w +a@8@14@29@28-6-32-60 -short-paths -principal -strict-sequence -safe-string -unboxed-types -g -bin-annot -bin-annot-occurrences -I .Euler.objs/byte -I C:\opam\.opam\mingw-5.4\lib\containers -I C:\opam\.opam\mingw-5.4\lib\containers\domain -I C:\opam\.opam\mingw-5.4\lib\containers\monomorphic -I C:\opam\.opam\mingw-5.4\lib\either -I C:\opam\.opam\mingw-5.4\lib\seq -no-alias-deps -open Euler__ -o .Euler.objs/byte/euler__Modular.cmo -c -impl Modular.ml)
- File "Modular.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlc.opt.exe -w -40 -w +a@8@14@29@28-6-32-60 -short-paths -principal -strict-sequence -safe-string -unboxed-types -g -bin-annot -bin-annot-occurrences -I .Euler.objs/byte -I C:\opam\.opam\mingw-5.4\lib\containers -I C:\opam\.opam\mingw-5.4\lib\containers\domain -I C:\opam\.opam\mingw-5.4\lib\containers\monomorphic -I C:\opam\.opam\mingw-5.4\lib\either -I C:\opam\.opam\mingw-5.4\lib\seq -no-alias-deps -open Euler__ -o .Euler.objs/byte/euler__Diophantine.cmo -c -impl Diophantine.ml)
- File "Diophantine.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlc.opt.exe -w -40 -w +a@8@14@29@28-6-32-60 -short-paths -principal -strict-sequence -safe-string -unboxed-types -g -bin-annot -bin-annot-occurrences -I .Euler.objs/byte -I C:\opam\.opam\mingw-5.4\lib\containers -I C:\opam\.opam\mingw-5.4\lib\containers\domain -I C:\opam\.opam\mingw-5.4\lib\containers\monomorphic -I C:\opam\.opam\mingw-5.4\lib\either -I C:\opam\.opam\mingw-5.4\lib\seq -no-alias-deps -open Euler__ -o .Euler.objs/byte/euler__Primes__data_preculling.cmo -c -impl Primes__data_preculling.ml)
- File "Primes__data_preculling.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlc.opt.exe -w -40 -w +a@8@14@29@28-6-32-60 -short-paths -principal -strict-sequence -safe-string -unboxed-types -g -bin-annot -bin-annot-occurrences -I .Euler.objs/byte -I C:\opam\.opam\mingw-5.4\lib\containers -I C:\opam\.opam\mingw-5.4\lib\containers\domain -I C:\opam\.opam\mingw-5.4\lib\containers\monomorphic -I C:\opam\.opam\mingw-5.4\lib\either -I C:\opam\.opam\mingw-5.4\lib\seq -no-alias-deps -open Euler__ -o .Euler.objs/byte/euler__Primes.cmo -c -impl Primes.ml)
- File "Primes.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- File "dune", lines 1-22, characters 0-454:
- 1 | (library
- 2 | (public_name euler)
- 3 | (name Euler)
- ....
- 20 | ))
- 21 | (ocamlopt_flags
- 22 | (:standard -inline=5 -ccopt -Ofast)))
- (cd _build/default && C:\opam\.opam\mingw-5.4\bin\ocamlopt.opt.exe -w -40 -w +a@8@14@29@28-6-32-60 -short-paths -principal -strict-sequence -safe-string -unboxed-types -g -inline=5 -ccopt -Ofast -shared -linkall -I . -o Euler.cmxs Euler.cmxa)
- flexlink: unknown option '-Ofast'.
- FlexDLL version 0.44
-
- Usage:
- flexlink -o <result.dll/exe> file1.obj file2.obj ... -- <extra linker arguments>
-
- -o Choose the name of the output file
- -exe Link the main program as an exe file
- -maindll Link the main program as a dll file
- -noflexdllobj Do not add the Flexdll runtime object (for exe)
- -noentry Do not use the Flexdll entry point (for dll)
- -noexport Do not export any symbol
- -norelrelocs Ensure that no relative relocation is generated
- -base Specify base address (Win64 only)
- -pthread Pass -pthread to the linker
- -I <dir> Add a directory where to search for files
- -L <dir> Add a directory where to search for files
- -l <lib> Library file
- -chain {msvc|msvc64|cygwin64|mingw|mingw64|gnat|gnat64|ld}
- Choose which linker to use
- -use-linker <cmd> Choose an alternative linker to use
- -use-mt <cmd> Choose an alternative manifest tool to use
- -x64 (Deprecated)
- -defaultlib <obj> External object (no export, no import)
- -save-temps Do not delete intermediate files
- -implib Do not delete the generated import library
- -outdef Produce a def file with exported symbols
- -v Increment verbosity (can be repeated)
- -show-exports Show exported symbols
- -show-imports Show imported symbols
- -dry Show the linker command line, do not actually run it
- -dump Only dump the content of object files
- -patch Only patch the target image (to be used with -stack)
- -nocygpath Do not use cygpath (default for msvc, mingw)
- -cygpath Use cygpath (default for cygwin)
- -no-merge-manifest Do not merge the manifest (takes precedence over -merge-manifest)
- -merge-manifest Merge manifest to the dll or exe (if generated)
- -real-manifest Use the generated manifest (default behavior)
- -default-manifest Use the default manifest (default.manifest/default_amd64.manifest)
- -export <sym> Explicitly export a symbol
- -noreexport Do not reexport symbols imported from import libraries
- -where Show the FlexDLL directory
- -nounderscore Normal symbols are not prefixed with an underscore
- -nodefaultlibs Do not assume any default library
- -builtin Use built-in linker to produce a dll
- -explain Explain why library objects are linked
- -subsystem <id> Set the subsystem (default: console)
- -custom-crt Use a custom CRT
- -stack <int> Set the stack reserve in the resulting image
- -link <option> Next argument is passed verbatim to the linker
- -g (Ignored)
- -D <symbol> (Ignored)
- -U <symbol> (Ignored)
- -- Following arguments are passed verbatim to the linker
- -version Print linker version and FlexDLL directory and exit
- -vnum Print linker version number and exit
- -help Display this list of options
- --help Display this list of options
-
- Notes:
- * The -I, -l and -L options do not need to be separated from their argument.
- * An option like /linkXXX is an abbrevation for '-link XXX'.
- * An option like -Wl,-XXX is an abbreviation for '-link -XXX'.
- * FlexDLL's object files are searched by default in the same directory as
- flexlink, or in the directory given by the environment variable FLEXDIR
- if it is defined.
- * Extra argument can be passed in the environment variable FLEXLINKFLAGS.
-
- Homepage: https://github.com/ocaml/flexdll
- File "caml_startup", line 1:
- Error: Error during linking (exit code 2)
[ERROR] The compilation of euler.0.1 failed at "dune build -p euler -j 15 @install".
#=== ERROR while compiling euler.0.1 ==========================================#
# context 2.5.0 | win32/x86_64 | ocaml-base-compiler.5.4.0 | git+file://C:/cygwin64/home/opam/opam-repository
# path C:\opam\.opam\mingw-5.4\.opam-switch\build\euler.0.1
# command C:\opam\.opam\mingw-5.4\bin\dune.exe build -p euler -j 15 @install
# exit-code 1
# env-file C:\opam\.opam\log\euler-6136-ca0f44.env
# output-file C:\opam\.opam\log\euler-6136-ca0f44.out
### output ###
# [...]
# Notes:
# * The -I, -l and -L options do not need to be separated from their argument.
# * An option like /linkXXX is an abbrevation for '-link XXX'.
# * An option like -Wl,-XXX is an abbreviation for '-link -XXX'.
# * FlexDLL's object files are searched by default in the same directory as
# flexlink, or in the directory given by the environment variable FLEXDIR
# if it is defined.
# * Extra argument can be passed in the environment variable FLEXLINKFLAGS.
#
# Homepage: https://github.com/ocaml/flexdll
# File "caml_startup", line 1:
# Error: Error during linking (exit code 2)
<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build euler 0.1
+-
+- The following changes have been performed
| - install containers 3.18
| - install csexp 1.5.2
| - install dune 3.21.1
| - install dune-configurator 3.21.1
| - install either 1.0.0
| - install seq base
+-
# To update the current shell environment, run: eval $(opam env)
The former state can be restored with:
C:\cygwin64\usr\local\bin\opam.exe switch import "C:\\opam\\.opam\\mingw-5.4\\.opam-switch\\backup\\state-20260307155053.export"
'C:\cygwin64\usr\local\bin\opam.exe install -vy euler.0.1' failed.
"C:\cygwin64\bin\bash.exe" "-lc" "opam remove -y euler.0.1
opam install -vy euler.0.1
res=$?
if [ $res = 31 ]; then
if opam show -f x-ci-accept-failures: euler.0.1 | grep -q 'ocaml/opam:windows-server-mingw-ltsc2025-opam'; 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