#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