Bug 4635 - (int-120842) gtk+ headers incompatible to glib version wrt G_DISABLE_SINGLE_INCLUDES
: gtk+ headers incompatible to glib version wrt G_DISABLE_SINGLE_INCLUDES
Product: Desktop platform
: 5.0-beta
: All Linux
: Low minor (vote)
: 5.0-beta2
Assigned To: unassigned
: gtk-bugs
  Show dependency tree
Reported: 2009-06-04 21:47 UTC by Christian Persch (GNOME)
Modified: 2009-07-14 13:40 UTC (History)
1 user (show)

See Also:



You need to log in before you can comment on or make changes to this bug.

Description Christian Persch (GNOME) (reporter) 2009-06-04 21:47:56 UTC
Fremantle beta SDK, which has glib 2.18.1 and gtk+ 2.12.12.

Using -DG_DISABLE_SINGLE_INCLUDES one runs into problems since the headers of
this gtk+ version still include some glib headers directly, while the more
recent glib version used forbids this:

In file included from /usr/include/gtk-2.0/gdk/gdkspawn.h:26,
                 from /usr/include/gtk-2.0/gdk/gdk.h:52,
                 from ../../../sources/poppler-0.11.0/glib/poppler-page.h:27,
                 from ../../../sources/poppler-0.11.0/glib/poppler.h:121,
                 from ../../../sources/poppler-0.11.0/glib/poppler-action.h:23,
                 from poppler-enums.c:9:
/usr/include/glib-2.0/glib/gspawn.h:22:2: error: #error "Only <glib.h> can be
included directly."

Of course I can work around this easily, and arguably other modules shouldn't
hardcode this #define, but it's still yet another thing that needs attention
when porting. 

IMHO either the shipped gtk+ headers should be fixed to work with glib single
includes disabled, or the shipped glib headers be changed not to bork in this
Comment 1 Andre Klapper maemo.org 2009-06-09 21:26:58 UTC
According to the existance of
gtk+ 2.14 will be used for Fremantle where this issue will not happen anymore.
Hence closing as FIXED.
Comment 2 Andre Klapper maemo.org 2009-07-14 13:40:33 UTC
Fix should be included in Fremantle SDK beta 2 hence updating Target Milestone.
If you are the reporter of this bug: Feel free to verify the fix if possible.