Bug#895134: libwx-scintilla-perl: needs tighter dependency on Wx build?

Niko Tyni ntyni at debian.org
Sat Apr 7 14:20:48 BST 2018


Package: libwx-scintilla-perl
Version: 0.39-3
Severity: serious
Tags: sid buster
User: debian-perl at lists.debian.org
Usertags: autopkgtest
X-Debbugs-Cc: Olly Betts <olly at survex.com>
Control: block 894663 with -1

We're in the middle of wxwidgets3.0 related packages transitioning from
gtk2 to gtk3 (see #894663), and it looks like the current dependency
metadata doesn't prevent some problematic combinations of partial
upgrades on the Perl bindings (libwx-perl rdeps) side.

As seen at https://ci.debian.net/packages/libw/libwx-scintilla-perl/unstable/amd64/,
libwx-scintilla-perl_0.39-3+b2 (old binary built against wxwidgets /
gtk2) breaks when libwx-perl is a gtk3 build (currently at 1:0.9932-3).
Manually running t/03_editor_child.t in libwx-scintilla-perl shows
some GTK warnings and a hang:

  # xvfb-run prove t/03_editor_child.t
  t/03_editor_child.t .. 
  (03_editor_child.t:3955): GLib-GObject-WARNING **: 13:02:34.625: cannot register existing type 'GtkWidget'
  
  (03_editor_child.t:3955): GLib-GObject-CRITICAL **: 13:02:34.625: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
  
  (03_editor_child.t:3955): GLib-GObject-WARNING **: 13:02:34.625: cannot register existing type 'GtkBuildable'
  
  (03_editor_child.t:3955): GLib-GObject-CRITICAL **: 13:02:34.625: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed
  
  (03_editor_child.t:3955): GLib-CRITICAL **: 13:02:34.625: g_once_init_leave: assertion 'result != 0' failed
  
  (03_editor_child.t:3955): GLib-GObject-CRITICAL **: 13:02:34.625: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
  
  (03_editor_child.t:3955): GLib-GObject-WARNING **: 13:02:34.625: cannot register existing type 'GtkWidget'
  
  (03_editor_child.t:3955): GLib-GObject-CRITICAL **: 13:02:34.625: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
  
This works fine again with libwx-scintilla-perl_0.39-4, which is built
against GTK3.

So to do this properly it looks like we need something to make
sure the Perl Wx related packages are upgraded in sync. The
virtual package provided by libalien-wxwidgets-perl (currently
wxperl-gtk-3-0-4-uni-gcc-3-4) seems like a candidate, but I don't have
a ready recipe for injecting that.

It seems probable that other packages (libwx-glcanvas-perl?) are
similarly affected, but I haven't looked into that.

Olly, explicitly copying you as you're handling this transition (thanks
for that!). Any thoughts on this?

Setting severity to RC initially and marking as a transition blocker,
but others should feel free to adjust as appropriate.
-- 
Niko Tyni   ntyni at debian.org



More information about the pkg-perl-maintainers mailing list