Bug#585455: lablgtk2: FTBFS with OCaml 3.12 because of bugfix in typechecking of inheritance
Package: src:lablgtk2
Version: 2.14.0+dfsg-2
Severity: normal
User: debian-ocaml-maint@lists.debian.org
Usertags: ocaml312-ftbfs
Tags: fixed-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:
ocamlc -I +lablGL -w s -c gButton.ml
File "gButton.ml", line 1, characters 0-1:
Error: The implementation gButton.ml
does not match the interface gButton.cmi:
Class declarations do not match:
class tool_item :
([> Gtk.tool_item ] as 'a) Gtk.obj ->
object
val obj : 'a Gtk.obj
method add : GObj.widget -> unit
method all_children : GObj.widget list
method as_tool_item : Gtk.tool_item Gtk.obj
method as_widget : Gtk.widget Gtk.obj
method border_width : int
method child : GObj.widget
method children : GObj.widget list
method coerce : GObj.widget
method connect : GContainer.container_signals_impl
method destroy : unit -> unit
method drag : GObj.drag_ops
method focus : GContainer.focus
method get_expand : bool
method get_homogeneous : bool
method get_oid : int
method get_use_drag_window : bool
method is_important : bool
method misc : GObj.misc_ops
method remove : GObj.widget -> unit
method resize_mode : Gtk.Tags.resize_mode
method set_border_width : int -> unit
method set_expand : bool -> unit
method set_homogeneous : bool -> unit
method set_is_important : bool -> unit
method set_resize_mode : Gtk.Tags.resize_mode -> unit
method set_tooltip : GData.tooltips -> string -> string -> unit
method set_use_drag_window : bool -> unit
method set_visible_horizontal : bool -> unit
method set_visible_vertical : bool -> unit
method visible_horizontal : bool
method visible_vertical : bool
end
does not match
class tool_item :
[> Gtk.tool_item ] Gtk.obj ->
object
val obj : [> Gtk.tool_item ] Gtk.obj
method add : GObj.widget -> unit
method all_children : GObj.widget list
method as_tool_item : Gtk.tool_item Gtk.obj
method as_widget : Gtk.widget Gtk.obj
method border_width : int
method child : GObj.widget
method children : GObj.widget list
method coerce : GObj.widget
method connect : GContainer.container_signals
method destroy : unit -> unit
method drag : GObj.drag_ops
method focus : GContainer.focus
method get_expand : bool
method get_homogeneous : bool
method get_oid : int
method get_use_drag_window : bool
method is_important : bool
method misc : GObj.misc_ops
method remove : GObj.widget -> unit
method resize_mode : Gtk.Tags.resize_mode
method set_border_width : int -> unit
method set_expand : bool -> unit
method set_homogeneous : bool -> unit
method set_is_important : bool -> unit
method set_resize_mode : Gtk.Tags.resize_mode -> unit
method set_tooltip : GData.tooltips -> string -> string -> unit
method set_use_drag_window : bool -> unit
method set_visible_horizontal : bool -> unit
method set_visible_vertical : bool -> unit
method visible_horizontal : bool
method visible_vertical : bool
end
The instance variable obj has type
([> Gtk.tool_item ] as 'a) Gtk.obj = 'a Gobject.obj
but is expected to have type
([> Gtk.tool_item ] as 'b) Gtk.obj = 'b Gobject.obj
Type 'a = [> `bin | `container | `gtk | `toolitem | `widget ]
is not compatible with type
'b = [> `bin | `container | `gtk | `toolitem | `widget ]
make[3]: *** [gButton.cmo] Error 2
make[3]: Leaving directory `/tmp/lablgtk2-2.14.0+dfsg/src'
make[2]: *** [all] Error 2
The full build log is available at:
http://ocaml.debian.net/debian/ocaml3120dev26r10544/failures/lablgtk2_2.14.0%2Bdfsg-2%2B3.12.0%2Bdev26%2B10544%2B1_amd64.build
Best regards,
--
Stéphane
Reply to: