From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.33) id 1CTUkp-0008CW-RO for qemu-devel@nongnu.org; Sun, 14 Nov 2004 19:29:59 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.33) id 1CTUko-0008C5-Vd for qemu-devel@nongnu.org; Sun, 14 Nov 2004 19:29:59 -0500 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.33) id 1CTUko-0008C2-Rc for qemu-devel@nongnu.org; Sun, 14 Nov 2004 19:29:58 -0500 Received: from [38.113.3.61] (helo=smtp-out.hotpop.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1CTUbt-0007bp-Iw for qemu-devel@nongnu.org; Sun, 14 Nov 2004 19:20:45 -0500 Received: from phreaker.net (kubrick.hotpop.com [38.113.3.103]) by smtp-out.hotpop.com (Postfix) with SMTP id E68059EEE52 for ; Mon, 15 Nov 2004 00:20:42 +0000 (UTC) Received: from jbrown.mylinuxbox.org (pcp03144805pcs.midval01.tn.comcast.net [68.59.228.236]) by smtp-3.hotpop.com (Postfix) with ESMTP id 442DD11C92C6 for ; Mon, 15 Nov 2004 00:20:39 +0000 (UTC) Date: Sun, 14 Nov 2004 19:20:28 -0500 From: "Jim C. Brown" Subject: Re: [Qemu-devel] SDL compile error Message-ID: <20041115002028.GA19386@jbrown.mylinuxbox.org> References: <4197D253.1050606@bellard.org> <57665.66.159.222.224.1100447159.squirrel@www.chesstrain.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="tKW2IUtsqtDRztdT" Content-Disposition: inline In-Reply-To: <57665.66.159.222.224.1100447159.squirrel@www.chesstrain.com> 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 --tKW2IUtsqtDRztdT Content-Type: text/plain; charset=us-ascii Content-Disposition: inline On Sun, Nov 14, 2004 at 07:45:59AM -0800, Shivkumar Shivaji wrote: > > /usr/lib/libSDL.a(SDL_fbevents.o)(.text+0x942): In function `find_pid': > : undefined reference to `__ctype_b' > /usr/lib/libSDL.a(SDL_fbelo.o)(.text+0x465): In function `eloSendQuery': > : undefined reference to `__ctype_toupper' > /usr/lib/libSDL.a(SDL_fbelo.o)(.text+0x5f1): In function `eloInitController': > : undefined reference to `__ctype_tolower' > collect2: ld returned 1 exit status The above is where the actual errors are. This means that your SDL is based on an older glibc (2.0 or something) but you have upgraded to a newer one (2.3 or something). The undefined symbols are internal glibc symbols which the dynamic loader knows how to resolve (via some hacks in the newer glibc) but which the static linker can't. The real fix is to download SDL source and recompile, that way the new SDL static library will not reference those symbols. If you want a quick hack, compile the attached ctype_b.c file and link it into qemu-fast. You will probably want to edit the Makefile to do this. (You can also link it into libSDL.a I suppose. I haven't tried this so I do not recommend it.) > > > > _______________________________________________ > Qemu-devel mailing list > Qemu-devel@nongnu.org > http://lists.nongnu.org/mailman/listinfo/qemu-devel > -- Infinite complexity begets infinite beauty. Infinite precision begets infinite perfection. --tKW2IUtsqtDRztdT Content-Type: text/plain; charset=us-ascii Content-Disposition: attachment; filename="ctype_b.c" #define attribute_hidden #define CTYPE_EXTERN_INLINE /* Define real functions for accessors. */ #include /*#define b(t,x,o) (((const t *) _nl_C_LC_CTYPE_##x) + o) const char _nl_C_LC_CTYPE_class[] = const char _nl_C_LC_CTYPE_toupper[] = {{ 7, 1, 5, 3, 31 }, { 6 * sizeof (uint32_t) }, { 0, 0, 10 * sizeof (uint32_t), 0 }, { 0x00000000, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000020, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }}; const char _nl_C_LC_CTYPE_tolower[] = {{ 7, 1, 5, 3, 31 }, { 6 * sizeof (uint32_t) }, { 0, 0, 0, 10 * sizeof (uint32_t) }, { 0x00000000, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0xffffffe0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 }}; const unsigned short int *__ctype_b = b (unsigned short int, class, 128); const __int32_t *__ctype_toupper = b (__int32_t, toupper, 128); const __int32_t *__ctype_tolower = b (__int32_t, tolower, 128);*/ const unsigned short int *__ctype_b = __ctype_b_loc+1; const __int32_t *__ctype_toupper = __ctype_tolower_loc+1; const __int32_t *__ctype_tolower = __ctype_toupper_loc+1; --tKW2IUtsqtDRztdT--