Ticket #27059 (closed defect: fixed)
gtkglextmm fails to build
| Reported by: | n.a.hawes@… | Owned by: | billitch@… |
|---|---|---|---|
| Priority: | Normal | Milestone: | |
| Component: | ports | Version: | 1.9.1 |
| Keywords: | Cc: | staffan@…, ryandesign@… | |
| Port: | gtkglextmm |
Description (last modified by jmr@…) (diff)
The gtkglextmm port fails to build with the error below. It looks like the causes is that gtk2 and gtkmm are out of sync version-wise: https://bugs.launchpad.net/ubuntu/+source/gtkmm2.4/+bug/660787
:info:build In file included from /opt/local/include/gdkmm-2.4/gdkmm/gc.h:34, :info:build from /opt/local/include/gdkmm-2.4/gdkmm/drawable.h:33, :info:build from ../../../gdkglext/gdkmm/gl/pixmap.h:29, :info:build from pixmap.cc:3: :info:build /opt/local/include/gdkmm-2.4/gdkmm/region.h:230: error: 'GdkSpanFunc' has not been declared :info:build In file included from /opt/local/include/gdkmm-2.4/gdkmm/gc.h:34, :info:build from /opt/local/include/gdkmm-2.4/gdkmm/drawable.h:33, :info:build from ../../../gdkglext/gdkmm/gl/window.h:29, :info:build from window.cc:3: :info:build /opt/local/include/gdkmm-2.4/gdkmm/region.h:230: error: 'GdkSpanFunc' has not been declared :info:build make[6]: *** [pixmap.lo] Error 1 :info:build make[6]: *** Waiting for unfinished jobs.... :info:build make[6]: *** [window.lo] Error 1 :info:build make[5]: *** [all-recursive] Error 1 :info:build make[4]: *** [all-recursive] Error 1 :info:build make[3]: *** [all-recursive] Error 1 :info:build make[2]: *** [all] Error 2 :info:build make[1]: *** [all-recursive] Error 1 :info:build make: *** [all] Error 2 :info:build shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_gtkglextmm/work/gtkglextmm-1.2.0" && /usr/bin/make -j2 all " returned error 2
Attachments
Change History
comment:1 Changed 3 years ago by jmr@…
- Owner changed from macports-tickets@… to billitch@…
- Description modified (diff)
Please remember to preview and use WikiFormatting, and to cc the maintainer.
Changed 2 years ago by staffan@…
- Attachment patch-gtkglext_gtkmm_gl-widget.cc.diff added
Patch to make gtkglextmm compile with newer versions of GTK/gtkmm
comment:3 Changed 2 years ago by staffan@…
Although the symptoms are the same, this is in fact not a problem caused by mismatching versions of GTK and gtkmm. It's an issue with gtkglextmm not being compatible with later versions of GTK/gtkmm. Quoting from the comment in the applied patch:
# Fix build issue where build fails due to GDK_DISABLE_DEPRECATED being enabled. # The order in which files are included matters here. gtkmm does some funky # stuff to undefine GDK_DISABLE_DEPRECATED, if defined, before including gdk.h # as it needs some deprecated functionality. Including gtkglwidget.h before # widget.h causes gdk.h to be included without GDK_DISABLE_DEPRECATED being # undefined, and gtkmm never gets the chance to work its undefine magic.
Fortunately, the fix is simple!
To the maintainer (or someone with commit rights): please apply the attached Portfile patch (Portfile.diff), add a files directory and put the attached file patch-gtkglext_gtkmm_gl-widget.cc.diff into the files directory.
I'll see if I can file a bug upstream as well, if it hasn't already been reported.
comment:4 Changed 2 years ago by staffan@…
Upstream bug report: https://bugzilla.gnome.org/show_bug.cgi?id=636831


log file from build