GTK3: Build failure with rev >= 13221

Bug #1299223 reported by Stefan Husmann
14
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
High
Unassigned

Bug Description

Under Arch Linux x86_64, with enabled gtk3 configure option, I get a bug similar to #1179338. bzr revision 13222-13227.

  CXX ui/dialog/glyphs.o
  CXX ui/dialog/grid-arrange-tab.o
In file included from /usr/include/gtkmm-3.0/gtkmm/bin.h:28:0,
                 from /usr/include/gtkmm-3.0/gtkmm/window.h:31,
                 from /usr/include/gtkmm-3.0/gtkmm/dialog.h:30,
                 from /usr/include/gtkmm-3.0/gtkmm/aboutdialog.h:33,
                 from /usr/include/gtkmm-3.0/gtkmm.h:99,
                 from ./ui/dialog/grid-arrange-tab.h:20,
                 from ui/dialog/grid-arrange-tab.cpp:18:
/usr/include/gtkmm-3.0/gtkmm/container.h:165:15: warning: 'virtual void Gtk::Container::add(Gtk::Widget&)' was hidden [-Woverloaded-virtual]
  virtual void add(Widget& widget);
               ^
In file included from /usr/include/gtkmm-3.0/gtkmm.h:247:0,
                 from ./ui/dialog/grid-arrange-tab.h:20,
                 from ui/dialog/grid-arrange-tab.cpp:18:
/usr/include/gtkmm-3.0/gtkmm/stack.h:137:8: warning: by 'Gtk::Stack::add' [-Woverloaded-virtual]
   void add(Widget& child, const Glib::ustring& name, const Glib::ustring& title);
        ^
  CXX ui/dialog/guides.o
  CXX ui/dialog/icon-preview.o
  CXX ui/dialog/inkscape-preferences.o
  CXX ui/dialog/input.o
  CXX ui/dialog/layer-properties.o
  CXX ui/dialog/layers.o
  CXX ui/dialog/livepatheffect-add.o
  CXX ui/dialog/livepatheffect-editor.o
  CXX ui/dialog/memory.o
  CXX ui/dialog/messages.o
  CXX ui/dialog/new-from-template.o
  CXX ui/dialog/ocaldialogs.o
  CXX ui/dialog/object-attributes.o
  CXX ui/dialog/object-properties.o
  CXX ui/dialog/polar-arrange-tab.o
In file included from /usr/include/glibmm-2.4/glibmm.h:89:0,
                 from /usr/include/gtkmm-3.0/gtkmm.h:87,
                 from ./ui/widget/anchor-selector.h:13,
                 from ./ui/dialog/polar-arrange-tab.h:15,
                 from ui/dialog/polar-arrange-tab.cpp:10:
/usr/include/glibmm-2.4/glibmm/threads.h:201:11: error: field 'gobject_' has incomplete type
   GThread gobject_;
           ^
/usr/include/glibmm-2.4/glibmm/threads.h: In member function 'GThread* Glib::Threads::Thread::gobj()':
/usr/include/glibmm-2.4/glibmm/threads.h:197:41: error: 'gobject_' was not declared in this scope
   GThread* gobj() { return &gobject_; }
                                         ^
/usr/include/glibmm-2.4/glibmm/threads.h: In member function 'const GThread* Glib::Threads::Thread::gobj() const':
/usr/include/glibmm-2.4/glibmm/threads.h:198:41: error: 'gobject_' was not declared in this scope
   const GThread* gobj() const { return &gobject_; }
                                         ^
In file included from /usr/include/gtkmm-3.0/gtkmm/box.h:28:0,
                 from ./ui/dialog/arrange-tab.h:14,
                 from ./ui/dialog/polar-arrange-tab.h:13,
                 from ui/dialog/polar-arrange-tab.cpp:10:
/usr/include/gtkmm-3.0/gtkmm/container.h: At global scope:
/usr/include/gtkmm-3.0/gtkmm/container.h:165:15: warning: 'virtual void Gtk::Container::add(Gtk::Widget&)' was hidden [-Woverloaded-virtual]
  virtual void add(Widget& widget);
               ^
In file included from /usr/include/gtkmm-3.0/gtkmm.h:247:0,
                 from ./ui/widget/anchor-selector.h:13,
                 from ./ui/dialog/polar-arrange-tab.h:15,
                 from ui/dialog/polar-arrange-tab.cpp:10:
/usr/include/gtkmm-3.0/gtkmm/stack.h:137:8: warning: by 'Gtk::Stack::add' [-Woverloaded-virtual]
   void add(Widget& child, const Glib::ustring& name, const Glib::ustring& title);
        ^
Makefile:8031: recipe for target 'ui/dialog/polar-arrange-tab.o' failed
make[3]: *** [ui/dialog/polar-arrange-tab.o] Error 1
make[3]: Leaving directory '/home/haawda/paketierung/maintained_by_me/inkscape-gtk3-bzr/src/inkscape/src'
Makefile:5034: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/haawda/paketierung/maintained_by_me/inkscape-gtk3-bzr/src/inkscape/src'
Makefile:1055: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/haawda/paketierung/maintained_by_me/inkscape-gtk3-bzr/src/inkscape'
Makefile:750: recipe for target 'all' failed
make: *** [all] Error 2

Tags: build gtk3
Revision history for this message
su_v (suv-lp) wrote :

Confirmed (Ubuntu build bots for Saucy and Trusty)

tags: added: build gtk3
Changed in inkscape:
importance: Undecided → High
status: New → Confirmed
Revision history for this message
su_v (suv-lp) wrote :
summary: - Build error similar to #1179338
+ GTK3: Build failure with rev >= 13221
Revision history for this message
su_v (suv-lp) wrote :

Alternative patch (to the one attached on the mailing list), tested with
- GTK+/Quartz 3.6.4, glib2 2.34.3, glibmm 2.32.1(builds without patch too)
- GTK+/X11 3.10.7, glib2 2.38.2, glibmm 2.38.1 (fails without patch)

Revision history for this message
Stefan Husmann (stefan-husmann) wrote :

The alternative patch makes revision 13228 build again under Arch Linux.
Tested with glib2-git-2.39.92.13, gtk 3.10.7, gtkmm 3.10.1, glibmm 2.38.1.

Revision history for this message
Stefan Husmann (stefan-husmann) wrote :

Also works wit glib2 2.38.2, gtk 3.10.7, gtkmm 3.10.1, glibmm 2.38.1.
Thanks for the quick fix.

Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Please can you check r13242? I've applied a similar fix, but higher up in the header inclusion hierarchy so that it should fix anything that includes anchor-selector.h

Changed in inkscape:
status: Confirmed → Triaged
status: Triaged → In Progress
milestone: none → 0.91
Revision history for this message
su_v (suv-lp) wrote :

r13242 compiled successfully with GTK+/Quartz 3.10.7, glib2 2.38.2, glibmm 2.38.1 - thx!

Revision history for this message
su_v (suv-lp) wrote :

r13242 also compiled successfully with
- Gtk+/X11 3.4.4, glib2 2.32.4, glibmm 2.32.1
- GTK+/Quartz 3.6.4, glib2 2.34.3, glibmm 2.34.1

(I don't have a build env with GTK+ 3.8 anymore)

Revision history for this message
su_v (suv-lp) wrote :

Remaining issue with GTK 3.10.7: overloaded-virtual warnings (see attached log).

Revision history for this message
Alex Valavanis (valavanisalex) wrote :

Well, that's an upstream issue: https://bugzilla.gnome.org/show_bug.cgi?id=724732

We don't actually use the new Gtk::Stack widget that causes the problem though (as far as I know). To stop the issue from affecting Inkscape builds, we should probably stop including the full <gtkmm.h> header and only include the specific definitions that we need.

In fact, this is probably good practice anyway because it should massively reduce the size of our inclusions.

Revision history for this message
su_v (suv-lp) wrote :

Closing - the reported failure is fixed, and current trunk as well as the release branch 0.91.x (for 0.91) do build successfully with GTK3, though with a lot of warnings:
<http://thread.gmane.org/gmane.comp.graphics.inkscape.devel/44233>

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

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.