Build:
  1. 0
2026-06-16 11:34.40: New job: build mm.0.5.1 (228c8ef5e1d9)
2026-06-16 11:34.40: Waiting for resource in pool day11-builds
2026-06-16 11:43.53: Got resource from pool day11-builds
2026-06-16 11:43.53: [profile full] build mm.0.5.1
2026-06-16 11:43.53: build mm.0.5.1 (228c8ef5e1d9)
=== DEPENDENCIES (4 transitive) ===
  ocaml.4.14.4                                       cb826ea44eb2
  ocaml-base-compiler.4.14.4                         d2f775f983d7
  ocaml-config.2                                     669e0fcf9e4d
  ocamlfind.1.9.8                                    6025f4a8e98e
=== STDOUT ===
Processing: [default: loading data]
[mm.0.5.1: dl]
[mm.0.5.1: extract]
-> retrieved mm.0.5.1  (https://opam.ocaml.org/cache)
[mm: ./configure]
+ /home/opam/.opam/default/.opam-switch/build/mm.0.5.1/./configure "--prefix" "/home/opam/.opam/default" (CWD=/home/opam/.opam/default/.opam-switch/build/mm.0.5.1)
- configuring ocaml-mm 0.5.1
- checking for gcc... gcc
- checking whether the C compiler works... yes
- checking for C compiler default output file name... a.out
- checking for suffix of executables... 
- checking whether we are cross compiling... no
- checking for suffix of object files... o
- checking whether we are using the GNU C compiler... yes
- checking whether gcc accepts -g... yes
- checking for gcc option to accept ISO C89... none needed
- checking build system type... x86_64-pc-linux-gnu
- checking host system type... x86_64-pc-linux-gnu
- checking for a BSD-compatible install... /usr/bin/install -c
- checking target toolchain... linux
- checking for gcc... (cached) gcc
- checking whether we are using the GNU C compiler... (cached) yes
- checking whether gcc accepts -g... (cached) yes
- checking for gcc option to accept ISO C89... (cached) none needed
- checking for ar... ar
- checking for ocamlc... ocamlc
- OCaml version is 4.14.4
- checking if ocaml compiler supports first-class modules... yes
- OCaml library path is /home/opam/.opam/default/lib/ocaml
- checking for ocamlopt... ocamlopt
- checking for ocamlc.opt... ocamlc.opt
- checking for ocamlopt.opt... ocamlopt.opt
- checking for ocaml... ocaml
- checking for ocamldep... ocamldep
- checking for ocamldep.opt... ocamldep.opt
- checking for ocamlmktop... ocamlmktop
- checking for ocamlmklib... ocamlmklib
- checking for ocamldoc... ocamldoc
- checking for ocamldoc.opt... ocamldoc.opt
- checking for ocamlbuild... no
- checking for camlidl... no
- checking for ocamllex... ocamllex
- checking for ocamllex.opt... ocamllex.opt
- checking for ocamlyacc... ocamlyacc
- checking for camlp4... no
- checking for camlp4boot... no
- checking for camlp4o... no
- checking for camlp4of... no
- checking for camlp4oof... no
- checking for camlp4orf... no
- checking for camlp4prof... no
- checking for camlp4r... no
- checking for camlp4rf... no
- checking for ocamlfind... ocamlfind
- checking for ocaml standard library path... /home/opam/.opam/default/lib/ocaml
- checking for caml/threads.h... yes
- checking for gcc option to produce PIC... -fPIC
- checking for memalign... 
- yes
- checking how to run the C preprocessor... gcc -E
- checking for grep that handles long lines and -e... /usr/bin/grep
- checking for egrep... /usr/bin/grep -E
- checking for ANSI C header files... yes
- checking for sys/types.h... yes
- checking for sys/stat.h... yes
- checking for stdlib.h... yes
- checking for string.h... yes
- checking for memory.h... yes
- checking for strings.h... 
- yes
- checking for inttypes.h... yes
- checking for stdint.h... yes
- checking for unistd.h... yes
- checking whether byte ordering is bigendian... no
- checking for OCaml library alsa... not found
- checking for OCaml library ao... not found
- checking for OCaml library pulseaudio... not found
- checking for OCaml library gstreamer... not found
- checking for OCaml library mad... not found
- checking for OCaml library ogg... not found
- checking for OCaml library sdl... not found
- checking for OCaml library theora... not found
- checking sys/soundcard.h usability... yes
- checking sys/soundcard.h presence... yes
- checking for sys/soundcard.h... yes
- checking libavcodec/avcodec.h usability... no
- checking libavcodec/avcodec.h presence... no
- checking for libavcodec/avcodec.h... no
- checking linux/videodev.h usability... no
- checking linux/videodev.h presence... no
- checking for linux/videodev.h... no
- checking for ocaml bytes module... ok
- configure: creating ./config.status
- config.status: creating Makefile
- config.status: creating src/Makefile
- config.status: creating external/Makefile
- config.status: creating external/Makefile.defs
- config.status: creating src/META
- config.status: creating config.h
- 
- 
- Supported external libraries:
-   - Alsa      : no
-   - AO        : no
-   - FFmpeg    : no
-   - Gstreamer : no
-   - Mad       : no
-   - ogg       : no
-   - OSS       : yes
-   - Pulseaudio: no
-   - SDL       : no
-   - Theora    : no
-   - V4L       : no
- 
[mm: make]
+ /usr/bin/make  (CWD=/home/opam/.opam/default/.opam-switch/build/mm.0.5.1)
- /usr/bin/make -C src all
- make[1]: Entering directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
- make[2]: Entering directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
- ocamldep.opt synth.mli > ._bcdi/synth.di
- ocamldep.opt MIDI.mli > ._bcdi/MIDI.di
- ocamldep.opt video.mli > ._bcdi/video.di
- ocamldep.opt image.mli > ._bcdi/image.di
- ocamldep.opt audio.mli > ._bcdi/audio.di
- ocamldep.opt ringbuffer.mli > ._bcdi/ringbuffer.di
- ocamldep.opt synth.ml > ._d/synth.d
- ocamldep.opt MIDI.ml > ._d/MIDI.d
- ocamldep.opt video.ml > ._d/video.d
- ocamldep.opt image.ml > ._d/image.d
- ocamldep.opt audio.ml > ._d/audio.d
- ocamldep.opt IO.ml > ._d/IO.d
- ocamldep.opt ringbuffer.ml > ._d/ringbuffer.d
- ocamlc.opt -c -cc "gcc" -ccopt "-fPIC -g -O2 -I/home/opam/.opam/default/include -I.. -g -Wall -O3 \
- 			-DPIC   \
- 			  -I.. -I/home/opam/.opam/default/lib/bytes  -o audio_c.o " audio_c.c
- ocamlc.opt -c -cc "gcc" -ccopt "-fPIC -g -O2 -I/home/opam/.opam/default/include -I.. -g -Wall -O3 \
- 			-DPIC   \
- 			  -I.. -I/home/opam/.opam/default/lib/bytes  -o image_data.o " image_data.c
- In file included from /home/opam/.opam/default/lib/ocaml/caml/alloc.h:24,
-                  from image_data.c:1:
- image_data.c: In function 'caml_data_to_string':
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- image_data.c:46:10: note: in expansion of macro 'String_val'
-    46 |   memcpy(String_val(ans), data, len);
-       |          ^~~~~~~~~~
- In file included from image_data.c:9:
- /usr/include/string.h:43:39: note: expected 'void * restrict' but argument is of type 'const char *'
-    43 | extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
-       |                      ~~~~~~~~~~~~~~~~~^~~~~~
- ocamlc.opt -c -cc "gcc" -ccopt "-fPIC -g -O2 -I/home/opam/.opam/default/include -I.. -g -Wall -O3 \
- 			-DPIC   \
- 			  -I.. -I/home/opam/.opam/default/lib/bytes  -o image_pixel.o " image_pixel.c
- ocamlc.opt -c -cc "gcc" -ccopt "-fPIC -g -O2 -I/home/opam/.opam/default/include -I.. -g -Wall -O3 \
- 			-DPIC   \
- 			  -I.. -I/home/opam/.opam/default/lib/bytes  -o image_rgb.o " image_rgb.c
- image_rgb.c: In function 'caml_mm_RGBA8_to_Gray8':
- image_rgb.c:277:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-   277 |   uint8 *gray = Caml_ba_data_val(_gray);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~                                    
- In file included from /home/opam/.opam/default/lib/ocaml/caml/alloc.h:24,
-                  from image_rgb.c:34:
- image_rgb.c: In function 'caml_rgb_to_bmp':
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- image_rgb.c:600:10: note: in expansion of macro 'String_val'
-   600 |   memcpy(String_val(ans), bmp, 122 + 4 * len);
-       |          ^~~~~~~~~~
- In file included from image_rgb.c:44:
- /usr/include/string.h:43:39: note: expected 'void * restrict' but argument is of type 'const char *'
-    43 | extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
-       |                      ~~~~~~~~~~~~~~~~~^~~~~~
- image_rgb.c: In function 'caml_image_to_rgb24':
- /home/opam/.opam/default/lib/ocaml/caml/mlvalues.h:290:24: warning: passing argument 1 of 'memcpy' discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers]
-   290 | #define String_val(x) ((const char *) Bp_val(x))
-       |                       ~^~~~~~~~~~~~~~~~~~~~~~~~~
- image_rgb.c:631:10: note: in expansion of macro 'String_val'
-   631 |   memcpy(String_val(ans), bmp, 3 * len);
-       |          ^~~~~~~~~~
- /usr/include/string.h:43:39: note: expected 'void * restrict' but argument is of type 'const char *'
-    43 | extern void *memcpy (void *__restrict __dest, const void *__restrict __src,
-       |                      ~~~~~~~~~~~~~~~~~^~~~~~
- image_rgb.c: In function 'caml_rgb_color_to_alpha':
- image_rgb.c:1108:10: warning: variable 'd' set but not used [-Wunused-but-set-variable]
-  1108 |   double d;
-       |          ^
- image_rgb.c:1107:22: warning: variable 'aa' set but not used [-Wunused-but-set-variable]
-  1107 |   double rr, gg, bb, aa;
-       |                      ^~
- image_rgb.c: In function 'caml_mm_Gray8_motion_compute':
- image_rgb.c:1180:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1180 |   int len = Caml_ba_array_val(_new)->dim[0];
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                
- image_rgb.c:1181:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1181 |   uint8 *old = Caml_ba_data_val(_old);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~                                      
- image_rgb.c:1182:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1182 |   uint8 *new = Caml_ba_data_val(_new);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~                                      
- image_rgb.c: In function 'caml_mm_Gray8_motion_multi_compute':
- image_rgb.c:1338:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1338 |   int len = Caml_ba_array_val(_new)->dim[0];
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                                
- image_rgb.c:1339:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1339 |   uint8 *old = Caml_ba_data_val(_old);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~                                      
- image_rgb.c:1340:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1340 |   uint8 *new = Caml_ba_data_val(_new);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~                                      
- image_rgb.c:1415:13: warning: "BIGARRAY_MANAGED" is deprecated: use "CAML_BA_MANAGED" instead
-  1415 |   value ans = caml_ba_alloc_dims(CAML_BA_MANAGED | CAML_BA_C_LAYOUT | CAML_BA_NATIVE_INT, 1, v, vlen);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- image_rgb.c:1415:13: warning: "BIGARRAY_C_LAYOUT" is deprecated: use "CAML_BA_C_LAYOUT" instead
-  1415 |   value ans = caml_ba_alloc_dims(CAML_BA_MANAGED | CAML_BA_C_LAYOUT | CAML_BA_NATIVE_INT, 1, v, vlen);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- image_rgb.c: In function 'caml_rgb_motion_multi_median_denoise':
- image_rgb.c:1422:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1422 |   int *v = Caml_ba_data_val(_v);
-       |             ^~~~~~~~~~~~~~~~~~~~                                            
- image_rgb.c:1423:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1423 |   int len = Caml_ba_array_val(_v)->dim[0] / 2;
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                              
- image_rgb.c: In function 'caml_rgb_motion_multi_mean':
- image_rgb.c:1454:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1454 |   int *v = Caml_ba_data_val(_v);
-       |             ^~~~~~~~~~~~~~~~~~~~                                            
- image_rgb.c:1455:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1455 |   int len = Caml_ba_array_val(_v)->dim[0] / 2;
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                              
- image_rgb.c: In function 'caml_rgb_motion_multi_arrows':
- image_rgb.c:1541:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1541 |   int *v = Caml_ba_data_val(_v);
-       |             ^~~~~~~~~~~~~~~~~~~~                                            
- image_rgb.c: In function 'caml_RGBA32_to_BGR32':
- image_rgb.c:1570:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1570 |   unsigned char *src = Caml_ba_data_val(_src);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                              
- image_rgb.c:1571:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1571 |   unsigned char *dst = Caml_ba_data_val(_dst);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                              
- image_rgb.c: In function 'caml_RGB24_to_RGBA32':
- image_rgb.c:1611:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1611 |   unsigned char *src = Caml_ba_data_val(_src);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                              
- image_rgb.c:1612:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1612 |   unsigned char *dst = Caml_ba_data_val(_dst);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                              
- image_rgb.c: In function 'caml_RGB32_to_RGBA32':
- image_rgb.c:1636:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1636 |   unsigned char *src = Caml_ba_data_val(_src);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                              
- image_rgb.c:1637:13: warning: "caml_bigarray" is deprecated: use "caml_ba_array" instead
-  1637 |   unsigned char *dst = Caml_ba_data_val(_dst);
-       |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~                              
- ocamlc.opt -c -cc "gcc" -ccopt "-fPIC -g -O2 -I/home/opam/.opam/default/include -I.. -g -Wall -O3 \
- 			-DPIC   \
- 			  -I.. -I/home/opam/.opam/default/lib/bytes  -o image_yuv420.o " image_yuv420.c
- ar rcs libmm_stubs.a  audio_c.o image_data.o image_pixel.o image_rgb.o image_yuv420.o
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes ringbuffer.mli
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes ringbuffer.ml
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes IO.ml
- File "IO.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes audio.mli
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes audio.ml
- File "audio.ml", line 270, characters 5-13:
- 270 | 	    b : int; (* number of bits *)
-       	    ^^^^^^^^
- Warning 69 [unused-field]: record field b is never read.
- (However, this field is used to build or mutate values.)
- File "audio.ml", line 329, characters 10-14:
- 329 |       let ifft f d =
-                 ^^^^
- Warning 32 [unused-value-declaration]: unused value ifft.
- File "audio.ml", line 350, characters 5-10:
- 350 | 	let iteri f d =
-       	    ^^^^^
- Warning 32 [unused-value-declaration]: unused value iteri.
- File "audio.ml", line 386, characters 28-29:
- 386 | 	let blackman ?(alpha=0.16) f d =
-       	                           ^
- Warning 27 [unused-var-strict]: unused variable f.
- File "audio.ml", line 395, characters 25-26:
- 395 | 	let low_res a0 a1 a2 a3 f d =
-       	                        ^
- Warning 27 [unused-var-strict]: unused variable f.
- File "audio.ml", line 407, characters 23-29:
- 407 |       let notes sr f ?(window=Window.cosine) ?(note_min=Note.c0) ?(note_max=128) ?(volume_min=0.01) ?(filter_harmonics=true) buf ofs len =
-                              ^^^^^^
- Warning 27 [unused-var-strict]: unused variable window.
- File "audio.ml", lines 766-776, characters 4-7:
- 766 | ....class tb303 sr =
- 767 |     object (self)
- 768 |       (* Freq of 0. means no slide for next note. *)
- 769 |       inherit base sr 0.
- 770 | 
- ...
- 773 | 
- 774 |       method fill buf ofs len =
- 775 | 	assert false
- 776 |     end
- Warning 34 [unused-type-declaration]: unused type tb303.
- File "audio.ml", line 767, characters 11-17:
- 767 |     object (self)
-                  ^^^^^^
- Warning 27 [unused-var-strict]: unused variable self.
- File "audio.ml", line 774, characters 18-21:
- 774 |       method fill buf ofs len =
-                         ^^^
- Warning 27 [unused-var-strict]: unused variable buf.
- File "audio.ml", line 774, characters 22-25:
- 774 |       method fill buf ofs len =
-                             ^^^
- Warning 27 [unused-var-strict]: unused variable ofs.
- File "audio.ml", line 774, characters 26-29:
- 774 |       method fill buf ofs len =
-                                 ^^^
- Warning 27 [unused-var-strict]: unused variable len.
- File "audio.ml", line 874, characters 4-10:
- 874 | let length b = Array.length b
-           ^^^^^^
- Warning 32 [unused-value-declaration]: unused value length.
- File "audio.ml", line 1213, characters 9-15:
- 1213 |   object (self)
-                 ^^^^^^
- Warning 27 [unused-var-strict]: unused variable self.
- File "audio.ml", line 1230, characters 9-15:
- 1230 |   object (self)
-                 ^^^^^^
- Warning 27 [unused-var-strict]: unused variable self.
- File "audio.ml", line 1298, characters 9-15:
- 1298 |   object (self)
-                 ^^^^^^
- Warning 27 [unused-var-strict]: unused variable self.
- File "audio.ml", line 1422, characters 9-15:
- 1422 |   object (self)
-                 ^^^^^^
- Warning 27 [unused-var-strict]: unused variable self.
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes image.mli
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes image.ml
- File "image.ml", line 198, characters 6-19:
- 198 |       stride : int;
-             ^^^^^^^^^^^^^
- Warning 69 [unused-field]: record field stride is never read.
- (However, this field is used to build or mutate values.)
- File "image.ml", line 800, characters 14-17:
- 800 |     let sepia img = failwith "Not implemented: sepia"
-                     ^^^
- Warning 27 [unused-var-strict]: unused variable img.
- File "image.ml", line 802, characters 15-18:
- 802 |     let invert img = failwith "Not implemented: invert"
-                      ^^^
- Warning 27 [unused-var-strict]: unused variable img.
- File "image.ml", line 804, characters 13-16:
- 804 |     let lomo img = failwith "Not implemented: lomo"
-                    ^^^
- Warning 27 [unused-var-strict]: unused variable img.
- File "image.ml", line 997, characters 16-20:
- 997 |   let convert ?(copy=false) ?(proportional=true) ?scale_kind src dst =
-                       ^^^^
- Warning 27 [unused-var-strict]: unused variable copy.
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes video.mli
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes video.ml
- File "video.ml", line 86, characters 2-18:
- 86 |   type t = Image.t
-        ^^^^^^^^^^^^^^^^
- Warning 34 [unused-type-declaration]: unused type t.
- File "video.ml", line 88, characters 6-12:
- 88 |   let create () = Image.create 0 0
-            ^^^^^^
- Warning 32 [unused-value-declaration]: unused value create.
- File "video.ml", line 90, characters 6-10:
- 90 |   let blit = blit
-            ^^^^
- Warning 32 [unused-value-declaration]: unused value blit.
- File "video.ml", lines 85-91, characters 0-3:
- 85 | module RE = struct
- 86 |   type t = Image.t
- 87 | 
- 88 |   let create () = Image.create 0 0
- 89 | 
- 90 |   let blit = blit
- 91 | end
- Warning 60 [unused-module]: unused module RE.
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes MIDI.mli
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes MIDI.ml
- File "MIDI.ml", line 107, characters 8-39:
- 107 |         s.[0] <- coi (0x8 lsl 4 + chan);
-               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 108, characters 8-22:
- 108 |         s.[1] <- coi n;
-               ^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 109, characters 8-22:
- 109 |         s.[2] <- bof v
-               ^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 111, characters 8-39:
- 111 |         s.[0] <- coi (0x9 lsl 4 + chan);
-               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 112, characters 8-22:
- 112 |         s.[1] <- coi n;
-               ^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 113, characters 8-22:
- 113 |         s.[2] <- bof v
-               ^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 292, characters 14-52:
- 292 |               ans.[i] <- char_of_int data.(!pos + i)
-                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 61, characters 0-16:
- 61 | type delta = int
-      ^^^^^^^^^^^^^^^^
- Warning 34 [unused-type-declaration]: unused type delta.
- File "MIDI.ml", line 212, characters 6-15:
- 212 |   let clear_all buf =
-             ^^^^^^^^^
- Warning 32 [unused-value-declaration]: unused value clear_all.
- File "MIDI.ml", line 215, characters 6-12:
- 215 |   let append t1 t2 =
-             ^^^^^^
- Warning 32 [unused-value-declaration]: unused value append.
- File "MIDI.ml", line 570, characters 31-37:
- 570 |     class to_file samplerate ?(tracks=16) fname =
-                                      ^^^^^^
- Warning 27 [unused-var-strict]: unused variable tracks.
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes synth.mli
- ocamlc.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes synth.ml
- File "synth.ml", line 56, characters 6-21:
- 56 |       volume : float;
-            ^^^^^^^^^^^^^^^
- Warning 69 [unused-field]: record field volume is never read.
- (However, this field is used to build or mutate values.)
- File "synth.ml", line 80, characters 21-22:
- 80 |   method note_off n (v:float) =
-                           ^
- Warning 27 [unused-var-strict]: unused variable v.
- File "synth.ml", line 142, characters 4-14:
- 142 | let simple_gen g ?adsr sr ?(volume=1.) ?(phase=0.) f =
-           ^^^^^^^^^^
- Warning 32 [unused-value-declaration]: unused value simple_gen.
- File "synth.ml", line 181, characters 19-22:
- 181 |   method play_add (evs:MIDI.buffer) (eofs:int) (buf:Audio.buffer) (ofs:int) (len:int) : unit =
-                          ^^^
- Warning 27 [unused-var-strict]: unused variable evs.
- File "synth.ml", line 181, characters 37-41:
- 181 |   method play_add (evs:MIDI.buffer) (eofs:int) (buf:Audio.buffer) (ofs:int) (len:int) : unit =
-                                            ^^^^
- Warning 27 [unused-var-strict]: unused variable eofs.
- File "synth.ml", line 181, characters 48-51:
- 181 |   method play_add (evs:MIDI.buffer) (eofs:int) (buf:Audio.buffer) (ofs:int) (len:int) : unit =
-                                                       ^^^
- Warning 27 [unused-var-strict]: unused variable buf.
- File "synth.ml", line 181, characters 67-70:
- 181 |   method play_add (evs:MIDI.buffer) (eofs:int) (buf:Audio.buffer) (ofs:int) (len:int) : unit =
-                                                                          ^^^
- Warning 27 [unused-var-strict]: unused variable ofs.
- File "synth.ml", line 181, characters 77-80:
- 181 |   method play_add (evs:MIDI.buffer) (eofs:int) (buf:Audio.buffer) (ofs:int) (len:int) : unit =
-                                                                                    ^^^
- Warning 27 [unused-var-strict]: unused variable len.
- ocamlmklib    -I .. -I /home/opam/.opam/default/lib/bytes     \
- 			-o mm_stubs  audio_c.o image_data.o image_pixel.o image_rgb.o image_yuv420.o   \
- 			
- ocamlc.opt -a -dllib dllmm_stubs.so    -I .. -I /home/opam/.opam/default/lib/bytes -linkall        -cclib -lmm_stubs    -o mm.cma ringbuffer.cmo IO.cmo audio.cmo image.cmo video.cmo MIDI.cmo synth.cmo
- make[2]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
- make[2]: Entering directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
- ocamldep.opt -native synth.mli > ._ncdi/synth.di
- ocamldep.opt -native MIDI.mli > ._ncdi/MIDI.di
- ocamldep.opt -native video.mli > ._ncdi/video.di
- ocamldep.opt -native image.mli > ._ncdi/image.di
- ocamldep.opt -native audio.mli > ._ncdi/audio.di
- ocamldep.opt -native ringbuffer.mli > ._ncdi/ringbuffer.di
- make[2]: 'libmm_stubs.a' is up to date.
- ocamlopt.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes ringbuffer.ml
- ocamlopt.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes IO.ml
- File "IO.ml", line 1:
- Warning 70 [missing-mli]: Cannot find interface file.
- ocamlopt.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes audio.ml
- File "audio.ml", line 270, characters 5-13:
- 270 | 	    b : int; (* number of bits *)
-       	    ^^^^^^^^
- Warning 69 [unused-field]: record field b is never read.
- (However, this field is used to build or mutate values.)
- File "audio.ml", line 329, characters 10-14:
- 329 |       let ifft f d =
-                 ^^^^
- Warning 32 [unused-value-declaration]: unused value ifft.
- File "audio.ml", line 350, characters 5-10:
- 350 | 	let iteri f d =
-       	    ^^^^^
- Warning 32 [unused-value-declaration]: unused value iteri.
- File "audio.ml", line 386, characters 28-29:
- 386 | 	let blackman ?(alpha=0.16) f d =
-       	                           ^
- Warning 27 [unused-var-strict]: unused variable f.
- File "audio.ml", line 395, characters 25-26:
- 395 | 	let low_res a0 a1 a2 a3 f d =
-       	                        ^
- Warning 27 [unused-var-strict]: unused variable f.
- File "audio.ml", line 407, characters 23-29:
- 407 |       let notes sr f ?(window=Window.cosine) ?(note_min=Note.c0) ?(note_max=128) ?(volume_min=0.01) ?(filter_harmonics=true) buf ofs len =
-                              ^^^^^^
- Warning 27 [unused-var-strict]: unused variable window.
- File "audio.ml", lines 766-776, characters 4-7:
- 766 | ....class tb303 sr =
- 767 |     object (self)
- 768 |       (* Freq of 0. means no slide for next note. *)
- 769 |       inherit base sr 0.
- 770 | 
- ...
- 773 | 
- 774 |       method fill buf ofs len =
- 775 | 	assert false
- 776 |     end
- Warning 34 [unused-type-declaration]: unused type tb303.
- File "audio.ml", line 767, characters 11-17:
- 767 |     object (self)
-                  ^^^^^^
- Warning 27 [unused-var-strict]: unused variable self.
- File "audio.ml", line 774, characters 18-21:
- 774 |       method fill buf ofs len =
-                         ^^^
- Warning 27 [unused-var-strict]: unused variable buf.
- File "audio.ml", line 774, characters 22-25:
- 774 |       method fill buf ofs len =
-                             ^^^
- Warning 27 [unused-var-strict]: unused variable ofs.
- File "audio.ml", line 774, characters 26-29:
- 774 |       method fill buf ofs len =
-                                 ^^^
- Warning 27 [unused-var-strict]: unused variable len.
- File "audio.ml", line 874, characters 4-10:
- 874 | let length b = Array.length b
-           ^^^^^^
- Warning 32 [unused-value-declaration]: unused value length.
- File "audio.ml", line 1213, characters 9-15:
- 1213 |   object (self)
-                 ^^^^^^
- Warning 27 [unused-var-strict]: unused variable self.
- File "audio.ml", line 1230, characters 9-15:
- 1230 |   object (self)
-                 ^^^^^^
- Warning 27 [unused-var-strict]: unused variable self.
- File "audio.ml", line 1298, characters 9-15:
- 1298 |   object (self)
-                 ^^^^^^
- Warning 27 [unused-var-strict]: unused variable self.
- File "audio.ml", line 1422, characters 9-15:
- 1422 |   object (self)
-                 ^^^^^^
- Warning 27 [unused-var-strict]: unused variable self.
- ocamlopt.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes image.ml
- File "image.ml", line 198, characters 6-19:
- 198 |       stride : int;
-             ^^^^^^^^^^^^^
- Warning 69 [unused-field]: record field stride is never read.
- (However, this field is used to build or mutate values.)
- File "image.ml", line 800, characters 14-17:
- 800 |     let sepia img = failwith "Not implemented: sepia"
-                     ^^^
- Warning 27 [unused-var-strict]: unused variable img.
- File "image.ml", line 802, characters 15-18:
- 802 |     let invert img = failwith "Not implemented: invert"
-                      ^^^
- Warning 27 [unused-var-strict]: unused variable img.
- File "image.ml", line 804, characters 13-16:
- 804 |     let lomo img = failwith "Not implemented: lomo"
-                    ^^^
- Warning 27 [unused-var-strict]: unused variable img.
- File "image.ml", line 997, characters 16-20:
- 997 |   let convert ?(copy=false) ?(proportional=true) ?scale_kind src dst =
-                       ^^^^
- Warning 27 [unused-var-strict]: unused variable copy.
- ocamlopt.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes video.ml
- File "video.ml", line 86, characters 2-18:
- 86 |   type t = Image.t
-        ^^^^^^^^^^^^^^^^
- Warning 34 [unused-type-declaration]: unused type t.
- File "video.ml", line 88, characters 6-12:
- 88 |   let create () = Image.create 0 0
-            ^^^^^^
- Warning 32 [unused-value-declaration]: unused value create.
- File "video.ml", line 90, characters 6-10:
- 90 |   let blit = blit
-            ^^^^
- Warning 32 [unused-value-declaration]: unused value blit.
- File "video.ml", lines 85-91, characters 0-3:
- 85 | module RE = struct
- 86 |   type t = Image.t
- 87 | 
- 88 |   let create () = Image.create 0 0
- 89 | 
- 90 |   let blit = blit
- 91 | end
- Warning 60 [unused-module]: unused module RE.
- ocamlopt.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes MIDI.ml
- File "MIDI.ml", line 107, characters 8-39:
- 107 |         s.[0] <- coi (0x8 lsl 4 + chan);
-               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 108, characters 8-22:
- 108 |         s.[1] <- coi n;
-               ^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 109, characters 8-22:
- 109 |         s.[2] <- bof v
-               ^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 111, characters 8-39:
- 111 |         s.[0] <- coi (0x9 lsl 4 + chan);
-               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 112, characters 8-22:
- 112 |         s.[1] <- coi n;
-               ^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 113, characters 8-22:
- 113 |         s.[2] <- bof v
-               ^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 292, characters 14-52:
- 292 |               ans.[i] <- char_of_int data.(!pos + i)
-                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
- Alert deprecated: Stdlib.String.set
- Use Bytes.set/BytesLabels.set instead.
- File "MIDI.ml", line 61, characters 0-16:
- 61 | type delta = int
-      ^^^^^^^^^^^^^^^^
- Warning 34 [unused-type-declaration]: unused type delta.
- File "MIDI.ml", line 212, characters 6-15:
- 212 |   let clear_all buf =
-             ^^^^^^^^^
- Warning 32 [unused-value-declaration]: unused value clear_all.
- File "MIDI.ml", line 215, characters 6-12:
- 215 |   let append t1 t2 =
-             ^^^^^^
- Warning 32 [unused-value-declaration]: unused value append.
- File "MIDI.ml", line 570, characters 31-37:
- 570 |     class to_file samplerate ?(tracks=16) fname =
-                                      ^^^^^^
- Warning 27 [unused-var-strict]: unused variable tracks.
- ocamlopt.opt -c -dtypes -g -w +A-4@5-7@8-9@11@12@20-35-44-45-50 -I .. -I /home/opam/.opam/default/lib/bytes synth.ml
- File "synth.ml", line 56, characters 6-21:
- 56 |       volume : float;
-            ^^^^^^^^^^^^^^^
- Warning 69 [unused-field]: record field volume is never read.
- (However, this field is used to build or mutate values.)
- File "synth.ml", line 80, characters 21-22:
- 80 |   method note_off n (v:float) =
-                           ^
- Warning 27 [unused-var-strict]: unused variable v.
- File "synth.ml", line 142, characters 4-14:
- 142 | let simple_gen g ?adsr sr ?(volume=1.) ?(phase=0.) f =
-           ^^^^^^^^^^
- Warning 32 [unused-value-declaration]: unused value simple_gen.
- File "synth.ml", line 181, characters 19-22:
- 181 |   method play_add (evs:MIDI.buffer) (eofs:int) (buf:Audio.buffer) (ofs:int) (len:int) : unit =
-                          ^^^
- Warning 27 [unused-var-strict]: unused variable evs.
- File "synth.ml", line 181, characters 37-41:
- 181 |   method play_add (evs:MIDI.buffer) (eofs:int) (buf:Audio.buffer) (ofs:int) (len:int) : unit =
-                                            ^^^^
- Warning 27 [unused-var-strict]: unused variable eofs.
- File "synth.ml", line 181, characters 48-51:
- 181 |   method play_add (evs:MIDI.buffer) (eofs:int) (buf:Audio.buffer) (ofs:int) (len:int) : unit =
-                                                       ^^^
- Warning 27 [unused-var-strict]: unused variable buf.
- File "synth.ml", line 181, characters 67-70:
- 181 |   method play_add (evs:MIDI.buffer) (eofs:int) (buf:Audio.buffer) (ofs:int) (len:int) : unit =
-                                                                          ^^^
- Warning 27 [unused-var-strict]: unused variable ofs.
- File "synth.ml", line 181, characters 77-80:
- 181 |   method play_add (evs:MIDI.buffer) (eofs:int) (buf:Audio.buffer) (ofs:int) (len:int) : unit =
-                                                                                    ^^^
- Warning 27 [unused-var-strict]: unused variable len.
- ocamlopt.opt -a     -I .. -I /home/opam/.opam/default/lib/bytes -linkall       -cclib -lmm_stubs    -o mm.cmxa ringbuffer.cmx IO.cmx audio.cmx image.cmx video.cmx MIDI.cmx synth.cmx
- make[2]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
- make[1]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
-> compiled  mm.0.5.1
[mm: make install]
+ /usr/bin/make "install" (CWD=/home/opam/.opam/default/.opam-switch/build/mm.0.5.1)
- /usr/bin/make -C src install
- make[1]: Entering directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
- make[2]: Entering directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
- make[2]: 'libmm_stubs.a' is up to date.
- ocamlc.opt -a -dllib dllmm_stubs.so    -I .. -I /home/opam/.opam/default/lib/bytes -linkall        -cclib -lmm_stubs    -o mm.cma ringbuffer.cmo IO.cmo audio.cmo image.cmo video.cmo MIDI.cmo synth.cmo
- make[2]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
- make[2]: Entering directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
- make[2]: 'libmm_stubs.a' is up to date.
- make[2]: 'mm.cmxa' is up to date.
- make[2]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
- 
- Installing library with ocamlfind
- ocamlfind install  mm META MIDI.mli audio.mli image.mli ringbuffer.mli synth.mli video.mli IO.cmi MIDI.cmi audio.cmi image.cmi ringbuffer.cmi synth.cmi video.cmi mm.cma mm.cmxa IO.cmx MIDI.cmx audio.cmx image.cmx ringbuffer.cmx synth.cmx video.cmx libmm_stubs.a mm.a dllmm_stubs.so
- Installed /home/opam/.opam/default/lib/mm/mm.a
- Installed /home/opam/.opam/default/lib/mm/libmm_stubs.a
- Installed /home/opam/.opam/default/lib/mm/video.cmx
- Installed /home/opam/.opam/default/lib/mm/synth.cmx
- Installed /home/opam/.opam/default/lib/mm/ringbuffer.cmx
- Installed /home/opam/.opam/default/lib/mm/image.cmx
- Installed /home/opam/.opam/default/lib/mm/audio.cmx
- Installed /home/opam/.opam/default/lib/mm/MIDI.cmx
- Installed /home/opam/.opam/default/lib/mm/IO.cmx
- Installed /home/opam/.opam/default/lib/mm/mm.cmxa
- Installed /home/opam/.opam/default/lib/mm/mm.cma
- Installed /home/opam/.opam/default/lib/mm/video.cmi
- Installed /home/opam/.opam/default/lib/mm/synth.cmi
- Installed /home/opam/.opam/default/lib/mm/ringbuffer.cmi
- Installed /home/opam/.opam/default/lib/mm/image.cmi
- Installed /home/opam/.opam/default/lib/mm/audio.cmi
- Installed /home/opam/.opam/default/lib/mm/MIDI.cmi
- Installed /home/opam/.opam/default/lib/mm/IO.cmi
- Installed /home/opam/.opam/default/lib/mm/video.mli
- Installed /home/opam/.opam/default/lib/mm/synth.mli
- Installed /home/opam/.opam/default/lib/mm/ringbuffer.mli
- Installed /home/opam/.opam/default/lib/mm/image.mli
- Installed /home/opam/.opam/default/lib/mm/audio.mli
- Installed /home/opam/.opam/default/lib/mm/MIDI.mli
- Installed /home/opam/.opam/default/lib/stublibs/dllmm_stubs.so
- Installed /home/opam/.opam/default/lib/stublibs/dllmm_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/mm/META
- 
- Installation successful.
- make[1]: Leaving directory '/home/opam/.opam/default/.opam-switch/build/mm.0.5.1/src'
-> installed mm.0.5.1

=== STDERR ===

2026-06-16 11:44.13: OK: build mm.0.5.1 (runc: 15.6s, disk: 42KB)
2026-06-16 11:44.13: Job succeeded