inkscape dev version compile error

Bug #1360331 reported by Sam Petrocelli
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
New
Undecided
Unassigned

Bug Description

Running fedora 19, up-to-date.

Output from configure:

        Source code location: .
        Destination path prefix: /usr/local
        Compiler: g++
        CPPFLAGS: -DG_DISABLE_DEPRECATED -DGLIBMM_DISABLE_DEPRECATED -DGDKMM_DISABLE_DEPRECATED -DGTK_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_DEPRECATED -DGTKMM_DISABLE_DEPRECATED -Werror=format-security -Wswitch -Werror=return-type -DGSEAL_ENABLE -DG_DISABLE_SINGLE_INCLUDES -Wall -Wformat -Wformat-security -W -D_FORTIFY_SOURCE=2
        CXXFLAGS: -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch -Wno-unused-parameter -g -O2 -fopenmp
        CFLAGS: -Wno-pointer-sign -g -O2
        LDFLAGS: -Wl,-z,relro

        Use gnome-vfs: yes
        Use openoffice files: yes
        Use relocation support: no
        Enable LittleCms: yes
        Enable DBUS: no
        Enable Poppler-Cairo: yes
        ImageMagick Magick++: yes
        Libwpg: yes
        Libvisio: yes
        Libcdr: yes
        Doing Local Install: no

These are versions of some possible culprits:

gcc (GCC) 4.8.3 20140624 (Red Hat 4.8.3-1)
glibmm24-devel - Version 2.36.2
gsl-devel - Version 1.15
gtkmm24-devel - Version 2.24.2

I get the following error during compilation:

make all-recursive
make[1]: Entering directory `/usr/local/src/inkscape'
Making all in src
make[2]: Entering directory `/usr/local/src/inkscape/src'
make all-am
make[3]: Entering directory `/usr/local/src/inkscape/src'
  AR libcroco/libcroco.a
  AR libavoid/libavoid.a
  AR libgdl/libgdl.a
  AR libuemf/libuemf.a
  AR libcola/libcola.a
  AR libvpsc/libvpsc.a
  AR livarot/libvarot.a
  AR 2geom/lib2geom.a
  AR libdepixelize/libdepixelize.a
  AR libinkversion.a
  CXX extension/init.o
In file included from extension/internal/vsd-input.h:23:0,
                 from extension/init.cpp:56:
/usr/include/glibmm-2.4/glibmm/threads.h:203: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:199: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:200:41: error: ‘gobject_’ was not declared in this scope
   const GThread* gobj() const { return &gobject_; }
                                         ^
In file included from /usr/include/gtkmm-2.4/gtkmm/dialog.h:30:0,
                 from extension/internal/vsd-input.h:26,
                 from extension/init.cpp:56:
/usr/include/gtkmm-2.4/gtkmm/box.h: At global scope:
/usr/include/gtkmm-2.4/gtkmm/box.h:105:1: error: expected class-name before ‘{’ token
 {
 ^
/usr/include/gtkmm-2.4/gtkmm/box.h:112:10: error: ‘_GtkBoxChild’ does not name a type
   inline _GtkBoxChild* gobj() { return this; }
          ^
/usr/include/gtkmm-2.4/gtkmm/box.h:114:16: error: ‘_GtkBoxChild’ does not name a type
   inline const _GtkBoxChild* gobj() const { return this; }
                ^
/usr/include/gtkmm-2.4/gtkmm/box.h: In member function ‘guint16 Gtk::Box_Helpers::Child::get_padding() const’:
/usr/include/gtkmm-2.4/gtkmm/box.h:118:55: error: ‘gobj’ was not declared in this scope
   inline guint16 get_padding() const { return (gobj()->padding); }
                                                       ^
/usr/include/gtkmm-2.4/gtkmm/box.h: In member function ‘bool Gtk::Box_Helpers::Child::get_expand() const’:
/usr/include/gtkmm-2.4/gtkmm/box.h:119:55: error: ‘gobj’ was not declared in this scope
   inline bool get_expand() const { return (gobj()->expand); }
                                                       ^
/usr/include/gtkmm-2.4/gtkmm/box.h: In member function ‘bool Gtk::Box_Helpers::Child::get_fill() const’:
/usr/include/gtkmm-2.4/gtkmm/box.h:120:55: error: ‘gobj’ was not declared in this scope
   inline bool get_fill() const { return (gobj()->fill); }
                                                       ^
/usr/include/gtkmm-2.4/gtkmm/box.h: In member function ‘bool Gtk::Box_Helpers::Child::get_pack() const’:
/usr/include/gtkmm-2.4/gtkmm/box.h:121:55: error: ‘gobj’ was not declared in this scope
   inline bool get_pack() const { return (gobj()->pack); }
                                                       ^
/usr/include/gtkmm-2.4/gtkmm/box.h: In member function ‘GtkBox* Gtk::Box_Helpers::Child::parent()’:
/usr/include/gtkmm-2.4/gtkmm/box.h:130:52: error: ‘gobj’ was not declared in this scope
     { return (GtkBox*) (gtk_widget_get_parent(gobj()->widget)); }
                                                    ^
make[3]: *** [extension/init.o] Error 1
make[3]: Leaving directory `/usr/local/src/inkscape/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/local/src/inkscape/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/inkscape'
make: *** [all] Error 2

Revision history for this message
Liam P. White (liampwhite) wrote :

This is because the glibmm devs apparently do not understand that G_DISABLE_DEPRECATED means that you cannot use anything deprecated.

If you really need it to compile, remove G_DISABLE_DEPRECATED from the Makefile.

Proposing to link as duplicate to bug #1122774 "Build failure (trunk) on Ubuntu Raring and Fedora 18".

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

I haven't tried it, but we could probably get rid of all these annoying errors by replacing all inclusions of glib.h, gtk.h etc with their C++ equivalents. Ultimately, I guess we'll want to do that anyway as part of the C++ification drive.

su_v (suv-lp)
tags: added: build code-design
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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