478.127s:# File "mirage/main.ml", line 133, characters 39-102: 478.127s:# Error: The functor application is ill-typed.
478.127s:# These arguments:
478.127s:# Qubesdb_ipv4_make__16 Ipv6_make__17
478.127s:# do not match these parameters:
478.127s:# functor (Ipv4 : $T1) (Ipv6 : ...) -> ...
478.127s:# 1. Modules do not match:
478.127s:# Qubesdb_ipv4_make__16 :
478.127s:# sig
478.127s:# type nonrec error =
478.127s:# Qubesdb_ipv4.Make(Qubes.DB)(Mirage_crypto_rng_mirage_make__11)(Mclock)(Ethernet_make__14)(Arp_make__15).error
478.127s:# val pp_error : error Fmt.t
478.127s:# type ipaddr = Ipaddr.V4.t
478.127s:# val pp_ipaddr : ipaddr Fmt.t
478.127s:# type prefix =
478.127s:# Qubesdb_ipv4.Make(Qubes.DB)(Mirage_crypto_rng_mirage_make__11)(Mclock)(Ethernet_make__14)(Arp_make__15).prefix
478.127s:# val pp_prefix : prefix Fmt.t
478.127s:# type t =
478.127s:# Qubesdb_ipv4.Make(Qubes.DB)(Mirage_crypto_rng_mirage_make__11)(Mclock)(Ethernet_make__14)(Arp_make__15).t
478.127s:# val disconnect : t -> unit Lwt.t
478.127s:# type callback =
478.127s:# src:ipaddr -> dst:ipaddr -> Cstruct.t -> unit Lwt.t
478.127s:# val input :
478.127s:# t ->
478.127s:# tcp:callback ->
478.127s:# udp:callback ->
478.127s:# default:(proto:int -> callback) -> Cstruct.t -> unit Lwt.t
478.127s:# val write :
478.127s:# t ->
478.127s:# ?fragment:bool ->
478.127s:# ?ttl:int ->
478.127s:# ?src:ipaddr ->
478.127s:# ipaddr ->
478.127s:# Tcpip__Ip.proto ->
478.127s:# ?size:int ->
478.127s:# (Cstruct.t -> int) ->
478.127s:# Cstruct.t list -> (unit, error) result Lwt.t
478.127s:# val pseudoheader :
478.127s:# t ->
478.127s:# ?src:ipaddr -> ipaddr -> Tcpip__Ip.proto -> int -> Cstruct.t
478.127s:# val src : t -> dst:ipaddr -> ipaddr
478.127s:# val get_ip : t -> ipaddr list
478.127s:# val configured_ips : t -> prefix list
478.127s:# val mtu : t -> dst:ipaddr -> int
478.127s:# val connect :
478.127s:# Qubes.DB.t ->
478.127s:# Ethernet_make__14.t -> Arp_make__15.t -> t Lwt.t
478.127s:# end
478.127s:# is not included in
478.127s:# $T1 =
478.127s:# sig
478.127s:# type nonrec error = private [> Tcpip__Ip.error ]
478.127s:# val pp_error : error Fmt.t
478.127s:# type ipaddr = Ipaddr.V4.t
478.127s:# val pp_ipaddr : ipaddr Fmt.t
478.127s:# type prefix = Ipaddr.V4.Prefix.t
478.127s:# val pp_prefix : prefix Fmt.t
478.127s:# type t
478.127s:# val disconnect : t -> unit Lwt.t
478.127s:# type callback =
478.127s:# src:ipaddr -> dst:ipaddr -> Cstruct.t -> unit Lwt.t
478.127s:# val input :
478.127s:# t ->
478.127s:# tcp:callback ->
478.127s:# udp:callback ->
478.127s:# default:(proto:int -> callback) -> Cstruct.t -> unit Lwt.t
478.127s:# val write :
478.127s:# t ->
478.127s:# ?fragment:bool ->
478.127s:# ?ttl:int ->
478.127s:# ?src:ipaddr ->
478.127s:# ipaddr ->
478.127s:# Tcpip__Ip.proto ->
478.127s:# ?size:int ->
478.127s:# (Cstruct.t -> int) ->
478.127s:# Cstruct.t list -> (unit, error) result Lwt.t
478.127s:# val pseudoheader :
478.127s:# t ->
478.127s:# ?src:ipaddr -> ipaddr -> Tcpip__Ip.proto -> int -> Cstruct.t
478.127s:# val src : t -> dst:ipaddr -> ipaddr
478.127s:# val get_ip : t -> ipaddr list
478.127s:# val configured_ips : t -> prefix list
478.127s:# val mtu : t -> dst:ipaddr -> int
478.127s:# end
478.127s:# Type declarations do not match:
478.127s:# type prefix =
478.127s:# Qubesdb_ipv4.Make(Qubes.DB)(Mirage_crypto_rng_mirage_make__11)(Mclock)(Ethernet_make__14)(Arp_make__15).prefix
478.127s:# is not included in
478.127s:# type prefix = Ipaddr.V4.Prefix.t
478.127s:# The type
478.127s:# Qubesdb_ipv4.Make(Qubes.DB)(Mirage_crypto_rng_mirage_make__11)(Mclock)(Ethernet_make__14)(Arp_make__15).prefix
478.127s:# is not equal to the type Ipaddr.V4.Prefix.t
478.127s:# File "duniverse/mirage-tcpip/src/stack-direct/tcpip_stack_direct.mli", line 18, characters 58-90:
478.127s:# Expected declaration
478.127s:# File "duniverse/mirage-tcpip/src/core/ip.mli", line 31, characters 2-13:
478.127s:# Actual declaration
478.127s:# 2. Module Ipv6_make__17 matches the expected module type
478.127s:# gmake: *** [Makefile:43: build] Error 1
the compilation works, but using it does not: