This is the mail archive of the
cygwin-xfree
mailing list for the Cygwin XFree86 project.
gtk2/glib version mismatch?
- From: Charles Wilson <cygwin at cwilson dot fastmail dot fm>
- To: cygwin-xfree at cygwin dot com
- Date: Sat, 11 Nov 2006 16:02:56 -0500
- Subject: gtk2/glib version mismatch?
- Reply-to: cygwin-xfree at cygwin dot com
The current version of glib2 on cygwin is 2.10.3-1.
The current version of gtk2 on cygwin is 2.6.10-1.
gtk2 (prior to 2.8.x) uses the GMemChunk interface. 2.8.x and later use
the "slice" allocator.
glib-2.10.x deprecates the GMemChunk interface:
#if !defined (G_DISABLE_DEPRECATED) || defined (GTK_COMPILATION) ||
defined (GDK_COMPILATION)
typedef struct _GAllocator GAllocator;
typedef struct _GMemChunk GMemChunk;
...
Now, this causes no problems when building gtk2(2.6.x) *itself*, thanks
to the GTK_COMPILATION switch. However, many of gtk2(2.6.x)'s public
interfaces use the GMemChunk symbol:
gtk-2.0/gtk/gtkstatusbar.h
---------------------------------------
...
struct _GtkStatusbarClass
{
GtkHBoxClass parent_class;
GMemChunk *messages_mem_chunk;
...
---------------------------------------
This means that gtk clients may NOT compile with -DG_DISABLE_DEPRECATED.
Disallowing deprecated interfaces is a good thing -- because
deprecated interfaces bitrot quickly. However, on cygwin we're stuck,
because our gtk2 packages are older than our glib, and use/expose
interfaces that are deprecated in our newer glib.
Gerritt -- can you update the gtk* packages to 2.10.x?
--
Chuck
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://x.cygwin.com/docs/
FAQ: http://x.cygwin.com/docs/faq/