[MacPorts] #52248: inkscape fails to build due to glibmm inlining, regression caused by glib2 changes

MacPorts noreply at macports.org
Wed Sep 14 19:37:10 CEST 2016


#52248: inkscape fails to build due to glibmm inlining, regression caused by glib2
changes
------------------------------------+----------------------
  Reporter:  jeremyhu@…             |      Owner:  devans@…
      Type:  defect                 |     Status:  assigned
  Priority:  Normal                 |  Milestone:
 Component:  ports                  |    Version:  2.3.4
Resolution:                         |   Keywords:
      Port:  glib2 glibmm inkscape  |
------------------------------------+----------------------

Old description:

> Updating to glib2-2.48.2 caused inkscape (or any project that uses parts
> of glibmm) to fail to build because gthread.h now obfuscates struct
> _GThread.
>
> {{{
> In file included from ui/dialog/new-from-template.cpp:12:
> In file included from ui/dialog/new-from-template.h:14:
> In file included from /opt/local/include/gtkmm-2.4/gtkmm/dialog.h:31:
> In file included from /opt/local/include/gtkmm-2.4/gtkmm/box.h:59:
> In file included from /opt/local/include/gtkmm-2.4/gtkmm/container.h:30:
> In file included from /opt/local/include/gtkmm-2.4/gtkmm/widget.h:48:
> In file included from /opt/local/include/gtkmm-2.4/gtkmm/rc.h:31:
> In file included from /opt/local/include/gtkmm-2.4/gtkmm/style.h:46:
> In file included from /opt/local/include/gtkmm-2.4/gtkmm/iconset.h:35:
> In file included from /opt/local/include/gtkmm-2.4/gtkmm/stockid.h:26:
> In file included from /opt/local/include/glibmm-2.4/glibmm.h:89:
> /opt/local/include/glibmm-2.4/glibmm/threads.h:209:11: error: field has
> incomplete type 'GThread' (aka '_GThread')
>   GThread gobject_;
>           ^
> /opt/local/include/glib-2.0/glib/gthread.h:49:16: note: forward
> declaration of '_GThread'
> typedef struct _GThread         GThread;
>                ^
> 1 error generated.
> }}}

New description:

 Updating to glib2-2.48.2 caused inkscape (or any project that uses parts
 of glibmm) to fail to build because gthread.h now obfuscates struct
 _GThread.

 {{{
         /usr/bin/clang++ -DHAVE_CONFIG_H -I. -I..  -I../cxxtest
 -I./extension/dbus -I/opt/local/include -I/opt/local/include/freetype2
 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
 -DMAGICKCORE_HDRI_ENABLE=0 -DMAGICKCORE_QUANTUM_DEPTH=16
 -I/opt/local/include/ImageMagick-6 -I/opt/local/include/libwpg-0.3
 -I/opt/local/include/libwpd-0.10 -I/opt/local/include/librevenge-0.0
 -I/opt/local/include/libvisio-0.1 -I/opt/local/include
 -I/opt/local/include/libxml2 -I/opt/local/include
 -I/opt/local/include/librevenge-0.0 -I/opt/local/include/libcdr-0.1
 -I/opt/local/include -I/opt/local/include/librevenge-0.0
 -I/opt/local/include/dbus-1.0 -I/opt/local/lib/dbus-1.0/include
 -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include
 -I/opt/local/include    -I/opt/local/include/poppler -D_REENTRANT
 -I/opt/local/include/poppler/glib -I/opt/local/include/poppler
 -I/opt/local/include/cairo -I/opt/local/include/glib-2.0
 -I/opt/local/lib/glib-2.0/include -I/opt/local/include
 -I/opt/local/include/pixman-1 -I/opt/local/include
 -I/opt/local/include/freetype2 -I/opt/local/include
 -I/opt/local/include/libpng16 -I/opt/local/include
 -I/opt/local/include/freetype2 -I/opt/local/include
 -I/opt/local/include/libpng16 -I/opt/local/include -DPOTRACE=\"potrace\"
 -D_REENTRANT -I/opt/local/include/gtkspell-2.0
 -I/opt/local/include/gtkmm-2.4 -I/opt/local/lib/gtkmm-2.4/include
 -I/opt/local/include/atkmm-1.6 -I/opt/local/include/gtk-unix-print-2.0
 -I/opt/local/include/gtk-2.0 -I/opt/local/include/gdkmm-2.4
 -I/opt/local/lib/gdkmm-2.4/include -I/opt/local/include/giomm-2.4
 -I/opt/local/lib/giomm-2.4/include -I/opt/local/include/pangomm-1.4
 -I/opt/local/lib/pangomm-1.4/include -I/opt/local/include/glibmm-2.4
 -I/opt/local/lib/glibmm-2.4/include -I/opt/local/include/cairomm-1.0
 -I/opt/local/lib/cairomm-1.0/include -I/opt/local/include/sigc++-2.0
 -I/opt/local/lib/sigc++-2.0/include -I/opt/local/include/gtk-2.0
 -I/opt/local/lib/gtk-2.0/include -I/opt/local/include/pango-1.0
 -I/opt/local/include/gio-unix-2.0/ -I/opt/local/include
 -I/opt/local/include/cairo -I/opt/local/include/atk-1.0
 -I/opt/local/include/cairo -I/opt/local/include/pixman-1
 -I/opt/local/include -I/opt/local/include/gdk-pixbuf-2.0
 -I/opt/local/include/libpng16 -I/opt/local/include/pango-1.0
 -I/opt/local/include/harfbuzz -I/opt/local/include
 -I/opt/local/include/pango-1.0 -I/opt/local/include/glib-2.0
 -I/opt/local/lib/glib-2.0/include -I/opt/local/include
 -I/opt/local/include/freetype2 -I/opt/local/include
 -I/opt/local/include/libpng16 -I/opt/local/include
 -I/opt/local/include/freetype2 -I/opt/local/include
 -I/opt/local/include/libpng16 -D_REENTRANT -I/opt/local/include
 -I/opt/local/include/cairomm-1.0 -I/opt/local/lib/cairomm-1.0/include
 -I/opt/local/include/cairo -I/opt/local/include/pixman-1
 -I/opt/local/include -I/opt/local/include/giomm-2.4
 -I/opt/local/lib/giomm-2.4/include -I/opt/local/include/glibmm-2.4
 -I/opt/local/lib/glibmm-2.4/include -I/opt/local/include
 -I/opt/local/include/libxml2 -I/opt/local/include/pango-1.0
 -I/opt/local/include/harfbuzz -I/opt/local/include
 -I/opt/local/include/pango-1.0 -I/opt/local/include/glib-2.0
 -I/opt/local/lib/glib-2.0/include -I/opt/local/include
 -I/opt/local/include/freetype2 -I/opt/local/include
 -I/opt/local/include/libpng16 -I/opt/local/include
 -I/opt/local/include/freetype2 -I/opt/local/include
 -I/opt/local/include/libpng16 -I/opt/local/include/sigc++-2.0
 -I/opt/local/lib/sigc++-2.0/include  -I/opt/local/include
 -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 -I/opt/local/include
 -I/opt/local/var/macports/build/_Users_jeremy_src_macports_trunk_dports_graphics_inkscape/inkscape/work/inkscape-0.91/src/extension/script
 -Wpointer-arith -Wcast-align -Wsign-compare -Woverloaded-virtual -Wswitch
 -Wno-unused-parameter -pipe -Os -std=c++11 -stdlib=libc++ -arch x86_64 -MT
 ui/dialog/spellcheck.o -MD -MP -MF $depbase.Tpo -c -o
 ui/dialog/spellcheck.o ui/dialog/spellcheck.cpp &&\
         mv -f $depbase.Tpo $depbase.Po
 In file included from ui/dialog/new-from-template.cpp:12:
 In file included from ui/dialog/new-from-template.h:14:
 In file included from /opt/local/include/gtkmm-2.4/gtkmm/dialog.h:31:
 In file included from /opt/local/include/gtkmm-2.4/gtkmm/box.h:59:
 In file included from /opt/local/include/gtkmm-2.4/gtkmm/container.h:30:
 In file included from /opt/local/include/gtkmm-2.4/gtkmm/widget.h:48:
 In file included from /opt/local/include/gtkmm-2.4/gtkmm/rc.h:31:
 In file included from /opt/local/include/gtkmm-2.4/gtkmm/style.h:46:
 In file included from /opt/local/include/gtkmm-2.4/gtkmm/iconset.h:35:
 In file included from /opt/local/include/gtkmm-2.4/gtkmm/stockid.h:26:
 In file included from /opt/local/include/glibmm-2.4/glibmm.h:89:
 /opt/local/include/glibmm-2.4/glibmm/threads.h:209:11: error: field has
 incomplete type 'GThread' (aka '_GThread')
   GThread gobject_;
           ^
 /opt/local/include/glib-2.0/glib/gthread.h:49:16: note: forward
 declaration of '_GThread'
 typedef struct _GThread         GThread;
                ^
 1 error generated.
 }}}

--

Comment (by jeremyhu@…):

 Yes, I see `G_DISABLE_DEPRECATED` is set, but so is
 `GLIBMM_DISABLE_DEPRECATED`, so we shouldn't even be in there.  It looks
 like something is undefining GLIBMM_DISABLE_DEPRECATED.

-- 
Ticket URL: <https://trac.macports.org/ticket/52248#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list