package qcow

  1. Overview
  2. Docs
On This Page
  1. Error log

qcow 0.10.0

Error log

The package failed to build. The error log from opam follows.

[NOTE] Package dune is already installed (current version is 3.17.2).
[NOTE] Package ocamlfind is already installed (current version is 1.9.8).
The following actions will be performed:
=== install 73 packages
  - install angstrom                0.16.1
  - install asetmap                 0.8.1
  - install astring                 0.8.5
  - install base                    v0.12.2
  - install base-bytes              base
  - install bigstringaf             0.10.0
  - install cmdliner                1.3.0
  - install conf-pkg-config         4
  - install cppo                    1.8.0
  - install csexp                   1.5.2
  - install cstruct                 3.3.0
  - install cstruct-lwt             3.7.0
  - install domain-name             0.4.0
  - install dune-configurator       3.17.2
  - install duration                0.2.1
  - install fmt                     0.9.0
  - install io-page                 3.0.0
  - install ipaddr                  5.6.0
  - install jbuilder                1.0+beta20.2 (deprecated)
  - install logs                    0.7.0
  - install lwt                     5.9.0
  - install macaddr                 5.6.0
  - install mirage-block            1.2.0
  - install mirage-block-lwt        1.2.0 (deprecated)
  - install mirage-block-unix       2.8.2
  - install mirage-channel          3.2.0
  - install mirage-channel-lwt      3.2.0 (deprecated)
  - install mirage-clock            2.0.0
  - install mirage-clock-lwt        2.0.0 (deprecated)
  - install mirage-console          2.4.3 (deprecated)
  - install mirage-console-lwt      2.4.3 (deprecated)
  - install mirage-device           1.2.0 (deprecated)
  - install mirage-flow             1.6.0
  - install mirage-flow-lwt         1.6.0 (deprecated)
  - install mirage-fs               2.0.0 (deprecated)
  - install mirage-fs-lwt           2.0.0 (deprecated)
  - install mirage-kv               2.0.0
  - install mirage-kv-lwt           2.0.0 (deprecated)
  - install mirage-net              2.0.0
  - install mirage-net-lwt          2.0.0 (deprecated)
  - install mirage-protocols        3.1.0 (deprecated)
  - install mirage-protocols-lwt    3.1.0 (deprecated)
  - install mirage-random           1.2.0 (deprecated)
  - install mirage-stack            1.4.0 (deprecated)
  - install mirage-stack-lwt        1.4.0 (deprecated)
  - install mirage-time             1.3.0
  - install mirage-time-lwt         1.3.0 (deprecated)
  - install mirage-types            3.6.0 (deprecated)
  - install mirage-types-lwt        3.6.0 (deprecated)
  - install num                     1.5-1
  - install ocaml-compiler-libs     v0.12.4
  - install ocaml-migrate-parsetree 1.8.0 (deprecated)
  - install ocaml-syntax-shims      1.0.0
  - install ocamlbuild              0.15.0
  - install ocplib-endian           1.2
  - install parsexp                 v0.12.0
  - install ppx_derivers            1.2.1
  - install ppx_sexp_conv           v0.12.0
  - install ppx_tools               6.6
  - install ppx_type_conv           v0.11.0
  - install ppxlib                  0.8.1
  - install prometheus              1.2
  - install qcow                    0.10.0
  - install re                      1.11.0
  - install result                  1.5
  - install rresult                 0.7.0
  - install seq                     base
  - install sexplib                 v0.12.0
  - install sexplib0                v0.12.0
  - install stdio                   v0.12.0
  - install stringext               1.6.0
  - install topkg                   1.0.7
  - install uri                     4.4.0

The following system packages will first need to be installed:
    pkg-config

<><> Handling external dependencies <><><><><><><><><><><><><><><><><><><><><><>

opam believes some required external dependencies are missing. opam can:
> 1. Run apt-get to install them (may need root/sudo access)
  2. Display the recommended apt-get command and wait while you run it manually (e.g. in another terminal)
  3. Continue anyway, and, upon success, permanently register that this external dependency is present, but not detectable
  4. Abort the installation

[1/2/3/4] 1

+ /usr/bin/sudo "apt-get" "install" "-qq" "-yy" "pkg-config"
- debconf: delaying package configuration, since apt-utils is not installed
- Selecting previously unselected package libpkgconf3:amd64.
- (Reading database ... 
(Reading database ... 5%
(Reading database ... 10%
(Reading database ... 15%
(Reading database ... 20%
(Reading database ... 25%
(Reading database ... 30%
(Reading database ... 35%
(Reading database ... 40%
(Reading database ... 45%
(Reading database ... 50%
(Reading database ... 55%
(Reading database ... 60%
(Reading database ... 65%
(Reading database ... 70%
(Reading database ... 75%
(Reading database ... 80%
(Reading database ... 85%
(Reading database ... 90%
(Reading database ... 95%
(Reading database ... 100%
(Reading database ... 18745 files and directories currently installed.)
- Preparing to unpack .../libpkgconf3_1.8.1-1_amd64.deb ...
- Unpacking libpkgconf3:amd64 (1.8.1-1) ...
- Selecting previously unselected package pkgconf-bin.
- Preparing to unpack .../pkgconf-bin_1.8.1-1_amd64.deb ...
- Unpacking pkgconf-bin (1.8.1-1) ...
- Selecting previously unselected package pkgconf:amd64.
- Preparing to unpack .../pkgconf_1.8.1-1_amd64.deb ...
- Unpacking pkgconf:amd64 (1.8.1-1) ...
- Selecting previously unselected package pkg-config:amd64.
- Preparing to unpack .../pkg-config_1.8.1-1_amd64.deb ...
- Unpacking pkg-config:amd64 (1.8.1-1) ...
- Setting up libpkgconf3:amd64 (1.8.1-1) ...
- Setting up pkgconf-bin (1.8.1-1) ...
- Setting up pkgconf:amd64 (1.8.1-1) ...
- Setting up pkg-config:amd64 (1.8.1-1) ...
- Processing triggers for libc-bin (2.36-9+deb12u9) ...

<><> Processing actions <><><><><><><><><><><><><><><><><><><><><><><><><><><><>
-> retrieved asetmap.0.8.1  (cached)
-> retrieved angstrom.0.16.1  (cached)
-> installed base-bytes.base
-> retrieved astring.0.8.5  (cached)
-> retrieved base.v0.12.2  (cached)
-> retrieved bigstringaf.0.10.0  (cached)
-> retrieved cmdliner.1.3.0  (cached)
-> retrieved cppo.1.8.0  (cached)
-> installed conf-pkg-config.4
-> retrieved csexp.1.5.2  (cached)
-> retrieved cstruct.3.3.0  (cached)
-> retrieved cstruct-lwt.3.7.0  (cached)
-> retrieved domain-name.0.4.0  (cached)
-> retrieved duration.0.2.1  (cached)
-> retrieved fmt.0.9.0  (cached)
-> retrieved io-page.3.0.0  (cached)
-> retrieved ipaddr.5.6.0, macaddr.5.6.0  (cached)
-> retrieved logs.0.7.0  (cached)
-> retrieved lwt.5.9.0  (cached)
-> retrieved jbuilder.1.0+beta20.2  (cached)
-> installed csexp.1.5.2
-> installed domain-name.0.4.0
-> installed duration.0.2.1
-> installed macaddr.5.6.0
-> retrieved mirage-block.1.2.0, mirage-block-lwt.1.2.0  (cached)
-> retrieved mirage-block-unix.2.8.2  (cached)
-> retrieved mirage-channel.3.2.0, mirage-channel-lwt.3.2.0  (cached)
-> retrieved mirage-clock.2.0.0, mirage-clock-lwt.2.0.0  (cached)
-> retrieved mirage-console.2.4.3, mirage-console-lwt.2.4.3  (cached)
-> retrieved mirage-device.1.2.0  (cached)
-> retrieved mirage-flow.1.6.0, mirage-flow-lwt.1.6.0  (cached)
-> retrieved mirage-fs.2.0.0, mirage-fs-lwt.2.0.0  (cached)
-> retrieved dune-configurator.3.17.2  (cached)
-> retrieved mirage-kv.2.0.0, mirage-kv-lwt.2.0.0  (cached)
-> retrieved mirage-net.2.0.0, mirage-net-lwt.2.0.0  (cached)
-> retrieved mirage-protocols.3.1.0, mirage-protocols-lwt.3.1.0  (cached)
-> retrieved mirage-random.1.2.0  (cached)
-> retrieved mirage-stack.1.4.0, mirage-stack-lwt.1.4.0  (cached)
-> retrieved mirage-time.1.3.0, mirage-time-lwt.1.3.0  (cached)
-> retrieved mirage-types.3.6.0, mirage-types-lwt.3.6.0  (cached)
-> retrieved num.1.5-1  (cached)
-> retrieved ocaml-compiler-libs.v0.12.4  (cached)
-> installed cmdliner.1.3.0
-> installed cppo.1.8.0
-> installed ipaddr.5.6.0
-> retrieved ocaml-syntax-shims.1.0.0  (cached)
-> retrieved ocamlbuild.0.15.0  (cached)
-> retrieved ocplib-endian.1.2  (cached)
-> retrieved parsexp.v0.12.0  (cached)
-> retrieved ppx_derivers.1.2.1  (cached)
-> retrieved ocaml-migrate-parsetree.1.8.0  (cached)
-> retrieved ppx_sexp_conv.v0.12.0  (cached)
-> retrieved ppx_tools.6.6  (cached)
-> retrieved ppx_type_conv.v0.11.0  (cached)
-> retrieved prometheus.1.2  (cached)
-> retrieved ppxlib.0.8.1  (cached)
-> retrieved result.1.5  (cached)
-> retrieved rresult.0.7.0  (cached)
-> retrieved seq.base  (cached)
-> installed seq.base
-> installed ppx_derivers.1.2.1
-> retrieved re.1.11.0  (cached)
-> retrieved sexplib.v0.12.0  (cached)
-> retrieved sexplib0.v0.12.0  (cached)
-> retrieved stdio.v0.12.0  (cached)
-> retrieved stringext.1.6.0  (cached)
-> retrieved topkg.1.0.7  (cached)
-> retrieved uri.4.4.0  (cached)
-> installed ocplib-endian.1.2
-> installed result.1.5
-> installed stringext.1.6.0
-> retrieved qcow.0.10.0  (https://github.com/mirage/ocaml-qcow/archive/v0.10.0.tar.gz)
-> installed ocaml-syntax-shims.1.0.0
-> installed ocaml-compiler-libs.v0.12.4
-> installed sexplib0.v0.12.0
-> installed re.1.11.0
-> installed dune-configurator.3.17.2
-> installed num.1.5-1
-> installed bigstringaf.0.10.0
-> installed angstrom.0.16.1
-> installed ppx_tools.6.6
-> installed jbuilder.1.0+beta20.2
-> installed uri.4.4.0
-> installed lwt.5.9.0
-> installed ocamlbuild.0.15.0
-> installed ocaml-migrate-parsetree.1.8.0
-> installed base.v0.12.2
-> installed stdio.v0.12.0
-> installed parsexp.v0.12.0
-> installed topkg.1.0.7
-> installed sexplib.v0.12.0
-> installed asetmap.0.8.1
-> installed cstruct.3.3.0
-> installed mirage-random.1.2.0
-> installed rresult.0.7.0
-> installed io-page.3.0.0
-> installed cstruct-lwt.3.7.0
-> installed fmt.0.9.0
-> installed mirage-flow.1.6.0
-> installed mirage-device.1.2.0
-> installed mirage-channel.3.2.0
-> installed astring.0.8.5
-> installed mirage-block.1.2.0
-> installed mirage-clock.2.0.0
-> installed mirage-console.2.4.3
-> installed mirage-fs.2.0.0
-> installed mirage-kv.2.0.0
-> installed mirage-net.2.0.0
-> installed mirage-time.1.3.0
-> installed mirage-clock-lwt.2.0.0
-> installed mirage-console-lwt.2.4.3
-> installed mirage-kv-lwt.2.0.0
-> installed mirage-protocols.3.1.0
-> installed mirage-net-lwt.2.0.0
-> installed mirage-time-lwt.1.3.0
-> installed prometheus.1.2
-> installed mirage-stack.1.4.0
-> installed mirage-fs-lwt.2.0.0
-> installed mirage-protocols-lwt.3.1.0
-> installed mirage-stack-lwt.1.4.0
-> installed mirage-types.3.6.0
-> installed logs.0.7.0
-> installed mirage-flow-lwt.1.6.0
-> installed mirage-block-lwt.1.2.0
-> installed mirage-channel-lwt.3.2.0
-> installed mirage-types-lwt.3.6.0
-> installed mirage-block-unix.2.8.2
-> installed ppxlib.0.8.1
-> installed ppx_type_conv.v0.11.0
-> installed ppx_sexp_conv.v0.12.0
[ERROR] The compilation of qcow.0.10.0 failed at "jbuilder build --only-packages=qcow --no-config".

#=== ERROR while compiling qcow.0.10.0 ========================================#
# context              2.3.0 | linux/x86_64 | ocaml-base-compiler.4.09.1 | file:///src
# path                 ~/.opam/4.09/.opam-switch/build/qcow.0.10.0
# command              ~/.opam/4.09/bin/jbuilder build --only-packages=qcow --no-config
# exit-code            1
# env-file             ~/.opam/log/qcow-113-b7a5e2.env
# output-file          ~/.opam/log/qcow-113-b7a5e2.out
### output ###
#          gen lib/qcow_word_size.ml
# On a 64-bit machine so using 'int' for clusters
#     ocamlopt lib/.qcow.objs/qcow_bitmap.{cmx,o}
# File "lib/qcow_bitmap.ml", line 160, characters 30-48:
# 160 |   let compare (x: t) (y: t) = Pervasives.compare x y
#                                     ^^^^^^^^^^^^^^^^^^
# 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
#       ocamlc lib/.qcow.objs/qcow_bitmap.{cmo,cmt}
# File "lib/qcow_bitmap.ml", line 160, characters 30-48:
# 160 |   let compare (x: t) (y: t) = Pervasives.compare x y
#                                     ^^^^^^^^^^^^^^^^^^
# 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
#     ocamlopt lib/.qcow.objs/qcow_padded.{cmx,o}
# File "lib/qcow_padded.ml", lines 39-44, characters 10-26:
# 39 | ..........function
# 40 |       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 41 |       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 42 |       | Ok () ->
# 43 |         Cstructs.(memset (shift buf (max 0 bytes)) 0);
# 44 |         Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow_padded.ml", lines 47-50, characters 10-35:
# 47 | ..........function
# 48 |       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 49 |       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 50 |       | Ok () -> Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
#       ocamlc lib/.qcow.objs/qcow_int.{cmo,cmt}
# File "lib/qcow_int.ml", line 26, characters 30-48:
# 26 |   let compare (x: t) (y: t) = Pervasives.compare x y
#                                    ^^^^^^^^^^^^^^^^^^
# 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
#       ocamlc lib/.qcow.objs/qcow_diet.{cmo,cmt}
# File "lib/qcow_diet.ml", line 106, characters 11-21:
# 106 |   let open Pervasives in
#                  ^^^^^^^^^^
# 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 "lib/qcow_diet.ml", line 199, characters 17-27:
# 199 |         let open Pervasives in
#                        ^^^^^^^^^^
# 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 "lib/qcow_diet.ml", line 407, characters 30-40:
# 407 |             let will_use = if Pervasives.(Elt.compare n len < 0) then n else len in
#                                     ^^^^^^^^^^
# 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 "lib/qcow_diet.ml", line 423, characters 30-48:
# 423 |   let compare (x: t) (y: t) = Pervasives.compare x y
#                                     ^^^^^^^^^^^^^^^^^^
# 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
#       ocamlc lib/.qcow.objs/qcow_padded.{cmo,cmt}
# File "lib/qcow_padded.ml", lines 39-44, characters 10-26:
# 39 | ..........function
# 40 |       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 41 |       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 42 |       | Ok () ->
# 43 |         Cstructs.(memset (shift buf (max 0 bytes)) 0);
# 44 |         Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow_padded.ml", lines 47-50, characters 10-35:
# 47 | ..........function
# 48 |       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 49 |       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 50 |       | Ok () -> Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
#     ocamlopt lib/.qcow.objs/qcow_diet.{cmx,o}
# File "lib/qcow_diet.ml", line 106, characters 11-21:
# 106 |   let open Pervasives in
#                  ^^^^^^^^^^
# 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 "lib/qcow_diet.ml", line 199, characters 17-27:
# 199 |         let open Pervasives in
#                        ^^^^^^^^^^
# 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 "lib/qcow_diet.ml", line 407, characters 30-40:
# 407 |             let will_use = if Pervasives.(Elt.compare n len < 0) then n else len in
#                                     ^^^^^^^^^^
# 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 "lib/qcow_diet.ml", line 423, characters 30-48:
# 423 |   let compare (x: t) (y: t) = Pervasives.compare x y
#                                     ^^^^^^^^^^^^^^^^^^
# 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
#     ocamlopt lib/.qcow.objs/qcow_int.{cmx,o}
# File "lib/qcow_int.ml", line 26, characters 30-48:
# 26 |   let compare (x: t) (y: t) = Pervasives.compare x y
#                                    ^^^^^^^^^^^^^^^^^^
# 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
#       ocamlc lib/.qcow.objs/qcow_header.{cmo,cmt} (exit 2)
# (cd _build/default && /home/opam/.opam/4.09/bin/ocamlc.opt -w -40 -g -bin-annot -I lib/.qcow.objs -I /home/opam/.opam/4.09/lib/angstrom -I /home/opam/.opam/4.09/lib/asetmap -I /home/opam/.opam/4.09/lib/astring -I /home/opam/.opam/4.09/lib/base -I /home/opam/.opam/4.09/lib/base/caml -I /home/opam/.opam/4.09/lib/base/shadow_stdlib -I /home/opam/.opam/4.09/lib/bigstringaf -I /home/opam/.opam/4.09/lib/bytes -I /home/opam/.opam/4.09/lib/cmdliner -I /home/opam/.opam/4.09/lib/cstruct -I /home/opam/.opam/4.09/lib/cstruct-lwt -I /home/opam/.opam/4.09/lib/domain-name -I /home/opam/.opam/4.09/lib/duration -I /home/opam/.opam/4.09/lib/fmt -I /home/opam/.opam/4.09/lib/io-page -I /home/opam/.opam/4.09/lib/ipaddr -I /home/opam/.opam/4.09/lib/logs -I /home/opam/.opam/4.09/lib/lwt -I /home/opam/.opam/4.09/lib/lwt/unix -I /home/opam/.opam/4.09/lib/macaddr -I /home/opam/.opam/4.09/lib/mirage-block -I /home/opam/.opam/4.09/lib/mirage-block-lwt -I /home/opam/.opam/4.09/lib/mirage-block-unix -I /home/opam/.opam/4.09/lib/mirage-channel -I /home/opam/.opam/4.09/lib/mirage-channel-lwt -I /home/opam/.opam/4.09/lib/mirage-clock -I /home/opam/.opam/4.09/lib/mirage-clock-lwt -I /home/opam/.opam/4.09/lib/mirage-console -I /home/opam/.opam/4.09/lib/mirage-console-lwt -I /home/opam/.opam/4.09/lib/mirage-device -I /home/opam/.opam/4.09/lib/mirage-flow -I /home/opam/.opam/4.09/lib/mirage-flow-lwt -I /home/opam/.opam/4.09/lib/mirage-fs -I /home/opam/.opam/4.09/lib/mirage-fs-lwt -I /home/opam/.opam/4.09/lib/mirage-kv -I /home/opam/.opam/4.09/lib/mirage-kv-lwt -I /home/opam/.opam/4.09/lib/mirage-net -I /home/opam/.opam/4.09/lib/mirage-net-lwt -I /home/opam/.opam/4.09/lib/mirage-protocols -I /home/opam/.opam/4.09/lib/mirage-protocols-lwt -I /home/opam/.opam/4.09/lib/mirage-random -I /home/opam/.opam/4.09/lib/mirage-stack -I /home/opam/.opam/4.09/lib/mirage-stack-lwt -I /home/opam/.opam/4.09/lib/mirage-time -I /home/opam/.opam/4.09/lib/mirage-time-lwt -I /home/opam/.opam/4.09/lib/mirage-types -I /home/opam/.opam/4.09/lib/mirage-types-lwt -I /home/opam/.opam/4.09/lib/ocaml-compiler-libs/common -I /home/opam/.opam/4.09/lib/ocaml-compiler-libs/shadow -I /home/opam/.opam/4.09/lib/ocaml-migrate-parsetree -I /home/opam/.opam/4.09/lib/ocaml/compiler-libs -I /home/opam/.opam/4.09/lib/ocaml/threads -I /home/opam/.opam/4.09/lib/ocplib-endian -I /home/opam/.opam/4.09/lib/ocplib-endian/bigstring -I /home/opam/.opam/4.09/lib/parsexp -I /home/opam/.opam/4.09/lib/ppx_derivers -I /home/opam/.opam/4.09/lib/ppx_sexp_conv -I /home/opam/.opam/4.09/lib/ppx_sexp_conv/expander -I /home/opam/.opam/4.09/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/4.09/lib/ppx_tools -I /home/opam/.opam/4.09/lib/ppx_type_conv -I /home/opam/.opam/4.09/lib/ppxlib -I /home/opam/.opam/4.09/lib/ppxlib/ast -I /home/opam/.opam/4.09/lib/ppxlib/print_diff -I /home/opam/.opam/4.09/lib/ppxlib/traverse_builtins -I /home/opam/.opam/4.09/lib/prometheus -I /home/opam/.opam/4.09/lib/re -I /home/opam/.opam/4.09/lib/result -I /home/opam/.opam/4.09/lib/rresult -I /home/opam/.opam/4.09/lib/seq -I /home/opam/.opam/4.09/lib/sexplib -I /home/opam/.opam/4.09/lib/sexplib0 -I /home/opam/.opam/4.09/lib/stdio -I /home/opam/.opam/4.09/lib/stringext -I /home/opam/.opam/4.09/lib/uri -no-alias-deps -o lib/.qcow.objs/qcow_header.cmo -c -impl lib/qcow_header.pp.ml)
# File "lib/qcow_header.ml", line 49, characters 38-39:
# 49 |   let compare (a: t) (b: t) = compare a b
#                                            ^
# Error: This expression has type t but an expression was expected of type
#          ('a, 'b) Stdlib.result
#       ocamlc lib/.qcow.objs/qcow_recycler.{cmo,cmt}
# File "lib/qcow_recycler.ml", lines 88-105, characters 10-26:
#  88 | ..........function
#  89 |       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
#  90 |       | Error `Disconnected -> Lwt.return (Error `Disconnected)
#  91 |       | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
#  92 |       | Ok () ->
# ...
# 102 |           Qcow_cluster_map.Debug.assert_no_leaked_blocks cluster_map;
# 103 |           assert false
# 104 |         end;
# 105 |         Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow_recycler.ml", lines 83-105, characters 8-26:
#  83 | ........function
#  84 |     | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
#  85 |     | Error `Disconnected -> Lwt.return (Error `Disconnected)
#  86 |     | Ok () ->
#  87 |       B.write t.base dst_sector [ cluster ]
# ...
# 102 |           Qcow_cluster_map.Debug.assert_no_leaked_blocks cluster_map;
# 103 |           assert false
# 104 |         end;
# 105 |         Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow_recycler.ml", lines 360-386, characters 12-28:
# 360 | ............function
# 361 |         | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 362 |         | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 363 |         | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 364 |         | Ok () ->
# ...
# 383 |               nr_flushed nr_completed nr_erased);
# 384 |             Log.info (fun f -> f "block recycler: flush: %s" (Qcow_cluster_map.to_summary_string cluster_map));
# 385 |           end;
# 386 |           Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow_recycler.ml", lines 522-528, characters 18-31:
# 522 | ..................function
# 523 |               | Error `Unimplemented -> Lwt.fail_with "Unimplemented"
# 524 |               | Error `Disconnected -> Lwt.fail_with "Disconnected"
# 525 |               | Error `Is_read_only -> Lwt.fail_with "Is_read_only"
# 526 |               | Ok () ->
# 527 |                 Qcow_cluster_map.(set_cluster_state cluster_map to_erase Roots Erased);
# 528 |                 Lwt.return_unit
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
#     ocamlopt lib/.qcow.objs/qcow_header.{cmx,o} (exit 2)
# (cd _build/default && /home/opam/.opam/4.09/bin/ocamlopt.opt -w -40 -g -I lib/.qcow.objs -I /home/opam/.opam/4.09/lib/angstrom -I /home/opam/.opam/4.09/lib/asetmap -I /home/opam/.opam/4.09/lib/astring -I /home/opam/.opam/4.09/lib/base -I /home/opam/.opam/4.09/lib/base/caml -I /home/opam/.opam/4.09/lib/base/shadow_stdlib -I /home/opam/.opam/4.09/lib/bigstringaf -I /home/opam/.opam/4.09/lib/bytes -I /home/opam/.opam/4.09/lib/cmdliner -I /home/opam/.opam/4.09/lib/cstruct -I /home/opam/.opam/4.09/lib/cstruct-lwt -I /home/opam/.opam/4.09/lib/domain-name -I /home/opam/.opam/4.09/lib/duration -I /home/opam/.opam/4.09/lib/fmt -I /home/opam/.opam/4.09/lib/io-page -I /home/opam/.opam/4.09/lib/ipaddr -I /home/opam/.opam/4.09/lib/logs -I /home/opam/.opam/4.09/lib/lwt -I /home/opam/.opam/4.09/lib/lwt/unix -I /home/opam/.opam/4.09/lib/macaddr -I /home/opam/.opam/4.09/lib/mirage-block -I /home/opam/.opam/4.09/lib/mirage-block-lwt -I /home/opam/.opam/4.09/lib/mirage-block-unix -I /home/opam/.opam/4.09/lib/mirage-channel -I /home/opam/.opam/4.09/lib/mirage-channel-lwt -I /home/opam/.opam/4.09/lib/mirage-clock -I /home/opam/.opam/4.09/lib/mirage-clock-lwt -I /home/opam/.opam/4.09/lib/mirage-console -I /home/opam/.opam/4.09/lib/mirage-console-lwt -I /home/opam/.opam/4.09/lib/mirage-device -I /home/opam/.opam/4.09/lib/mirage-flow -I /home/opam/.opam/4.09/lib/mirage-flow-lwt -I /home/opam/.opam/4.09/lib/mirage-fs -I /home/opam/.opam/4.09/lib/mirage-fs-lwt -I /home/opam/.opam/4.09/lib/mirage-kv -I /home/opam/.opam/4.09/lib/mirage-kv-lwt -I /home/opam/.opam/4.09/lib/mirage-net -I /home/opam/.opam/4.09/lib/mirage-net-lwt -I /home/opam/.opam/4.09/lib/mirage-protocols -I /home/opam/.opam/4.09/lib/mirage-protocols-lwt -I /home/opam/.opam/4.09/lib/mirage-random -I /home/opam/.opam/4.09/lib/mirage-stack -I /home/opam/.opam/4.09/lib/mirage-stack-lwt -I /home/opam/.opam/4.09/lib/mirage-time -I /home/opam/.opam/4.09/lib/mirage-time-lwt -I /home/opam/.opam/4.09/lib/mirage-types -I /home/opam/.opam/4.09/lib/mirage-types-lwt -I /home/opam/.opam/4.09/lib/ocaml-compiler-libs/common -I /home/opam/.opam/4.09/lib/ocaml-compiler-libs/shadow -I /home/opam/.opam/4.09/lib/ocaml-migrate-parsetree -I /home/opam/.opam/4.09/lib/ocaml/compiler-libs -I /home/opam/.opam/4.09/lib/ocaml/threads -I /home/opam/.opam/4.09/lib/ocplib-endian -I /home/opam/.opam/4.09/lib/ocplib-endian/bigstring -I /home/opam/.opam/4.09/lib/parsexp -I /home/opam/.opam/4.09/lib/ppx_derivers -I /home/opam/.opam/4.09/lib/ppx_sexp_conv -I /home/opam/.opam/4.09/lib/ppx_sexp_conv/expander -I /home/opam/.opam/4.09/lib/ppx_sexp_conv/runtime-lib -I /home/opam/.opam/4.09/lib/ppx_tools -I /home/opam/.opam/4.09/lib/ppx_type_conv -I /home/opam/.opam/4.09/lib/ppxlib -I /home/opam/.opam/4.09/lib/ppxlib/ast -I /home/opam/.opam/4.09/lib/ppxlib/print_diff -I /home/opam/.opam/4.09/lib/ppxlib/traverse_builtins -I /home/opam/.opam/4.09/lib/prometheus -I /home/opam/.opam/4.09/lib/re -I /home/opam/.opam/4.09/lib/result -I /home/opam/.opam/4.09/lib/rresult -I /home/opam/.opam/4.09/lib/seq -I /home/opam/.opam/4.09/lib/sexplib -I /home/opam/.opam/4.09/lib/sexplib0 -I /home/opam/.opam/4.09/lib/stdio -I /home/opam/.opam/4.09/lib/stringext -I /home/opam/.opam/4.09/lib/uri -no-alias-deps -o lib/.qcow.objs/qcow_header.cmx -c -impl lib/qcow_header.pp.ml)
# File "lib/qcow_header.ml", line 49, characters 38-39:
# 49 |   let compare (a: t) (b: t) = compare a b
#                                            ^
# Error: This expression has type t but an expression was expected of type
#          ('a, 'b) Stdlib.result
#       ocamlc lib/.qcow.objs/qcow.{cmo,cmt}
# File "lib/qcow.ml", lines 181-188, characters 12-26:
# 181 | ............function
# 182 |         | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 183 |         | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 184 |         | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 185 |         | Ok () ->
# 186 |         Log.debug (fun f -> f "Written header");
# 187 |         t.h <- h;
# 188 |         Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 175-188, characters 12-26:
# 175 | ............function
# 176 |         | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 177 |         | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 178 |         | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 179 |         | Ok () ->
# ...
# 185 |         | Ok () ->
# 186 |         Log.debug (fun f -> f "Written header");
# 187 |         t.h <- h;
# 188 |         Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 207-213, characters 10-24:
# 207 | ..........function
# 208 |       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 209 |       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 210 |       | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 211 |       | Ok () ->
# 212 |       Log.debug (fun f -> f "Resized device to %d bytes" (Qcow_physical.to_bytes new_size));
# 213 |       Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 316-320, characters 33-58:
# 316 | .................................function
# 317 |                              | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 318 |                              | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 319 |                              | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 320 |                              | Ok () -> Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 442-448, characters 26-39:
# 442 | ..........................function
# 443 |                       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 444 |                       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 445 |                       | Error `Is_read_only -> Lwt.return (Error (`Msg "Device is read only"))
# 446 |                       | Ok () ->
# 447 |                       let free = Cluster.IntervalSet.(remove (Interval.make first first) free) in
# 448 |                       loop free (i + 1)
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 464-470, characters 26-46:
# 464 | ..........................function
# 465 |                       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 466 |                       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 467 |                       | Error `Is_read_only -> Lwt.return (Error (`Msg "Device is read only"))
# 468 |                       | Ok () ->
# 469 |                       let free = Cluster.IntervalSet.(remove (Interval.make first first) free) in
# 470 |                       loop free (Int64.succ i)
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 542-550, characters 26-42:
# 542 | ..........................function
# 543 |                       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 544 |                       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 545 |                       | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 546 |                       | Ok () ->
# 547 |                       let open Lwt_write_error.Infix in
# 548 |                       really_incr ?client t cluster
# 549 |                       >>= fun () ->
# 550 |                       Lwt.return (Ok addr)
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 531-550, characters 26-42:
# 531 | ..........................function
# 532 |                       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 533 |                       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 534 |                       | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 535 |                       | Ok () ->
# ...
# 547 |                       let open Lwt_write_error.Infix in
# 548 |                       really_incr ?client t cluster
# 549 |                       >>= fun () ->
# 550 |                       Lwt.return (Ok addr)
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 523-550, characters 26-42:
# 523 | ..........................function
# 524 |                       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 525 |                       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 526 |                       | Error `Is_read_only -> Lwt.return (Error (`Msg "Device is read only"))
# 527 |                       | Ok () ->
# ...
# 547 |                       let open Lwt_write_error.Infix in
# 548 |                       really_incr ?client t cluster
# 549 |                       >>= fun () ->
# 550 |                       Lwt.return (Ok addr)
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 574-580, characters 12-26:
# 574 | ............function
# 575 |         | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 576 |         | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 577 |         | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 578 |         | Ok () ->
# 579 |         Log.debug (fun f -> f "Incremented refcount of cluster %Ld" cluster);
# 580 |         Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1111-1115, characters 22-57:
# 1111 | ......................function
# 1112 |                   | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1113 |                   | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1114 |                   | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1115 |                   | Ok () -> Lwt.return (Ok refs_updated)...
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1098-1115, characters 22-57:
# 1098 | ......................function
# 1099 |                   | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1100 |                   | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1101 |                   | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1102 |                   | Ok () ->
# ...
# 1112 |                   | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1113 |                   | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1114 |                   | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1115 |                   | Ok () -> Lwt.return (Ok refs_updated)...
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1237-1240, characters 18-43:
# 1237 | ..................function
# 1238 |               | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1239 |               | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1240 |               | Ok () -> Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1321-1325, characters 26-51:
# 1321 | ..........................function
# 1322 |                       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1323 |                       | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1324 |                       | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1325 |                       | Ok () -> Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1455-1458, characters 14-40:
# 1455 | ..............function
# 1456 |           | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1457 |           | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1458 |           | Ok () -> Lwt.return (Ok buf)
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1474-1478, characters 16-41:
# 1474 | ................function
# 1475 |             | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1476 |             | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1477 |             | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1478 |             | Ok () -> Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1572-1585, characters 8-20:
# 1572 | ........function
# 1573 |     | Error `Unimplemented -> Lwt.fail_with "Unimplemented"
# 1574 |     | Error `Disconnected -> Lwt.fail_with "Disconnected"
# 1575 |     | Ok () ->
# 1576 |       match Header.read sector with
# ...
# 1582 |         let free = total_free t.cluster_map in
# 1583 |         let used = total_used t.cluster_map in
# 1584 |         Log.info (fun f -> f "image has %Ld free sectors and %Ld used sectors" free used);
# 1585 |         Lwt.return t
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1652-1656, characters 18-43:
# 1652 | ..................function
# 1653 |               | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1654 |               | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1655 |               | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1656 |               | Ok () -> Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1784-1789, characters 8-21:
# 1784 | ........function
# 1785 |     | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1786 |     | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1787 |     | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1788 |     | Ok () ->
# 1789 |     Lwt.return (Ok t)
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1778-1789, characters 8-21:
# 1778 | ........function
# 1779 |     | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1780 |     | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1781 |     | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1782 |     | Ok () ->
# ...
# 1786 |     | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1787 |     | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1788 |     | Ok () ->
# 1789 |     Lwt.return (Ok t)
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1758-1789, characters 8-21:
# 1758 | ........function
# 1759 |     | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1760 |     | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1761 |     | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1762 |     | Ok () ->
# ...
# 1786 |     | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1787 |     | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1788 |     | Ok () ->
# 1789 |     Lwt.return (Ok t)
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow.ml", lines 1915-1919, characters 8-33:
# 1915 | ........function
# 1916 |     | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 1917 |     | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 1918 |     | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 1919 |     | Ok () -> Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
#     ocamlopt lib/.qcow.objs/qcow_recycler.{cmx,o}
# File "lib/qcow_recycler.ml", lines 88-105, characters 10-26:
#  88 | ..........function
#  89 |       | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
#  90 |       | Error `Disconnected -> Lwt.return (Error `Disconnected)
#  91 |       | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
#  92 |       | Ok () ->
# ...
# 102 |           Qcow_cluster_map.Debug.assert_no_leaked_blocks cluster_map;
# 103 |           assert false
# 104 |         end;
# 105 |         Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow_recycler.ml", lines 83-105, characters 8-26:
#  83 | ........function
#  84 |     | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
#  85 |     | Error `Disconnected -> Lwt.return (Error `Disconnected)
#  86 |     | Ok () ->
#  87 |       B.write t.base dst_sector [ cluster ]
# ...
# 102 |           Qcow_cluster_map.Debug.assert_no_leaked_blocks cluster_map;
# 103 |           assert false
# 104 |         end;
# 105 |         Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow_recycler.ml", lines 360-386, characters 12-28:
# 360 | ............function
# 361 |         | Error `Unimplemented -> Lwt.return (Error `Unimplemented)
# 362 |         | Error `Disconnected -> Lwt.return (Error `Disconnected)
# 363 |         | Error `Is_read_only -> Lwt.return (Error `Is_read_only)
# 364 |         | Ok () ->
# ...
# 383 |               nr_flushed nr_completed nr_erased);
# 384 |             Log.info (fun f -> f "block recycler: flush: %s" (Qcow_cluster_map.to_summary_string cluster_map));
# 385 |           end;
# 386 |           Lwt.return (Ok ())
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>
# File "lib/qcow_recycler.ml", lines 522-528, characters 18-31:
# 522 | ..................function
# 523 |               | Error `Unimplemented -> Lwt.fail_with "Unimplemented"
# 524 |               | Error `Disconnected -> Lwt.fail_with "Disconnected"
# 525 |               | Error `Is_read_only -> Lwt.fail_with "Is_read_only"
# 526 |               | Ok () ->
# 527 |                 Qcow_cluster_map.(set_cluster_state cluster_map to_erase Roots Erased);
# 528 |                 Lwt.return_unit
# Warning 8: this pattern-matching is not exhaustive.
# Here is an example of a case that is not matched:
# Error `<some private tag>



<><> Error report <><><><><><><><><><><><><><><><><><><><><><><><><><><><><><><>
+- The following actions failed
| - build qcow 0.10.0
+- 
+- The following changes have been performed
| - install angstrom                0.16.1
| - install asetmap                 0.8.1
| - install astring                 0.8.5
| - install base                    v0.12.2
| - install base-bytes              base
| - install bigstringaf             0.10.0
| - install cmdliner                1.3.0
| - install conf-pkg-config         4
| - install cppo                    1.8.0
| - install csexp                   1.5.2
| - install cstruct                 3.3.0
| - install cstruct-lwt             3.7.0
| - install domain-name             0.4.0
| - install dune-configurator       3.17.2
| - install duration                0.2.1
| - install fmt                     0.9.0
| - install io-page                 3.0.0
| - install ipaddr                  5.6.0
| - install jbuilder                1.0+beta20.2
| - install logs                    0.7.0
| - install lwt                     5.9.0
| - install macaddr                 5.6.0
| - install mirage-block            1.2.0
| - install mirage-block-lwt        1.2.0
| - install mirage-block-unix       2.8.2
| - install mirage-channel          3.2.0
| - install mirage-channel-lwt      3.2.0
| - install mirage-clock            2.0.0
| - install mirage-clock-lwt        2.0.0
| - install mirage-console          2.4.3
| - install mirage-console-lwt      2.4.3
| - install mirage-device           1.2.0
| - install mirage-flow             1.6.0
| - install mirage-flow-lwt         1.6.0
| - install mirage-fs               2.0.0
| - install mirage-fs-lwt           2.0.0
| - install mirage-kv               2.0.0
| - install mirage-kv-lwt           2.0.0
| - install mirage-net              2.0.0
| - install mirage-net-lwt          2.0.0
| - install mirage-protocols        3.1.0
| - install mirage-protocols-lwt    3.1.0
| - install mirage-random           1.2.0
| - install mirage-stack            1.4.0
| - install mirage-stack-lwt        1.4.0
| - install mirage-time             1.3.0
| - install mirage-time-lwt         1.3.0
| - install mirage-types            3.6.0
| - install mirage-types-lwt        3.6.0
| - install num                     1.5-1
| - install ocaml-compiler-libs     v0.12.4
| - install ocaml-migrate-parsetree 1.8.0
| - install ocaml-syntax-shims      1.0.0
| - install ocamlbuild              0.15.0
| - install ocplib-endian           1.2
| - install parsexp                 v0.12.0
| - install ppx_derivers            1.2.1
| - install ppx_sexp_conv           v0.12.0
| - install ppx_tools               6.6
| - install ppx_type_conv           v0.11.0
| - install ppxlib                  0.8.1
| - install prometheus              1.2
| - install re                      1.11.0
| - install result                  1.5
| - install rresult                 0.7.0
| - install seq                     base
| - install sexplib                 v0.12.0
| - install sexplib0                v0.12.0
| - install stdio                   v0.12.0
| - install stringext               1.6.0
| - install topkg                   1.0.7
| - install uri                     4.4.0
+- 

<><> ocaml-migrate-parsetree.1.8.0 installed successfully <><><><><><><><><><><>
=> Note: This package is deprecated.

<><> mirage-types-lwt.3.6.0 installed successfully ><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-types-lwt is deprecated

<><> mirage-types.3.6.0 installed successfully ><><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-types is deprecated

<><> mirage-time-lwt.1.3.0 installed successfully <><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-time-lwt is deprecated

<><> mirage-stack-lwt.1.4.0 installed successfully ><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-stack-lwt is deprecated

<><> mirage-stack.1.4.0 installed successfully ><><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-stack is deprecated

<><> mirage-random.1.2.0 installed successfully <><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-random is deprecated

<><> mirage-protocols-lwt.3.1.0 installed successfully ><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-protocols-lwt is deprecated, and has been folded into mirage-protocols

<><> mirage-protocols.3.1.0 installed successfully ><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-protocols is deprecated

<><> mirage-net-lwt.2.0.0 installed successfully ><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-net-lwt is deprecated, and has been folded into mirage-net

<><> mirage-kv-lwt.2.0.0 installed successfully <><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-kv-lwt is deprecated, and has been folded into mirage-kv

<><> mirage-fs-lwt.2.0.0 installed successfully <><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-fs-lwt is deprecated, and has been folded into mirage-fs

<><> mirage-fs.2.0.0 installed successfully <><><><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-fs is deprecated, and has been superseeded by mirage-kv

<><> mirage-flow-lwt.1.6.0 installed successfully <><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-flow-lwt is deprecated, and has been folded into mirage-flow

<><> mirage-device.1.2.0 installed successfully <><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-device is deprecated

<><> mirage-console-lwt.2.4.3 installed successfully ><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-console-lwt is deprecated, and has been folded into mirage-console

<><> mirage-console.2.4.3 installed successfully ><><><><><><><><><><><><><><><>
=> Note: This package is deprecated.

<><> mirage-clock-lwt.2.0.0 installed successfully ><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-clock-lwt is deprecated, and has been folded into mirage-clock

<><> mirage-channel-lwt.3.2.0 installed successfully ><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-channel-lwt is deprecated, and has been folded into mirage-channel

<><> mirage-block-lwt.1.2.0 installed successfully ><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
=> mirage-block-lwt is deprecated, and has been folded into mirage-block

<><> jbuilder.1.0+beta20.2 installed successfully <><><><><><><><><><><><><><><>
=> Note: This package is deprecated.
# To update the current shell environment, run: eval $(opam env)

The former state can be restored with:
    /usr/bin/opam switch import "/home/opam/.opam/4.09/.opam-switch/backup/state-20250206021158.export"
OCaml

Innovation. Community. Security.