gtk2/glib version mismatch?

Charles Wilson cygwin@cwilson.fastmail.fm
Sat Nov 11 21:03:00 GMT 2006


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/



More information about the Cygwin-xfree mailing list