Build:
  1. 0
2026-06-23 19:24.49: New job: build pa_ppx_hashcons.0.09 (0626f8eab497)
2026-06-23 19:24.49: Waiting for resource in pool day11-builds
2026-06-23 20:27.39: Got resource from pool day11-builds
2026-06-23 20:27.39: [profile full] build pa_ppx_hashcons.0.09
2026-06-23 20:27.39: build pa_ppx_hashcons.0.09 (0626f8eab497)
=== DEPENDENCIES (50 transitive) ===
  astring.0.8.5                                      ee1f3bf95dc8
  base.v0.15.2                                       1ed90cbdf593
  base-threads.base                                  b7164ff76afe
  base-unix.base                                     839dc585f12d
  bos.0.2.1                                          d3c076079996
  camlp-streams.5.0.1                                ddd0dc4fb314
  camlp5.8.00.02                                     5a87b37beb00
  conf-libpcre.2                                     e294701a2873
  conf-m4.1                                          16c0f2e0bd7c
  conf-perl.2                                        9ee1ae5f2bf1
  conf-perl-ipc-system-simple.3                      2ea91c11cd77
  conf-perl-string-shellquote.3                      bde1bb123adc
  conf-pkg-config.5                                  4b60827fc174
  conf-which.1                                       9799649fc020
  csexp.1.5.2                                        432b3467792d
  cstruct.6.2.0                                      abf9599e3842
  dune.3.22.2                                        d419ab6dc28c
  dune-compiledb.0.6.0                               ee4bdfa97982
  dune-configurator.3.22.2                           135b427d31ff
  ezjsonm.1.3.0                                      82ccd360bbb4
  fmt.0.11.0                                         9a6a208f9935
  fpath.0.7.3                                        0a6805d7891d
  hashcons.1.4.0                                     4ec4fa6a5744
  hex.1.5.0                                          2fcae5dc50c7
  jsonm.1.0.2                                        6add1f639558
  logs.0.8.0                                         4cee24c382a8
  not-ocamlfind.0.14                                 d638c384659b
  num.1.6                                            cbbd30d57daf
  ocaml.4.13.1                                       374ce8822fbe
  ocaml-base-compiler.4.13.1                         3060c22370ce
  ocaml-config.2                                     7e2bf3da2a6e
  ocamlbuild.0.16.1                                  92efc231a261
  ocamlfind.1.9.8                                    07c0f7045661
  ocamlgraph.2.2.0                                   9550ff911abb
  ounit.2.2.7                                        79b250cfa2e0
  ounit2.2.2.7                                       1354d25d3b6c
  pa_ppx.0.08                                        34918842efdd
  parsexp.v0.15.0                                    e6c4629da11b
  pcre.8.0.5                                         46f8e60c2ef3
  result.1.5                                         3f7bc81b10c3
  rresult.0.7.0                                      d29141482d7d
  seq.base                                           bf7c50d4ed64
  sexplib.v0.15.1                                    065d0d3b9968
  sexplib0.v0.15.1                                   ba134d7c4766
  stdint.0.7.2                                       ec098ee0258b
  stdlib-shims.0.3.0                                 3094441460ab
  topkg.1.1.1                                        9e62ca7deaa9
  uint.2.0.1                                         147422891b66
  uutf.1.0.4                                         1cc2c5be5ba7
  yojson.3.0.0                                       ab1d1e211753
=== STDOUT ===
Processing: [default: loading data]
[pa_ppx_hashcons.0.09: dl]
[pa_ppx_hashcons.0.09: extract]
-> retrieved pa_ppx_hashcons.0.09  (https://opam.ocaml.org/cache)
[pa_ppx_hashcons: make sys]
+ /usr/bin/make "sys" (CWD=/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09)
- set -e; for i in pa_hashcons; do cd $i; /usr/bin/make all; cd ..; done
- make[1]: Entering directory '/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons'
- env TOP=.. ../tools/LAUNCH ocamlfind ocamlc    -package unix,camlp5,camlp5.parser_quotations,pa_ppx.deriving,pa_ppx.deriving_plugins.show,pa_ppx.base,pa_ppx.unmatched_vala,pa_ppx.deriving_plugins.params -syntax camlp5r -c pa_deriving_hashcons.ml
- findlib: [WARNING] Interface topdirs.cmi occurs in several directories: /home/opam/.opam/default/lib/ocaml/compiler-libs, /home/opam/.opam/default/lib/ocaml
- File "pa_deriving_hashcons.ml", lines 197-213, characters 16-9:
- 197 | ................fun [
- 198 |           <:constructor< $uid:ci$ of $list:tl$ >> ->
- 199 |           let xpatt_ypatt_subeqs =
- 200 |             List.mapi (fun i ty ->
- 201 |                 let x = Printf.sprintf "x_%d" i in
- ...
- 210 |           let yconspat = Patt.applist <:patt< $uid:ci$ >> (List.map ypatt xpatt_ypatt_subeqs) in
- 211 |           let rhs = List.fold_right (fun x e -> <:expr< $subeq x$ && $e$ >>) xpatt_ypatt_subeqs <:expr< True >> in
- 212 |           (<:patt< ($xconspat$, $yconspat$) >>, <:vala< None >>, rhs)
- 213 |         ]......
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, VaVal _, VaVal _, VaVal None, VaVal (_::_))
- File "pa_deriving_hashcons.ml", lines 228-233, characters 22-5:
- 228 | ......................fun [
- 229 |       (<:vala< None >>, _) ->
- 230 |       Ploc.raise loc (Failure Fmt.(str "make_rho: %s: formal type-vars must all be named"
- 231 |                                      name))
- 232 |     | (<:vala< Some id >>, _) -> (id, Printf.sprintf "sub_%d" i)
- 233 |     ]........
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (VaAnt _, _)
- File "pa_deriving_hashcons.ml", lines 340-352, characters 28-9:
- 340 | ............................fun [
- 341 |           <:constructor< $uid:ci$ of $list:tl$ >> ->
- 342 |           let xpatt_subhashs =
- 343 |             List.mapi (fun i ty ->
- 344 |                 let x = Printf.sprintf "x_%d" i in
- ...
- 349 |           let xconspat = Patt.applist <:patt< $uid:ci$ >> (List.map xpatt xpatt_subhashs) in
- 350 |           let rhs = List.fold_right (fun x e -> <:expr< 19 * $subhash x$ + $e$ >>) xpatt_subhashs <:expr< $int:string_of_int pos$ >> in
- 351 |           (<:patt< $xconspat$ >>, <:vala< None >>, rhs)
- 352 |         ]......
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, VaVal _, VaVal _, VaVal None, VaVal (_::_))
- File "pa_deriving_hashcons.ml", lines 472-634, characters 2-3:
- 472 | ..match memo_tys with [
- 473 | 
- 474 |     Left l when not (List.exists fst l) ->
- 475 |     let vars_types = List.mapi (fun i x -> (Printf.sprintf "v_%d" i, x)) l in
- 476 |     let vars_exps = List.map (to_expr loc) vars_types in
- ...
- 631 |       ]
- 632 |     }
- 633 | 
- 634 |   ]
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Left ((true, _)::(true, _)::_::_)
- (However, some guarded clause may match this value.)
- File "pa_deriving_hashcons.ml", lines 673-676, characters 49-5:
- 673 | .................................................fun [
- 674 |       <:str_item< module $uid:_$ = $_$ >> as z -> ([ z :: mb ], vb)
- 675 |     | <:str_item< value $list:l$ >> -> (mb, l @ vb)
- 676 |     ]...............
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- StMod (_, VaVal false, VaVal ((VaVal (Some (VaVal _)), _, VaVal [])::_::_))
- File "pa_deriving_hashcons.ml", lines 718-723, characters 14-7:
- 718 | ..............fun [
- 719 |         (<:vala< None >>, _) ->
- 720 |         Ploc.raise loc (Failure Fmt.(str "hashconsed_type_decl: %s: formal type-vars must all be named"
- 721 |                                        name))
- 722 |       | (<:vala< Some id >>, _) -> <:ctyp< ' $id$ >>
- 723 |       ]...........
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (VaAnt _, _)
- File "pa_deriving_hashcons.ml", lines 148-150, characters 4-28:
- 148 | ....<:ctyp:< $lid:lid$ >> as z when List.mem_assoc lid rc.type_decls ->
- 149 |     let eq_name = eq_prefix^"_"^lid in
- 150 |     <:expr< $lid:eq_name$ >>
- Warning 26 [unused-var]: unused variable z.
- File "pa_deriving_hashcons.ml", lines 300-302, characters 4-30:
- 300 | ....<:ctyp:< $lid:lid$ >> as z when List.mem_assoc lid rc.type_decls ->
- 301 |     let hash_name = hash_prefix^"_"^lid in
- 302 |     <:expr< $lid:hash_name$ >>
- Warning 26 [unused-var]: unused variable z.
- File "pa_deriving_hashcons.ml", line 491, characters 8-16:
- 491 |     let fun_type = 
-               ^^^^^^^^
- Warning 26 [unused-var]: unused variable fun_type.
- File "pa_deriving_hashcons.ml", line 510, characters 8-18:
- 510 |     let memo_ftype =
-               ^^^^^^^^^^
- Warning 26 [unused-var]: unused variable memo_ftype.
- File "pa_deriving_hashcons.ml", line 536, characters 8-18:
- 536 |     let memo_ftype =
-               ^^^^^^^^^^
- Warning 26 [unused-var]: unused variable memo_ftype.
- File "pa_deriving_hashcons.ml", line 596, characters 12-22:
- 596 |         let memo_ftype =  <:ctyp< ! 'a . $fun_type$ -> $fun_type$ >> in
-                   ^^^^^^^^^^
- Warning 26 [unused-var]: unused variable memo_ftype.
- env TOP=.. ../tools/LAUNCH ocamlfind ocamlopt    -package unix,camlp5,camlp5.parser_quotations,pa_ppx.deriving,pa_ppx.deriving_plugins.show,pa_ppx.base,pa_ppx.unmatched_vala,pa_ppx.deriving_plugins.params -syntax camlp5r -c pa_deriving_hashcons.ml
- findlib: [WARNING] Interface topdirs.cmi occurs in several directories: /home/opam/.opam/default/lib/ocaml/compiler-libs, /home/opam/.opam/default/lib/ocaml
- File "pa_deriving_hashcons.ml", lines 197-213, characters 16-9:
- 197 | ................fun [
- 198 |           <:constructor< $uid:ci$ of $list:tl$ >> ->
- 199 |           let xpatt_ypatt_subeqs =
- 200 |             List.mapi (fun i ty ->
- 201 |                 let x = Printf.sprintf "x_%d" i in
- ...
- 210 |           let yconspat = Patt.applist <:patt< $uid:ci$ >> (List.map ypatt xpatt_ypatt_subeqs) in
- 211 |           let rhs = List.fold_right (fun x e -> <:expr< $subeq x$ && $e$ >>) xpatt_ypatt_subeqs <:expr< True >> in
- 212 |           (<:patt< ($xconspat$, $yconspat$) >>, <:vala< None >>, rhs)
- 213 |         ]......
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, VaVal _, VaVal _, VaVal None, VaVal (_::_))
- File "pa_deriving_hashcons.ml", lines 228-233, characters 22-5:
- 228 | ......................fun [
- 229 |       (<:vala< None >>, _) ->
- 230 |       Ploc.raise loc (Failure Fmt.(str "make_rho: %s: formal type-vars must all be named"
- 231 |                                      name))
- 232 |     | (<:vala< Some id >>, _) -> (id, Printf.sprintf "sub_%d" i)
- 233 |     ]........
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (VaAnt _, _)
- File "pa_deriving_hashcons.ml", lines 340-352, characters 28-9:
- 340 | ............................fun [
- 341 |           <:constructor< $uid:ci$ of $list:tl$ >> ->
- 342 |           let xpatt_subhashs =
- 343 |             List.mapi (fun i ty ->
- 344 |                 let x = Printf.sprintf "x_%d" i in
- ...
- 349 |           let xconspat = Patt.applist <:patt< $uid:ci$ >> (List.map xpatt xpatt_subhashs) in
- 350 |           let rhs = List.fold_right (fun x e -> <:expr< 19 * $subhash x$ + $e$ >>) xpatt_subhashs <:expr< $int:string_of_int pos$ >> in
- 351 |           (<:patt< $xconspat$ >>, <:vala< None >>, rhs)
- 352 |         ]......
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (_, VaVal _, VaVal _, VaVal None, VaVal (_::_))
- File "pa_deriving_hashcons.ml", lines 472-634, characters 2-3:
- 472 | ..match memo_tys with [
- 473 | 
- 474 |     Left l when not (List.exists fst l) ->
- 475 |     let vars_types = List.mapi (fun i x -> (Printf.sprintf "v_%d" i, x)) l in
- 476 |     let vars_exps = List.map (to_expr loc) vars_types in
- ...
- 631 |       ]
- 632 |     }
- 633 | 
- 634 |   ]
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- Left ((true, _)::(true, _)::_::_)
- (However, some guarded clause may match this value.)
- File "pa_deriving_hashcons.ml", lines 673-676, characters 49-5:
- 673 | .................................................fun [
- 674 |       <:str_item< module $uid:_$ = $_$ >> as z -> ([ z :: mb ], vb)
- 675 |     | <:str_item< value $list:l$ >> -> (mb, l @ vb)
- 676 |     ]...............
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- StMod (_, VaVal false, VaVal ((VaVal (Some (VaVal _)), _, VaVal [])::_::_))
- File "pa_deriving_hashcons.ml", lines 718-723, characters 14-7:
- 718 | ..............fun [
- 719 |         (<:vala< None >>, _) ->
- 720 |         Ploc.raise loc (Failure Fmt.(str "hashconsed_type_decl: %s: formal type-vars must all be named"
- 721 |                                        name))
- 722 |       | (<:vala< Some id >>, _) -> <:ctyp< ' $id$ >>
- 723 |       ]...........
- Warning 8 [partial-match]: this pattern-matching is not exhaustive.
- Here is an example of a case that is not matched:
- (VaAnt _, _)
- File "pa_deriving_hashcons.ml", lines 148-150, characters 4-28:
- 148 | ....<:ctyp:< $lid:lid$ >> as z when List.mem_assoc lid rc.type_decls ->
- 149 |     let eq_name = eq_prefix^"_"^lid in
- 150 |     <:expr< $lid:eq_name$ >>
- Warning 26 [unused-var]: unused variable z.
- File "pa_deriving_hashcons.ml", lines 300-302, characters 4-30:
- 300 | ....<:ctyp:< $lid:lid$ >> as z when List.mem_assoc lid rc.type_decls ->
- 301 |     let hash_name = hash_prefix^"_"^lid in
- 302 |     <:expr< $lid:hash_name$ >>
- Warning 26 [unused-var]: unused variable z.
- File "pa_deriving_hashcons.ml", line 491, characters 8-16:
- 491 |     let fun_type = 
-               ^^^^^^^^
- Warning 26 [unused-var]: unused variable fun_type.
- File "pa_deriving_hashcons.ml", line 510, characters 8-18:
- 510 |     let memo_ftype =
-               ^^^^^^^^^^
- Warning 26 [unused-var]: unused variable memo_ftype.
- File "pa_deriving_hashcons.ml", line 536, characters 8-18:
- 536 |     let memo_ftype =
-               ^^^^^^^^^^
- Warning 26 [unused-var]: unused variable memo_ftype.
- File "pa_deriving_hashcons.ml", line 596, characters 12-22:
- 596 |         let memo_ftype =  <:ctyp< ! 'a . $fun_type$ -> $fun_type$ >> in
-                   ^^^^^^^^^^
- Warning 26 [unused-var]: unused variable memo_ftype.
- /usr/bin/make DESTDIR=/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install/ install
- make[2]: Entering directory '/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons'
- mkdir -p /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib
- ./META.pl /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib > META
- env TOP=.. ../tools/LAUNCH not-ocamlfind reinstall-if-diff pa_ppx_hashcons -destdir /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib META pa_deriving_hashcons.cmo pa_deriving_hashcons.cmx  pa_deriving_hashcons.o 
- ocamlfind: [WARNING] No such directory: /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib/pa_ppx_hashcons
- reinstall-if-diff: remove and install lists have differing lengths
- + ocamlfind remove -destdir /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib pa_ppx_hashcons
- ocamlfind: [WARNING] No such file: /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib/pa_ppx_hashcons/META
- + ocamlfind install pa_ppx_hashcons -destdir /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib META pa_deriving_hashcons.cmo pa_deriving_hashcons.cmx pa_deriving_hashcons.o
- Installed /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib/pa_ppx_hashcons/pa_deriving_hashcons.o
- Installed /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib/pa_ppx_hashcons/pa_deriving_hashcons.cmx
- Installed /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib/pa_ppx_hashcons/pa_deriving_hashcons.cmo
- Installed /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib/pa_ppx_hashcons/META
- rm -f META
- make[2]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons'
- make[1]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons'
-> compiled  pa_ppx_hashcons.0.09
[pa_ppx_hashcons: make install]
+ /usr/bin/make "install" (CWD=/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09)
- set -e; for i in pa_hashcons; do cd $i; /usr/bin/make all; cd ..; done
- make[1]: Entering directory '/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons'
- /usr/bin/make DESTDIR=/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install/ install
- make[2]: Entering directory '/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons'
- mkdir -p /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib
- ./META.pl /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib > META
- env TOP=.. ../tools/LAUNCH not-ocamlfind reinstall-if-diff pa_ppx_hashcons -destdir /home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons/../local-install//lib META pa_deriving_hashcons.cmo pa_deriving_hashcons.cmx  pa_deriving_hashcons.o 
- rm -f META
- make[2]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons'
- make[1]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/pa_ppx_hashcons.0.09/pa_hashcons'
- ocamlfind remove pa_ppx_hashcons || true
- ocamlfind: [WARNING] No such file: /home/opam/.opam/default/lib/pa_ppx_hashcons/META
- ocamlfind install pa_ppx_hashcons local-install/lib/pa_ppx_hashcons/*
- Installed /home/opam/.opam/default/lib/pa_ppx_hashcons/pa_deriving_hashcons.o
- Installed /home/opam/.opam/default/lib/pa_ppx_hashcons/pa_deriving_hashcons.cmx
- Installed /home/opam/.opam/default/lib/pa_ppx_hashcons/pa_deriving_hashcons.cmo
- Installed /home/opam/.opam/default/lib/pa_ppx_hashcons/META
-> installed pa_ppx_hashcons.0.09
[WARNING] Opam packages conf-libpcre.2, conf-m4.1, conf-perl-string-shellquote.3, conf-pkg-config.5 and not-ocamlfind.0.14 depend on the following system packages that are no longer installed: libpcre3-dev libstring-shellquote-perl m4 pkg-config xdot
  - conf-libpcre.2: depends on libpcre3-dev
  - conf-m4.1: depends on m4
  - conf-perl-string-shellquote.3: depends on libstring-shellquote-perl
  - conf-pkg-config.5: depends on pkg-config
  - not-ocamlfind.0.14: depends on xdot

=== STDERR ===

2026-06-23 20:27.59: OK: build pa_ppx_hashcons.0.09 (runc: 6.1s, disk: 26KB)
2026-06-23 20:27.59: Job succeeded