[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#585459: why: FTBFS with OCaml 3.12 because of changes in Map



Package: src:why
Version: 2.26+dfsg-1
Severity: normal
User: debian-ocaml-maint@lists.debian.org
Usertags: ocaml312-ftbfs
Tags: upstream

Hello,

While rebuilding all packages with a SVN snapshot of OCaml (version
3.12.0+dev26, revision 10544), your package failed to build on amd64.

Revelant part:
Ocamlopt c/cutil.ml
File "c/cutil.ml", line 81, characters 0-576:
Error: Signature mismatch:
       Modules do not match:
         sig
           module M :
             sig
               type key = Int32.t
               type 'a t = 'a Map.Make(Int32).t
               val empty : 'a t
               val is_empty : 'a t -> bool
               val mem : key -> 'a t -> bool
               val add : key -> 'a -> 'a t -> 'a t
               val singleton : key -> 'a -> 'a t
               val remove : key -> 'a t -> 'a t
               val merge :
                 (key -> 'a option -> 'b option -> 'c option) ->
                 'a t -> 'b t -> 'c t
               val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
               val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
               val iter : (key -> 'a -> unit) -> 'a t -> unit
               val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
               val for_all : (key -> 'a -> bool) -> 'a t -> bool
               val exists : (key -> 'a -> bool) -> 'a t -> bool
               val filter : (key -> 'a -> bool) -> 'a t -> 'a t
               val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
               val cardinal : 'a t -> int
               val bindings : 'a t -> (key * 'a) list
               val min_binding : 'a t -> key * 'a
               val max_binding : 'a t -> key * 'a
               val choose : 'a t -> key * 'a
               val split : key -> 'a t -> 'a t * 'a option * 'a t
               val find : key -> 'a t -> 'a
               val map : ('a -> 'b) -> 'a t -> 'b t
               val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
             end
           val to32 : (int -> 'a) -> int32 -> 'a
           type key = int
           type 'a t = 'a M.t
           val empty : 'a M.t
           val is_empty : 'a M.t -> bool
           val add : int -> 'a -> 'a M.t -> 'a M.t
           val find : int -> 'a M.t -> 'a
           val remove : int -> 'a M.t -> 'a M.t
           val mem : int -> 'a M.t -> bool
           val iter : (int -> 'a -> unit) -> 'a M.t -> unit
           val fold : (int -> 'a -> 'b -> 'b) -> 'a M.t -> 'b -> 'b
           val map : ('a -> 'b) -> 'a M.t -> 'b M.t
           val mapi : (int -> 'a -> 'b) -> 'a M.t -> 'b M.t
           val compare : ('a -> 'a -> int) -> 'a M.t -> 'a M.t -> int
           val equal : ('a -> 'a -> bool) -> 'a M.t -> 'a M.t -> bool
         end
       is not included in
         sig
           type key = int
           type +'a t
           val empty : 'a t
           val is_empty : 'a t -> bool
           val mem : key -> 'a t -> bool
           val add : key -> 'a -> 'a t -> 'a t
           val singleton : key -> 'a -> 'a t
           val remove : key -> 'a t -> 'a t
           val merge :
             (key -> 'a option -> 'b option -> 'c option) ->
             'a t -> 'b t -> 'c t
           val compare : ('a -> 'a -> int) -> 'a t -> 'a t -> int
           val equal : ('a -> 'a -> bool) -> 'a t -> 'a t -> bool
           val iter : (key -> 'a -> unit) -> 'a t -> unit
           val fold : (key -> 'a -> 'b -> 'b) -> 'a t -> 'b -> 'b
           val for_all : (key -> 'a -> bool) -> 'a t -> bool
           val exists : (key -> 'a -> bool) -> 'a t -> bool
           val filter : (key -> 'a -> bool) -> 'a t -> 'a t
           val partition : (key -> 'a -> bool) -> 'a t -> 'a t * 'a t
           val cardinal : 'a t -> int
           val bindings : 'a t -> (key * 'a) list
           val min_binding : 'a t -> key * 'a
           val max_binding : 'a t -> key * 'a
           val choose : 'a t -> key * 'a
           val split : key -> 'a t -> 'a t * 'a option * 'a t
           val find : key -> 'a t -> 'a
           val map : ('a -> 'b) -> 'a t -> 'b t
           val mapi : (key -> 'a -> 'b) -> 'a t -> 'b t
         end
       The field `split' is required but not provided
       The field `choose' is required but not provided
       The field `max_binding' is required but not provided
       The field `min_binding' is required but not provided
       The field `bindings' is required but not provided
       The field `cardinal' is required but not provided
       The field `partition' is required but not provided
       The field `filter' is required but not provided
       The field `exists' is required but not provided
       The field `for_all' is required but not provided
       The field `merge' is required but not provided
       The field `singleton' is required but not provided
make[1]: *** [c/cutil.cmx] Error 2

The full build log is available at:


http://ocaml.debian.net/debian/ocaml3120dev26r10544/failures/why_2.26%2Bdfsg-1%2B3.12.0%2Bdev26%2B10544%2B1_amd64.build


Best regards,

--
Stéphane



Reply to: