From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Ftubj-000717-7J for qemu-devel@nongnu.org; Fri, 23 Jun 2006 18:58:35 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Ftubg-00070Y-Rn for qemu-devel@nongnu.org; Fri, 23 Jun 2006 18:58:33 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Ftubg-00070V-LV for qemu-devel@nongnu.org; Fri, 23 Jun 2006 18:58:32 -0400 Received: from [213.165.64.21] (helo=mail.gmx.net) by monty-python.gnu.org with smtp (Exim 4.52) id 1Ftumy-0002nh-Ke for qemu-devel@nongnu.org; Fri, 23 Jun 2006 19:10:12 -0400 Message-ID: <449C7218.7060300@gmx.de> Date: Sat, 24 Jun 2006 00:58:32 +0200 From: Oliver Gerlich MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Qemu with wxWidgets: g++ errors, ABI mismatch 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 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello, while playing with wxWidgets and Qemu, I noticed several problems and hoped that you know a solution for this. I added a single C++ source file (wxgui.cpp) for wxWidgets stuff, which in turn includes vl.h . wxgui.cpp is compiled with g++ (tried 3.3 and 4.0), but that compiler gives some warnings about cpu-all.h, like this: ../cpu-all.h: In function ?uint64_t ldq_be_p(void*)?: ../cpu-all.h:419: error: pointer of type ?void *? used in arithmetic Is there a solution other than casting ptr to uint8_t* and then back to void* in the offending line? Another more serious thing is that the wxWidgets libs on Debian Testing/Unstable seem to be compiled with gcc 4.0 (this is probably the case on other distros as well), while Qemu is compiled with gcc 3.3. This leads to a runtime error: $ i386-softmmu/qemu -cdrom /mnt/hda5/ubuntu.iso -boot d Fatal Error: Mismatch between the program and library build versions detected. The library used 2.6 (no debug,Unicode,compiler with C++ ABI 1002,wx containers,compatible with 2.4), and your program used 2.6 (no debug,Unicode,compiler with C++ ABI 102,wx containers,compatible with 2.4). Aborted Is there a way around this problem? Probably wxWidgets doesn't like the different ABIs in gcc 3.3 and 4.0, but maybe some clever linking could work around this? Any hints? Thanks, Oliver -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) iD8DBQFEnHIWTFOM6DcNJ6cRAmBtAKC05oTBZaPGgFZ9d4PkrSbsn2pt7QCfQK6t +N3SSzz4ev5x+IF/9BAupY8= =V8zh -----END PGP SIGNATURE-----