Build:
- 0
2026-06-24 11:22.20: New job: build posix-semaphore.0.3.0-0 (cdace58663ff) 2026-06-24 11:22.20: Waiting for resource in pool day11-builds 2026-06-24 12:08.43: Got resource from pool day11-builds 2026-06-24 12:08.43: [profile full] build posix-semaphore.0.3.0-0 2026-06-24 12:08.43: build posix-semaphore.0.3.0-0 (cdace58663ff) === DEPENDENCIES (10 transitive) === base-threads.base c9e7bdbf5823 base-unix.base 7d1428be9ddb dune.3.23.1 848a72441e15 ocaml.4.14.4 b047fb9251f4 ocaml-base-compiler.4.14.4 d3b7ccb2c6fb ocaml-config.2 2d9c209f5590 ocamlbuild.0.16.1 7e0d6aadb209 ocamlfind.1.9.8 214dd418ac02 posix-time.1.0.1-0 f0921fe0b319 result.1.5 9b1cd45b2159 === STDOUT === Processing: [default: loading data] [posix-semaphore.0.3.0-0: dl] [posix-semaphore.0.3.0-0: extract] -> retrieved posix-semaphore.0.3.0-0 (https://opam.ocaml.org/cache) [posix-semaphore: ocaml setup.ml] + /home/opam/.opam/default/bin/ocaml "setup.ml" "-configure" "--prefix" "/home/opam/.opam/default" (CWD=/home/opam/.opam/default/.opam-switch/build/posix-semaphore.0.3.0-0) - File "./setup.ml", line 318, characters 20-36: - 318 | String.compare (String.lowercase s1) (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 318, characters 42-58: - 318 | String.compare (String.lowercase s1) (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 327, characters 14-30: - 327 | (String.lowercase s1) = (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 327, characters 38-54: - 327 | (String.lowercase s1) = (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 330, characters 25-41: - 330 | Hashtbl.hash (String.lowercase s) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 368, characters 10-26: - 368 | String.lowercase buf - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 474, characters 13-29: - 474 | String.lowercase - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 1381, characters 23-41: - 1381 | let compare = Pervasives.compare - ^^^^^^^^^^^^^^^^^^ - Alert deprecated: module Stdlib.Pervasives - Use Stdlib instead. - - If you need to stay compatible with OCaml < 4.07, you can use the - stdlib-shims library: https://github.com/ocaml/stdlib-shims - File "./setup.ml", line 1825, characters 16-33: - 1825 | concat dir (String.capitalize base) - ^^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.capitalize - Use String.capitalize_ascii/StringLabels.capitalize_ascii instead. - File "./setup.ml", line 1831, characters 16-35: - 1831 | concat dir (String.uncapitalize base) - ^^^^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.uncapitalize - Use String.uncapitalize_ascii/StringLabels.uncapitalize_ascii instead. - File "setup.ml", line 2916, characters 10-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2922, characters 10-21: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2925, characters 23-34: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2928, characters 20-34: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2931, characters 10-27: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2934, characters 16-28: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2935, characters 15-27: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2935, characters 32-42: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2935, characters 48-61: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2936, characters 16-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2937, characters 16-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2938, characters 16-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3088, characters 4-21: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3107, characters 24-40: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3109, characters 21-33: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3110, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3110, characters 41-53: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3112, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3112, characters 41-54: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3114, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3114, characters 50-62: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3116, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3116, characters 50-63: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3118, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3131, characters 15-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3229, characters 16-34: - Alert deprecated: module Stdlib.Pervasives - Use Stdlib instead. - - If you need to stay compatible with OCaml < 4.07, you can use the - stdlib-shims library: https://github.com/ocaml/stdlib-shims - File "setup.ml", line 5847, characters 11-28: - Alert deprecated: Stdlib.String.capitalize - Use String.capitalize_ascii/StringLabels.capitalize_ascii instead. - File "setup.ml", line 5848, characters 11-30: - Alert deprecated: Stdlib.String.uncapitalize - Use String.uncapitalize_ascii/StringLabels.uncapitalize_ascii instead. - File "setup.ml", line 6484, characters 33-42: - Warning 6 [labels-omitted]: label what was omitted in the application of this function. - File "setup.ml", line 6485, characters 36-45: - Warning 6 [labels-omitted]: label what was omitted in the application of this function. - - Configuration: - ocamlfind: ........................................... /home/opam/.opam/default/bin/ocamlfind - ocamlc: .............................................. /home/opam/.opam/default/bin/ocamlc.opt - ocamlopt: ............................................ /home/opam/.opam/default/bin/ocamlopt.opt - ocamlbuild: .......................................... /home/opam/.opam/default/bin/ocamlbuild - Package name: ........................................ posix-semaphore - Package version: ..................................... 0.3.0 - os_type: ............................................. Unix - system: .............................................. linux - architecture: ........................................ amd64 - ccomp_type: .......................................... cc - ocaml_version: ....................................... 4.14.4 - standard_library_default: ............................ /home/opam/.opam/default/lib/ocaml - standard_library: .................................... /home/opam/.opam/default/lib/ocaml - bytecomp_c_compiler: ................................. gcc -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC -D_FILE_OFFSET_BITS=64 - native_c_compiler: ................................... gcc -O2 -fno-strict-aliasing -fwrapv -pthread -fPIC -D_FILE_OFFSET_BITS=64 - model: ............................................... default - ext_obj: ............................................. .o - ext_asm: ............................................. .s - ext_lib: ............................................. .a - ext_dll: ............................................. .so - default_executable_name: ............................. a.out - systhread_supported: ................................. true - Install architecture-independent files dir: .......... /home/opam/.opam/default - Install architecture-dependent files in dir: ......... $prefix - User executables: .................................... $exec_prefix/bin - System admin executables: ............................ $exec_prefix/sbin - Program executables: ................................. $exec_prefix/libexec - Read-only single-machine data: ....................... $prefix/etc - Modifiable architecture-independent data: ............ $prefix/com - Modifiable single-machine data: ...................... $prefix/var - Object code libraries: ............................... $exec_prefix/lib - Read-only arch-independent data root: ................ $prefix/share - Read-only architecture-independent data: ............. $datarootdir - Info documentation: .................................. $datarootdir/info - Locale-dependent data: ............................... $datarootdir/locale - Man documentation: ................................... $datarootdir/man - Documentation root: .................................. $datarootdir/doc/$pkg_name - HTML documentation: .................................. $docdir - DVI documentation: ................................... $docdir - PDF documentation: ................................... $docdir - PS documentation: .................................... $docdir - findlib_version: ..................................... 1.9.8 - is_native: ........................................... true - suffix_program: ...................................... - Remove a file.: ...................................... rm -f - Remove a directory.: ................................. rm -rf - Turn ocaml debug flag on: ............................ true - Turn ocaml profile flag on: .......................... false - Compiler support generation of .cmxs.: ............... true - OCamlbuild additional flags: ......................... - Create documentations: ............................... true - Compile tests executable and library and run them: ... false - pkg_result: .......................................... /home/opam/.opam/default/lib/result - pkg_unix: ............................................ /home/opam/.opam/default/lib/ocaml - pkg_posix_time: ...................................... /home/opam/.opam/default/lib/posix-time - ocamldoc: ............................................ /home/opam/.opam/default/bin/ocamldoc - [posix-semaphore: ocaml setup.ml] + /home/opam/.opam/default/bin/ocaml "setup.ml" "-build" (CWD=/home/opam/.opam/default/.opam-switch/build/posix-semaphore.0.3.0-0) - File "./setup.ml", line 318, characters 20-36: - 318 | String.compare (String.lowercase s1) (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 318, characters 42-58: - 318 | String.compare (String.lowercase s1) (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 327, characters 14-30: - 327 | (String.lowercase s1) = (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 327, characters 38-54: - 327 | (String.lowercase s1) = (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 330, characters 25-41: - 330 | Hashtbl.hash (String.lowercase s) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 368, characters 10-26: - 368 | String.lowercase buf - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 474, characters 13-29: - 474 | String.lowercase - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 1381, characters 23-41: - 1381 | let compare = Pervasives.compare - ^^^^^^^^^^^^^^^^^^ - Alert deprecated: module Stdlib.Pervasives - Use Stdlib instead. - - If you need to stay compatible with OCaml < 4.07, you can use the - stdlib-shims library: https://github.com/ocaml/stdlib-shims - File "./setup.ml", line 1825, characters 16-33: - 1825 | concat dir (String.capitalize base) - ^^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.capitalize - Use String.capitalize_ascii/StringLabels.capitalize_ascii instead. - File "./setup.ml", line 1831, characters 16-35: - 1831 | concat dir (String.uncapitalize base) - ^^^^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.uncapitalize - Use String.uncapitalize_ascii/StringLabels.uncapitalize_ascii instead. - File "setup.ml", line 2916, characters 10-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2922, characters 10-21: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2925, characters 23-34: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2928, characters 20-34: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2931, characters 10-27: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2934, characters 16-28: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2935, characters 15-27: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2935, characters 32-42: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2935, characters 48-61: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2936, characters 16-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2937, characters 16-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2938, characters 16-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3088, characters 4-21: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3107, characters 24-40: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3109, characters 21-33: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3110, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3110, characters 41-53: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3112, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3112, characters 41-54: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3114, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3114, characters 50-62: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3116, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3116, characters 50-63: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3118, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3131, characters 15-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3229, characters 16-34: - Alert deprecated: module Stdlib.Pervasives - Use Stdlib instead. - - If you need to stay compatible with OCaml < 4.07, you can use the - stdlib-shims library: https://github.com/ocaml/stdlib-shims - File "setup.ml", line 5847, characters 11-28: - Alert deprecated: Stdlib.String.capitalize - Use String.capitalize_ascii/StringLabels.capitalize_ascii instead. - File "setup.ml", line 5848, characters 11-30: - Alert deprecated: Stdlib.String.uncapitalize - Use String.uncapitalize_ascii/StringLabels.uncapitalize_ascii instead. - File "setup.ml", line 6484, characters 33-42: - Warning 6 [labels-omitted]: label what was omitted in the application of this function. - File "setup.ml", line 6485, characters 36-45: - Warning 6 [labels-omitted]: label what was omitted in the application of this function. - + /home/opam/.opam/default/bin/ocamlc.opt -config - + /home/opam/.opam/default/bin/ocamlopt.opt unix.cmxa -I /home/opam/.opam/default/lib/ocamlbuild /home/opam/.opam/default/lib/ocamlbuild/ocamlbuildlib.cmxa myocamlbuild.ml /home/opam/.opam/default/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild - + /home/opam/.opam/default/bin/ocamlc.opt -config - + /home/opam/.opam/default/bin/ocamlfind ocamlc -g -ccopt -O2 -ccopt -Wall -ccopt -Wextra -ccopt -Wno-unused-parameter -c src/semaphore.c - + /home/opam/.opam/default/bin/ocamlfind ocamlc -g -ccopt -O2 -ccopt -Wall -ccopt -Wextra -ccopt -Wno-unused-parameter -c src/semaphore.c - src/semaphore.c: In function 'stub_sem_open': - src/semaphore.c:416:13: warning: "convert_flag_list" is deprecated: use "caml_convert_flag_list" instead - 416 | fs = convert_flag_list(flags, open_flag_table); - | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - + mv semaphore.o src/semaphore.o - + /home/opam/.opam/default/bin/ocamlfind ocamlmklib -o src/posix-semaphore_stubs -g -lrt -lpthread src/semaphore.o - + /home/opam/.opam/default/bin/ocamlfind ocamldep -package posix-time -package result -package unix -modules src/posix_semaphore.mli > src/posix_semaphore.mli.depends - + /home/opam/.opam/default/bin/ocamlfind ocamlc -c -g -annot -bin-annot -ccopt -O2 -ccopt -Wall -ccopt -Wextra -ccopt -Wno-unused-parameter -package posix-time -package result -package unix -I src -o src/posix_semaphore.cmi src/posix_semaphore.mli - + /home/opam/.opam/default/bin/ocamlfind ocamldep -package posix-time -package result -package unix -modules src/posix_semaphore.ml > src/posix_semaphore.ml.depends - + /home/opam/.opam/default/bin/ocamlfind ocamlc -c -g -annot -bin-annot -ccopt -O2 -ccopt -Wall -ccopt -Wextra -ccopt -Wno-unused-parameter -package posix-time -package result -package unix -I src -o src/posix_semaphore.cmo src/posix_semaphore.ml - + /home/opam/.opam/default/bin/ocamlfind ocamlc -a -dllib -lposix-semaphore_stubs -cclib -lposix-semaphore_stubs -cclib -lrt -cclib -lpthread -I src src/posix_semaphore.cmo -o src/posix-semaphore.cma - + /home/opam/.opam/default/bin/ocamlfind ocamlopt -c -g -annot -bin-annot -ccopt -O2 -ccopt -Wall -ccopt -Wextra -ccopt -Wno-unused-parameter -package posix-time -package result -package unix -I src -o src/posix_semaphore.cmx src/posix_semaphore.ml - + /home/opam/.opam/default/bin/ocamlfind ocamlopt -a -cclib -lposix-semaphore_stubs -cclib -lrt -cclib -lpthread -I src src/posix_semaphore.cmx -o src/posix-semaphore.cmxa - + /home/opam/.opam/default/bin/ocamlfind ocamlopt -shared -I src/ -I src src/posix-semaphore.cmxa src/posix_semaphore.cmx -o src/posix-semaphore.cmxs - + /home/opam/.opam/default/bin/ocamlfind ocamldep -package posix-time -package result -package unix -modules test/test.ml > test/test.ml.depends - + /home/opam/.opam/default/bin/ocamlfind ocamlc -c -g -annot -bin-annot -I src -package posix-time -package result -package unix -I test -I src -o test/test.cmo test/test.ml - + /home/opam/.opam/default/bin/ocamlfind ocamlc -c -g -annot -bin-annot -I src -package posix-time -package result -package unix -I test -I src -o test/test.cmo test/test.ml - File "test/test.ml", line 4, characters 10-51: - 4 | let x = match sem_init 23 with | Result.Ok x -> x in - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 13-14, characters 2-22: - 13 | ..match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Ok () - File "test/test.ml", lines 12-14, characters 2-22: - 12 | ..match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 11-14, characters 2-22: - 11 | ..match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 10-14, characters 2-22: - 10 | ..match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 9-14, characters 2-22: - 9 | ..match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 10 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 8-14, characters 2-22: - 8 | ..match sem_wait x with | Result.Ok () -> print_endline "ok"; - 9 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 10 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 7-14, characters 2-22: - 7 | ..match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 8 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 9 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 10 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 6-14, characters 2-22: - 6 | ..match sem_wait x with | Result.Ok () -> print_endline "ok"; - 7 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 8 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 9 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 10 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 5-14, characters 2-22: - 5 | ..match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 6 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 7 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 8 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 9 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 10 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - + /home/opam/.opam/default/bin/ocamlfind ocamlopt -c -g -annot -bin-annot -I src -package posix-time -package result -package unix -I test -I src -o test/test.cmx test/test.ml - + /home/opam/.opam/default/bin/ocamlfind ocamlopt -c -g -annot -bin-annot -I src -package posix-time -package result -package unix -I test -I src -o test/test.cmx test/test.ml - File "test/test.ml", line 4, characters 10-51: - 4 | let x = match sem_init 23 with | Result.Ok x -> x in - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 13-14, characters 2-22: - 13 | ..match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Ok () - File "test/test.ml", lines 12-14, characters 2-22: - 12 | ..match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 11-14, characters 2-22: - 11 | ..match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 10-14, characters 2-22: - 10 | ..match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 9-14, characters 2-22: - 9 | ..match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 10 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 8-14, characters 2-22: - 8 | ..match sem_wait x with | Result.Ok () -> print_endline "ok"; - 9 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 10 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 7-14, characters 2-22: - 7 | ..match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 8 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 9 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 10 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 6-14, characters 2-22: - 6 | ..match sem_wait x with | Result.Ok () -> print_endline "ok"; - 7 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 8 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 9 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 10 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - File "test/test.ml", lines 5-14, characters 2-22: - 5 | ..match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 6 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 7 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 8 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 9 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 10 | match sem_wait x with | Result.Ok () -> print_endline "ok"; - 11 | match sem_getvalue x with | Result.Ok v -> Printf.printf "%d\n" v; - 12 | match sem_destroy x with | Result.Ok () -> print_endline "ok"; - 13 | match sem_destroy x with | Result.Error (`EUnix err) -> print_endline (Unix.error_message err); - 14 | print_endline "done" - Warning 8 [partial-match]: this pattern-matching is not exhaustive. - Here is an example of a case that is not matched: - Error _ - + /home/opam/.opam/default/bin/ocamlfind ocamlopt -g -I src/ -linkpkg -package posix-time -package result -package unix -I src -I test src/posix-semaphore.cmxa test/test.cmx -o test/test.native - + /home/opam/.opam/default/bin/ocamlopt.opt unix.cmxa -I /home/opam/.opam/default/lib/ocamlbuild /home/opam/.opam/default/lib/ocamlbuild/ocamlbuildlib.cmxa myocamlbuild.ml /home/opam/.opam/default/lib/ocamlbuild/ocamlbuild.cmx -o myocamlbuild - File "myocamlbuild.ml", line 155, characters 10-27: - 155 | Stream.of_channel chn - ^^^^^^^^^^^^^^^^^ - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 161, characters 10-21: - 161 | Stream.from - ^^^^^^^^^^^ - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 164, characters 23-34: - 164 | match Stream.next st with - ^^^^^^^^^^^ - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 167, characters 20-34: - 167 | with Stream.Failure -> None) - ^^^^^^^^^^^^^^ - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 170, characters 10-27: - 170 | Genlex.make_lexer ["="] st_line - ^^^^^^^^^^^^^^^^^ - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 173, characters 16-28: - 173 | match Stream.npeek 3 lexer with - ^^^^^^^^^^^^ - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 174, characters 15-27: - 174 | | [Genlex.Ident nm; Genlex.Kwd "="; Genlex.String value] -> - ^^^^^^^^^^^^ - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 174, characters 32-42: - 174 | | [Genlex.Ident nm; Genlex.Kwd "="; Genlex.String value] -> - ^^^^^^^^^^ - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 174, characters 48-61: - 174 | | [Genlex.Ident nm; Genlex.Kwd "="; Genlex.String value] -> - ^^^^^^^^^^^^^ - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 175, characters 16-27: - 175 | Stream.junk lexer; - ^^^^^^^^^^^ - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 176, characters 16-27: - 176 | Stream.junk lexer; - ^^^^^^^^^^^ - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 177, characters 16-27: - 177 | Stream.junk lexer; - ^^^^^^^^^^^ - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "myocamlbuild.ml", line 518, characters 43-62: - 518 | List.map (fun m -> (String.uncapitalize m) ^ ".cmi") - ^^^^^^^^^^^^^^^^^^^ - Alert deprecated: Ocamlbuild_plugin.String.uncapitalize - Use String.uncapitalize_ascii/StringLabels.uncapitalize_ascii instead. - File "myocamlbuild.ml", line 531, characters 51-70: - 531 | List.map (fun m -> dir^"/"^(String.uncapitalize m)^".cmi") - ^^^^^^^^^^^^^^^^^^^ - Alert deprecated: Ocamlbuild_plugin.String.uncapitalize - Use String.uncapitalize_ascii/StringLabels.uncapitalize_ascii instead. -> compiled posix-semaphore.0.3.0-0 [posix-semaphore: ocaml setup.ml] + /home/opam/.opam/default/bin/ocaml "setup.ml" "-install" (CWD=/home/opam/.opam/default/.opam-switch/build/posix-semaphore.0.3.0-0) - File "./setup.ml", line 318, characters 20-36: - 318 | String.compare (String.lowercase s1) (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 318, characters 42-58: - 318 | String.compare (String.lowercase s1) (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 327, characters 14-30: - 327 | (String.lowercase s1) = (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 327, characters 38-54: - 327 | (String.lowercase s1) = (String.lowercase s2) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 330, characters 25-41: - 330 | Hashtbl.hash (String.lowercase s) - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 368, characters 10-26: - 368 | String.lowercase buf - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 474, characters 13-29: - 474 | String.lowercase - ^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.lowercase - Use String.lowercase_ascii/StringLabels.lowercase_ascii instead. - File "./setup.ml", line 1381, characters 23-41: - 1381 | let compare = Pervasives.compare - ^^^^^^^^^^^^^^^^^^ - Alert deprecated: module Stdlib.Pervasives - Use Stdlib instead. - - If you need to stay compatible with OCaml < 4.07, you can use the - stdlib-shims library: https://github.com/ocaml/stdlib-shims - File "./setup.ml", line 1825, characters 16-33: - 1825 | concat dir (String.capitalize base) - ^^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.capitalize - Use String.capitalize_ascii/StringLabels.capitalize_ascii instead. - File "./setup.ml", line 1831, characters 16-35: - 1831 | concat dir (String.uncapitalize base) - ^^^^^^^^^^^^^^^^^^^ - Alert deprecated: Stdlib.String.uncapitalize - Use String.uncapitalize_ascii/StringLabels.uncapitalize_ascii instead. - File "setup.ml", line 2916, characters 10-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2922, characters 10-21: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2925, characters 23-34: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2928, characters 20-34: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2931, characters 10-27: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2934, characters 16-28: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2935, characters 15-27: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2935, characters 32-42: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2935, characters 48-61: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 2936, characters 16-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2937, characters 16-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 2938, characters 16-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3088, characters 4-21: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3107, characters 24-40: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3109, characters 21-33: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3110, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3110, characters 41-53: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3112, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3112, characters 41-54: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3114, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3114, characters 50-62: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3116, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3116, characters 50-63: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3118, characters 20-32: - Alert deprecated: module Stdlib.Genlex - Use the camlp-streams library instead. - File "setup.ml", line 3131, characters 15-27: - Alert deprecated: module Stdlib.Stream - Use the camlp-streams library instead. - File "setup.ml", line 3229, characters 16-34: - Alert deprecated: module Stdlib.Pervasives - Use Stdlib instead. - - If you need to stay compatible with OCaml < 4.07, you can use the - stdlib-shims library: https://github.com/ocaml/stdlib-shims - File "setup.ml", line 5847, characters 11-28: - Alert deprecated: Stdlib.String.capitalize - Use String.capitalize_ascii/StringLabels.capitalize_ascii instead. - File "setup.ml", line 5848, characters 11-30: - Alert deprecated: Stdlib.String.uncapitalize - Use String.uncapitalize_ascii/StringLabels.uncapitalize_ascii instead. - File "setup.ml", line 6484, characters 33-42: - Warning 6 [labels-omitted]: label what was omitted in the application of this function. - File "setup.ml", line 6485, characters 36-45: - Warning 6 [labels-omitted]: label what was omitted in the application of this function. - Installed /home/opam/.opam/default/lib/posix-semaphore/posix_semaphore.mli - Installed /home/opam/.opam/default/lib/posix-semaphore/libposix-semaphore_stubs.a - Installed /home/opam/.opam/default/lib/posix-semaphore/posix-semaphore.cma - Installed /home/opam/.opam/default/lib/posix-semaphore/posix-semaphore.cmxa - Installed /home/opam/.opam/default/lib/posix-semaphore/posix-semaphore.a - Installed /home/opam/.opam/default/lib/posix-semaphore/posix-semaphore.cmxs - Installed /home/opam/.opam/default/lib/posix-semaphore/posix_semaphore.cmi - Installed /home/opam/.opam/default/lib/posix-semaphore/posix_semaphore.cmti - Installed /home/opam/.opam/default/lib/posix-semaphore/posix_semaphore.cmt - Installed /home/opam/.opam/default/lib/posix-semaphore/posix_semaphore.annot - Installed /home/opam/.opam/default/lib/posix-semaphore/posix_semaphore.cmx - Installed /home/opam/.opam/default/lib/stublibs/dllposix-semaphore_stubs.so - Installed /home/opam/.opam/default/lib/stublibs/dllposix-semaphore_stubs.so.owner - ocamlfind: [WARNING] You have installed DLLs but the directory /home/opam/.opam/default/lib/stublibs is not mentioned in ld.conf - Installed /home/opam/.opam/default/lib/posix-semaphore/META -> installed posix-semaphore.0.3.0-0 === STDERR === 2026-06-24 12:09.00: OK: build posix-semaphore.0.3.0-0 (runc: 9.1s, disk: 50KB) 2026-06-24 12:09.00: Job succeeded