Build:
  1. 0
2026-06-24 18:51.39: New job: build pa_ppx_hashcons.0.09 (686385a5d972)
2026-06-24 18:51.39: Waiting for resource in pool day11-builds
2026-06-24 19:09.03: Got resource from pool day11-builds
2026-06-24 19:09.03: [profile full] build pa_ppx_hashcons.0.09
2026-06-24 19:09.04: build pa_ppx_hashcons.0.09 (686385a5d972)
=== DEPENDENCIES (50 transitive) ===
  astring.0.8.5                                      0ef33dd67744
  base.v0.15.2                                       03aae27201ac
  base-threads.base                                  c9e7bdbf5823
  base-unix.base                                     7d1428be9ddb
  bos.0.2.1                                          20362657fb80
  camlp-streams.5.0.1                                74c7def782b1
  camlp5.8.00.02                                     ae8046bebf51
  conf-libpcre.2                                     262542ccb2b0
  conf-m4.1                                          bd3d9b09c253
  conf-perl.2                                        bdcd7b1dce5e
  conf-perl-ipc-system-simple.3                      c276d0bddbbc
  conf-perl-string-shellquote.3                      e58666f4483e
  conf-pkg-config.5                                  d5de2c6a88f9
  conf-which.1                                       84b48e007e35
  csexp.1.5.2                                        f01cefae2455
  cstruct.6.2.0                                      34781257f630
  dune.3.22.2                                        461584a38e44
  dune-compiledb.0.6.0                               750b31a70588
  dune-configurator.3.22.2                           c9ad4e244a63
  ezjsonm.1.3.0                                      f5246096500c
  fmt.0.11.0                                         240551f9f32a
  fpath.0.7.3                                        707904a407dc
  hashcons.1.4.0                                     ee9af310be1f
  hex.1.5.0                                          28bc5155ab71
  jsonm.1.0.2                                        5efca251e177
  logs.0.8.0                                         278694593d1a
  not-ocamlfind.0.14                                 dfaf1ba7c0ef
  num.1.6                                            3d435583a175
  ocaml.4.13.1                                       7bcd41fca40b
  ocaml-base-compiler.4.13.1                         ca45a5cca9d8
  ocaml-config.2                                     c716fa3c25ed
  ocamlbuild.0.16.1                                  c713875c7e08
  ocamlfind.1.9.8                                    3aa7612f0e8f
  ocamlgraph.2.2.0                                   d2a07bccd165
  ounit.2.2.7                                        c265064b3b93
  ounit2.2.2.7                                       1b716410d41a
  pa_ppx.0.08                                        698ee4026179
  parsexp.v0.15.0                                    bd2998f483d0
  pcre.8.0.5                                         d2d5e3240928
  result.1.5                                         9cfc149cbce7
  rresult.0.7.0                                      3e781bcec671
  seq.base                                           48e58aac523a
  sexplib.v0.15.1                                    6e432c5dc6bc
  sexplib0.v0.15.1                                   13cc27e534ac
  stdint.0.7.2                                       e97221b09037
  stdlib-shims.0.3.0                                 e296e0109c7b
  topkg.1.1.1                                        4b02c8c14620
  uint.2.0.1                                         97b57a5dd2d1
  uutf.1.0.4                                         9a7d778fbc29
  yojson.3.0.0                                       da85231fb7d7
=== 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-24 19:09.44: OK: build pa_ppx_hashcons.0.09 (runc: 5.6s, disk: 26KB)
2026-06-24 19:09.44: Job succeeded