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

Bug#580087: FTBFS with OCaml 3.12: compiler version not recognized



retitle 580087 mldonkey: FTBFS with OCaml 3.12: unrecognized OCaml version, bugfix in inheritance typechecking
tags 580087 - pending
thanks

Le 03/05/2010 16:49, Stéphane Glondu a écrit :
While rebuilding all packages with a SVN snapshot of OCaml (version
3.12.0+dev17, revision 10268), your package failed to build on amd64.
[...]

After fixing the configure script, mldonkey now FTBFS with OCaml (version 3.12.0+dev26, revision 10544), with the following error:
ocamlopt -inline 10    -I src/utils/cdk  -I src/utils/lib  -I src/utils/ocamlrss  -I src/utils/xml-light  -I src/utils/net  -I tools  -I src/daemon/common  -I src/daemon/driver  -I src/utils/mp3tagui  -I src/config/unix  -I src/gtk2/gui  -I src/gtk2/gui/x11  -I src/gtk2/gui/win32  -I icons/rsvg  -I +lablgtk2  -I src/networks/direct_connect  -I src/networks/fileTP  -I src/networks/bittorrent  -I src/networks/donkey -c src/gtk2/gui/guiTools.ml
File "src/gtk2/gui/guiTools.ml", line 1, characters 0-1:
Error: The implementation src/gtk2/gui/guiTools.ml
       does not match the interface src/gtk2/gui/guiTools.cmi:
       Class declarations do not match:
         class tool_bar :
           ([> Gtk.box ] as 'a) Gtk.obj ->
           object
             val mutable bb_children : b_children list
             val obj : 'a Gtk.obj
             method add : GObj.widget -> unit
             method add_button :
               style:Gtk.Tags.toolbar_style ->
               ?markup:string ->
               ?icon:GdkPixbuf.pixbuf ->
               ?f:(unit -> unit) -> unit -> GButton.button
             method add_toggle_button :
               style:Gtk.Tags.toolbar_style ->
               ?markup:string ->
               ?icon:GdkPixbuf.pixbuf ->
               ?f:(unit -> unit) -> unit -> GButton.toggle_button
             method all_children : GObj.widget list
             method as_widget : Gtk.widget Gtk.obj
             method border_width : int
             method children : GObj.widget list
             method coerce : GObj.widget
             method connect : GContainer.container_signals
             method destroy : unit -> unit
             method drag : GObj.drag_ops
             method empty : unit -> unit
             method focus : GContainer.focus
             method get_oid : int
             method homogeneous : bool
             method misc : GObj.misc_ops
             method pack :
               ?from:Gtk.Tags.pack_type ->
               ?expand:bool ->
               ?fill:bool -> ?padding:int -> GObj.widget -> unit
             method remove : GObj.widget -> unit
             method reorder_child : GObj.widget -> pos:int -> unit
             method resize_mode : Gtk.Tags.resize_mode
             method set_border_width : int -> unit
             method set_child_packing :
               ?from:Gtk.Tags.pack_type ->
               ?expand:bool ->
               ?fill:bool -> ?padding:int -> GObj.widget -> unit
             method set_homogeneous : bool -> unit
             method set_resize_mode : Gtk.Tags.resize_mode -> unit
             method set_spacing : int -> unit
             method spacing : int
           end
       does not match
         class tool_bar :
           [> Gtk.box ] Gtk.obj ->
           object
             val mutable bb_children : b_children list
             val obj : [> Gtk.box ] Gtk.obj
             method add : GObj.widget -> unit
             method add_button :
               style:Gtk.Tags.toolbar_style ->
               ?markup:string ->
               ?icon:GdkPixbuf.pixbuf ->
               ?f:(unit -> unit) -> unit -> GButton.button
             method add_toggle_button :
               style:Gtk.Tags.toolbar_style ->
               ?markup:string ->
               ?icon:GdkPixbuf.pixbuf ->
               ?f:(unit -> unit) -> unit -> GButton.toggle_button
             method all_children : GObj.widget list
             method as_widget : Gtk.widget Gtk.obj
             method border_width : int
             method children : GObj.widget list
             method coerce : GObj.widget
             method connect : GContainer.container_signals
             method destroy : unit -> unit
             method drag : GObj.drag_ops
             method empty : unit -> unit
             method focus : GContainer.focus
             method get_oid : int
             method homogeneous : bool
             method misc : GObj.misc_ops
             method pack :
               ?from:Gtk.Tags.pack_type ->
               ?expand:bool ->
               ?fill:bool -> ?padding:int -> GObj.widget -> unit
             method remove : GObj.widget -> unit
             method reorder_child : GObj.widget -> pos:int -> unit
             method resize_mode : Gtk.Tags.resize_mode
             method set_border_width : int -> unit
             method set_child_packing :
               ?from:Gtk.Tags.pack_type ->
               ?expand:bool ->
               ?fill:bool -> ?padding:int -> GObj.widget -> unit
             method set_homogeneous : bool -> unit
             method set_resize_mode : Gtk.Tags.resize_mode -> unit
             method set_spacing : int -> unit
             method spacing : int
           end
       The instance variable obj has type
         ([> Gtk.box ] as 'a) Gtk.obj = 'a Gobject.obj
       but is expected to have type
         ([> Gtk.box ] as 'b) Gtk.obj = 'b Gobject.obj
       Type 'a = [> `box | `container | `gtk | `widget ]
       is not compatible with type
         'b = [> `box | `container | `gtk | `widget ]
make[2]: *** [src/gtk2/gui/guiTools.cmx] Error 2

The full build log is available at:


http://ocaml.debian.net/debian/ocaml3120dev26r10544/failures/mldonkey_3.0.1-2_amd64.build


Best regards,

--
Stéphane



Reply to: