FTBFS with gdl >= 3.6

Bug #1196070 reported by Stefan Husmann on 2013-06-29
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Inkscape
High
Alex Valavanis

Bug Description

I was asked in the comments of https://bugs.launchpad.net/inkscape/+bug/1193841 to open a seperate report for this.
I use Arch Linux 64 bit, glib 2.37.2.8.g69afaf6-1 and gdl 3.8.1

In file included from /usr/include/glib-2.0/gobject/gobject.h:26:0,
                 from /usr/include/glib-2.0/gobject/gbinding.h:31,
                 from /usr/include/glib-2.0/glib-object.h:25,
                 from /usr/include/glibmm-2.4/glibmm/value.h:25,
                 from /usr/include/glibmm-2.4/glibmm/propertyproxy_base.h:25,
                 from /usr/include/glibmm-2.4/glibmm/propertyproxy.h:25,
                 from /usr/include/glibmm-2.4/glibmm/objectbase.h:24,
                 from /usr/include/glibmm-2.4/glibmm/object.h:29,
                 from /usr/include/pangomm-1.4/pangomm/context.h:32,
                 from /usr/include/gtkmm-3.0/gtkmm/widget.h:32,
                 from /usr/include/gtkmm-3.0/gtkmm/container.h:29,
                 from /usr/include/gtkmm-3.0/gtkmm/box.h:28,
                 from ui/widget/dock.h:23,
                 from ui/widget/dock.cpp:13:
ui/widget/dock.cpp: In constructor 'Inkscape::UI::Widget::Dock::Dock(Gtk::Orientation)':
ui/widget/dock.cpp:52:72: error: cannot convert 'GdlDock* {aka _GdlDock*}' to 'GObject* {aka _GObject*}' for argument '1' to 'GtkWidget* gdl_dock_bar_new(GObject*)'
       _gdl_dock_bar (GDL_DOCK_BAR (gdl_dock_bar_new(GDL_DOCK(_gdl_dock)))),
                                                                        ^
/usr/include/glib-2.0/gobject/gtype.h:1735:57: note: in definition of macro '_G_TYPE_CIC'
     ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
                                                         ^
/usr/include/libgdl-3.0/gdl/gdl-dock-bar.h:34:39: note: in expansion of macro 'G_TYPE_CHECK_INSTANCE_CAST'
 #define GDL_DOCK_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDL_TYPE_DOCK_BAR, GdlDockBar))
                                       ^
ui/widget/dock.cpp:52:22: note: in expansion of macro 'GDL_DOCK_BAR'
       _gdl_dock_bar (GDL_DOCK_BAR (gdl_dock_bar_new(GDL_DOCK(_gdl_dock)))),
                      ^
ui/widget/dock.cpp:55:5: warning: 'void gdl_dock_bar_set_orientation(GdlDockBar*, GtkOrientation)' is deprecated (declared at /usr/include/libgdl-3.0/gdl/gdl-dock-bar.h:86): Use gtk_orientable_set_orientation in
stead [-Wdeprecated-declarations]
     gdl_dock_bar_set_orientation(_gdl_dock_bar, static_cast<GtkOrientation>(orientation));
     ^
ui/widget/dock.cpp:55:89: warning: 'void gdl_dock_bar_set_orientation(GdlDockBar*, GtkOrientation)' is deprecated (declared at /usr/include/libgdl-3.0/gdl/gdl-dock-bar.h:86): Use gtk_orientable_set_orientation i
nstead [-Wdeprecated-declarations]
     gdl_dock_bar_set_orientation(_gdl_dock_bar, static_cast<GtkOrientation>(orientation));
                                                                                         ^
make[3]: *** [ui/widget/dock.o] Error 1
make[3]: Leaving directory `/home/haawda/paketierung/maintained_by_me/inkscape-gtk3-bzr/src/inkscape/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/haawda/paketierung/maintained_by_me/inkscape-gtk3-bzr/src/inkscape/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/haawda/paketierung/maintained_by_me/inkscape-gtk3-bzr/src/inkscape'
make: *** [all] Error 2

su_v (suv-lp) on 2013-06-29
tags: added: build gtk3
su_v (suv-lp) wrote :

Build failure reproduced on OS X 10.7.5 since r12355 with
- GTK+/Quartz 3.6.4, gdl 3.6.2, glib 2.34.3
- GTK+/X11 3.8.2, gdl 3.8.1, glib 2.36.3
- GTK+/Quartz 3.8.2, gdl 3.8.1, glib 2.36.3

Building (tested up to r12395) still succeeds with older versions:
- GTK+/X11 3.4.4, gdl 3.4.2, glib 2.32.4

Changed in inkscape:
importance: Undecided → High
status: New → Confirmed
su_v (suv-lp) wrote :

- GTK+/Quartz 3.6.4, gdl 3.6.2, glib 2.34.3:
compiler: i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.9.00)

  CXX ui/widget/dock.o
../../src/ui/widget/dock.cpp: In constructor ‘Inkscape::UI::Widget::Dock::Dock(Gtk::Orientation)’:
../../src/ui/widget/dock.cpp:52: error: cannot convert ‘GdlDock*’ to ‘GObject*’ for argument ‘1’ to ‘GtkWidget* gdl_dock_bar_new(GObject*)’
../../src/ui/widget/dock.cpp:55: warning: ‘gdl_dock_bar_set_orientation’ is deprecated (declared at /Volumes/cyan/mp-quartz/with-a-long-long-long-directory-name/include/libgdl-3.0/gdl/gdl-dock-bar.h:87)
../../src/ui/widget/dock.cpp:55: warning: ‘gdl_dock_bar_set_orientation’ is deprecated (declared at /Volumes/cyan/mp-quartz/with-a-long-long-long-directory-name/include/libgdl-3.0/gdl/gdl-dock-bar.h:87)
make[3]: *** [ui/widget/dock.o] Error 1
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

- GTK+/Quartz 3.8.2, gdl 3.8.1, glib 2.36.3:
compiler: Apple clang version 3.1 (tags/Apple/clang-318.0.58) (based on LLVM 3.1svn)

  CXX ui/widget/dock.o
../../src/ui/widget/dock.cpp:52:36: error: no matching function for call to 'gdl_dock_bar_new'
      _gdl_dock_bar (GDL_DOCK_BAR (gdl_dock_bar_new(GDL_DOCK(_gdl_dock)))),
                     ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Volumes/magenta/mp-trunk/quartz/include/libgdl-3.0/gdl/gdl-dock-bar.h:34:68: note: expanded from macro 'GDL_DOCK_BAR'
#define GDL_DOCK_BAR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GDL_TYPE_DOCK_BAR, GdlDockBar))
                                                                   ^
/Volumes/magenta/mp-trunk/quartz/include/glib-2.0/gobject/gtype.h:481:80: note: expanded from macro 'G_TYPE_CHECK_INSTANCE_CAST'
#define G_TYPE_CHECK_INSTANCE_CAST(instance, g_type, c_type) (_G_TYPE_CIC ((instance), (g_type), c_type))
                                                                               ^
/Volumes/magenta/mp-trunk/quartz/include/glib-2.0/gobject/gtype.h:1733:57: note: expanded from macro '_G_TYPE_CIC'
    ((ct*) g_type_check_instance_cast ((GTypeInstance*) ip, gt))
                                                        ^~
/Volumes/magenta/mp-trunk/quartz/include/libgdl-3.0/gdl/gdl-dock-bar.h:78:17: note: candidate function not viable: no known conversion from 'GdlDock *' (aka '_GdlDock *') to 'GObject *' (aka '_GObject *') for 1st argument;
GtkWidget *gdl_dock_bar_new (GObject *master);
                ^
../../src/ui/widget/dock.cpp:55:5: warning: 'gdl_dock_bar_set_orientation' is deprecated [-Wdeprecated-declarations]
    gdl_dock_bar_set_orientation(_gdl_dock_bar, static_cast<GtkOrientation>(orientation));
    ^
1 warning and 1 error generated.
make[3]: *** [ui/widget/dock.o] Error 1
make[3]: *** Waiting for unfinished jobs....
make[2]: *** [all] Error 2
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

Alex Valavanis (valavanisalex) wrote :

This looks like it's caused by the recent API change in GDL 3.6 [1] rather than anything we've done in Inkscape. It should be a pretty easy fix. Looking into it now.

[1] https://git.gnome.org/browse/gdl/commit/?id=4ed3a2d82eba460c96779703470a1c0b2da5f726

summary: - Build error caused by changes to fix bug #1179338 in gtk3-build
+ FTBFS with gdl >= 3.6
Changed in inkscape:
assignee: nobody → Alex Valavanis (valavanisalex)
status: Confirmed → In Progress
Alex Valavanis (valavanisalex) wrote :

...and here's a patch. I'm not on my normal development system, so I can't do complete testing right now. It needs to be checked for

(a) Gtk+ 3 build with GDL >= 3.6
(b) Gtk+ 3 build with GDL between 3.34 and 3.6
(c) Gtk+ 2 build (using internal GDL fork)

Stefan Husmann (stefan-husmann) wrote :

There was a typo in the patch, a missing underscore charakter. I attached the corrcted patch. It works for case a) and c), if WITH_EXT_GDL_FALSE='' in the config.og indicates that the internal GDL fork was taken..

su_v (suv-lp) wrote :

Alex Valavanis (valavanisalex) wrote:
> ...and here's a patch. (…) It needs to be checked for

Testing on OS X 10.7.5 with Stefan's version of the patch (comment #5) applied to trunk @rev 12405:

> (a) Gtk+ 3 build with GDL >= 3.6

Builds succeed with
- GTK+/Quartz 3.6.4, gdl 3.6.2, glib 2.34.3
- GTK+/X11 3.8.2, gdl 3.8.1, glib 2.36.3
- GTK+/Quartz 3.8.2, gdl 3.8.1, glib 2.36.3

> (b) Gtk+ 3 build with GDL between 3.34 and 3.6

Build succeeds with:
 - GTK+/X11 3.4.4, gdl 3.4.2, glib 2.32.4

> (c) Gtk+ 2 build (using internal GDL fork)

Build succeeds with:
- GTK+/X11 2.24.13, gtkmm 2.24.2, glib 2.32.4, glibmm 2.32.1
- GTK+/Quartz 2.24.17, gtkmm 2.24.2, glib 2.34.3, glibmm 2.34.1
- GTK+/X11 2.24.19, gtkmm 2.24.4, glib 2.36.3, glibmm 2.36.2
- GTK+/Quartz 2.24.19, gtkmm 2.24.4, glib 2.36.3, glibmm 2.36.2

Alex Valavanis (valavanisalex) wrote :

Thanks for testing. Fixed in lp:inkscape r12407

Changed in inkscape:
status: In Progress → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers