Gtk+ 2.3 ABI breakage or Gtk-Error **: incompatible build!
- From: Hans Breuer <Hans Breuer org>
- To: gtk-devel-list gnome org
- Subject: Gtk+ 2.3 ABI breakage or Gtk-Error **: incompatible build!
- Date: Sat, 01 Nov 2003 15:44:47 +0100
on G_PLATFORM__WIN32
gtk/gtkmain.c has the following code, which fails with current cvs
static void
check_sizeof_GtkWindow (size_t sizeof_GtkWindow)
{
if (sizeof_GtkWindow != sizeof (GtkWindow))
g_error ("Incompatible build!\n"
"The code using GTK+ thinks GtkWindow is of different\n"
"size than it actually is in this build of GTK+.\n"
"On Windows, this probably means that you have compiled\n"
"your code with gcc without the -fnative-struct\n"
"(or -mms-bitfields) switch, or that you are using\n"
"an unsupported compiler.");
}
Before looking any deeper into it, is changing the size of GtkWindow
supposed to be an ABI breakge which should not happen on due to
Gtk's binary compatibility guarantees ?
[
For everyone not knowing : the tips from the error message won't
solve the problem cause I'm not using gcc, but msvc and my compiler
flags haven't changed between different builds.
]
Looking deeper into it :
The flags started from GtkWindow::allow_shrink : 1
are now 33 in sum which triggers the above sizeof check failure.
Also the addition of GtkWindow::(above|below)_initially changes
the meaning of the following flags, which is another ABI
incompatible change ...
Further, isn't always true above_initially == !below_initially.
So there would be only one flag needed ?
But even fixing this won't give us back a compatiple ABI. Apparently
some gobject has changed size as well (or at least I needed to recompile
Pango as well to get a not crashing testfilechooser ...)
Thanks,
Hans
-------- Hans "at" Breuer "dot" Org -----------
Tell me what you need, and I'll tell you how to
get along without it. -- Dilbert
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]