Bug #52406 gtkmm dependency for mysql-workbench 5.2.16 is too low
Submitted: 27 Mar 2010 8:22 Modified: 19 Apr 2010 12:20
Reporter: Hans de Graaff Email Updates:
Status: Closed Impact on me:
None 
Category:MySQL Workbench Severity:S3 (Non-critical)
Version:5.2.16 OS:Any
Assigned to: Maksym Yehorov CPU Architecture:Any
Tags: dependencies, gtkmm

[27 Mar 2010 8:22] Hans de Graaff
Description:
The current dependency listed for gtkmm is 2.4 (in configure.in). However, mysql-workbench uses features introduced in later versions. Specifically it uses Gtk::IconView::set_cursor, which, according to the gtkmm ChangeLog only got introduced in gtkmm-2.14.

See https://bugs.gentoo.org/show_bug.cgi?id=311421 for reference.

How to repeat:
Install any gtkmm version before gtkmm 2.14.
Compile.

Suggested fix:
--- configure.in.~1~	2010-02-16 20:30:19.000000000 +0100
+++ configure.in	2010-03-27 09:21:51.675093021 +0100
@@ -129,7 +129,7 @@
 AC_SUBST(GNOME_KEYRING_CFLAGS)
 AC_SUBST(GNOME_KEYRING_LIBS)
 
-PKG_CHECK_MODULES(GNOME, [libglade-2.0 gtkmm-2.4])
+PKG_CHECK_MODULES(GNOME, [libglade-2.0 gtkmm-2.14])
 
 # libgnome-2.0 is optional (used for opening URLs etc)
 PKG_CHECK_MODULES(LIBGNOME, [libgnome-2.0], [AC_DEFINE_UNQUOTED(HAVE_LIBGNOME, 1, "Have libgnome-2.0 library")], [])
[6 Apr 2010 14:56] Maksym Yehorov
Gtk::IconView::set_cursor is available since 2.8, according to docs:
http://library.gnome.org/devel/gtkmm/stable/classGtk_1_1IconView.html#ab12050929b15211835f...

In gtk+ it is available in older versions. So we use C API gtk_icon_view_set_cursor when gtkmm does not support Gtk::IconView::set_cursor
[6 Apr 2010 15:05] Maksym Yehorov
As for the line:
PKG_CHECK_MODULES(GNOME, [libglade-2.0 gtkmm-2.4])

gtkmm-2.4 specifies name of the package, version check should look like:
PKG_CHECK_MODULES(GNOME, [libglade-2.0 gtkmm-2.4 >= 2.8])
[7 Apr 2010 6:30] Hans de Graaff
I don't think that requiring gtkmm 2.8 or better is going to be enough. The NEWS file for gtkmm has the following entry:

2.12.2:

* IconView: set_cursor(): Actually implement this.
  (Murray Cumming)

The "Actually" might imply that the documentation is not correct. Furthermore, the user in the Gentoo bug I referenced tried to compile against gtkmm 2.12.1 and failed. That seems to match the NEWS entry.
[16 Apr 2010 16:07] Johannes Taxacher
this has been fixed on source code level so no further changes to configure.in should be needed
[19 Apr 2010 12:20] Tony Bedford
An entry has been added to the 5.2.19 changelog:

MySQL Workbench listed gtkmm 2.4 as a dependency in configure.in. However, it used features only available in later versions of this library.