From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1DkaTI-0000na-By for qemu-devel@nongnu.org; Tue, 21 Jun 2005 00:34:48 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1DkaTC-0000lB-UG for qemu-devel@nongnu.org; Tue, 21 Jun 2005 00:34:44 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1DkaTC-0000jW-K5 for qemu-devel@nongnu.org; Tue, 21 Jun 2005 00:34:42 -0400 Received: from [128.8.10.164] (helo=po2.wam.umd.edu) by monty-python.gnu.org with esmtp (Exim 4.34) id 1DkaQD-0008C0-O1 for qemu-devel@nongnu.org; Tue, 21 Jun 2005 00:31:37 -0400 Received: from jbrown.mylinuxbox.org (jma-box.student.umd.edu [129.2.237.180]) by po2.wam.umd.edu (8.12.10/8.12.10) with ESMTP id j5L4SjZh025392 for ; Tue, 21 Jun 2005 00:28:45 -0400 (EDT) Date: Tue, 21 Jun 2005 00:28:44 -0400 From: "Jim C. Brown" Subject: Re: [Qemu-devel] quick gtk2.c update Message-ID: <20050621042844.GA13691@jbrown.mylinuxbox.org> References: <20050619190949.GA14349@jbrown.mylinuxbox.org> <001b01c57522$5ad985b0$334d21d1@organiza3bfb0e> <20050619235311.GA15841@jbrown.mylinuxbox.org> <002c01c57535$60064fb0$334d21d1@organiza3bfb0e> <20050620015911.GA17675@jbrown.mylinuxbox.org> <001401c57608$bc5bb5b0$334d21d1@organiza3bfb0e> <20050621023932.GA12759@jbrown.mylinuxbox.org> <000c01c5760d$10edf5d0$334d21d1@organiza3bfb0e> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <000c01c5760d$10edf5d0$334d21d1@organiza3bfb0e> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org On Mon, Jun 20, 2005 at 09:58:06PM -0500, jeebs@yango.us wrote: > Okay, I didn't know that. (Or I forgot about it.) That means I was running > SDL. > > (That also means that even if it's ends up running in SDL mode, it still > wants all those GTK libraries available. If it isn't using GTK, then it > shouldn't need them.) > Perhaps you are right (it is less of an issue in Linux since most workstations have GTK libraries installed anways ... if you have SDL then you probably have GTK as well). However, this approach would a) require introducing dlopen()/ LoadLibrary() into qemu in the right places (something I really hesitate to do) or b) require a link against glib for all cases (not just the GTK case) and use glib code to handle that (something I am even more relutant to do). > Using that option now, I'm getting an error when I try to run qemu. > > *** > Incompatable build! The code using GTK+ thinks GtkBox is of different size > than it actually is in this build of GTK+. > > On Windows, this probably means that you have compiled your code with gcc > without the -fnative-struct (or -mms-bitfileds) switch, or that you are > using an unsupported compiler. > *** > > No idea what it really means. Other than what it actually says. > This is a particularly perplexing error, considering that a) this error should only show up if you 1) use a MSVC compiled GTK with a mingw/cygwin compiled app or 2) use a mingw/cygwin compiled GTK with a MSVC compiled app. Since you used mingw for both, I have not the slighest clue why this occurs. Especially since I do not use GtkBox anywhere in the gtk code. (I don't use any sort of Gtk Container period... other than GtkWindow.) There is also c) mixing GTK 2.2 and GTK 2.4 (or possibly GTK 2.4 and GTK 2.6) headers and libraries together (e.g. including the GTK 2.2 headers in qemu but using the GTK 2.4 libraries or something). Technically, it means that the sizes of the structure types don't match, which means that the library binary (GTK) and the application binary (qemu) are not compatible. It is possible that the 2 different mingw environments could have introduced incompatibilities (a very remote possibility). Perhaps recompiling GTK and its dependencies inside the new mingw environment would produce valid libraries. Or it might trash the new environment completely...*shrug* -- Infinite complexity begets infinite beauty. Infinite precision begets infinite perfection.