From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.30) id 1BAChr-0000Eg-H1 for qemu-devel@nongnu.org; Sun, 04 Apr 2004 14:50:55 -0400 Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.30) id 1BACgV-0006ue-8a for qemu-devel@nongnu.org; Sun, 04 Apr 2004 14:50:04 -0400 Received: from [38.113.3.61] (helo=babyruth.hotpop.com) by monty-python.gnu.org with esmtp (Exim 4.30) id 1BACgT-0006sN-7o for qemu-devel@nongnu.org; Sun, 04 Apr 2004 14:49:29 -0400 Received: from phreaker.net (kubrick.hotpop.com [38.113.3.103]) by babyruth.hotpop.com (Postfix) with SMTP id E93D81BC250 for ; Sun, 4 Apr 2004 18:32:31 +0000 (UTC) Received: from jbrown.mylinuxbox.org (pcp02555028pcs.batlfl01.tn.comcast.net [68.60.22.179]) by smtp-2.hotpop.com (Postfix) with ESMTP id 5C7331BF850 for ; Sun, 4 Apr 2004 18:32:28 +0000 (UTC) Date: Sun, 4 Apr 2004 14:51:07 -0400 From: "Jim C. Brown" Message-ID: <20040404185107.GA30158@jbrown.mylinuxbox.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Subject: [Qemu-devel] qemu 0.5.3: qemu-fast Reply-To: jbrown106@swift-mail.com, 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 Sat, Apr 03, 2004 at 05:39:33PM -0500, Jim C. Brown wrote: > I tried to test the current CVS but I was unable to compiled using either > gcc 3.0.4 or gcc 2.96 (the one by redhat) getting this error: > > /usr/include/stdint.h:59: warning: redefinition of `uint64_t' > /home/jbrown105/qemu/qemu/dyngen-exec.h:28: warning: `uint64_t' previously declared here > /home/jbrown105/qemu/qemu/cpu-exec.c: In function `cpu_x86_exec': > /home/jbrown105/qemu/qemu/cpu-exec.c:478: more than 10 operands in `asm' > make[1]: *** [cpu-exec.o] Error 1 > make[1]: Leaving directory `/home/jbrown105/qemu/qemu.old/i386-user' > make: *** [all] Error 1 > Upgrading to gcc 3.3.2, while a pain, fixed this. I found a strange problem when compiling 0.5.3, however. The output is pasted at the end of this email. It seems to be related to static vs shared linking. When I alter the Makefile to remove the -static flag, the object files have undefined references to __longjmp and such. I solved it by doing changing the Makefile to do this: /opt/gcc33/bin/gcc3 -static -Wl,-T,/home/jbrown105/qemu-0.5.3/i386-vl.ld -o qemu-fast vl.o osdep.o block.o monitor.o ide.o ne2000.o pckbd.o vga.o sb16.o dma.o oss.o fdc.o mc146818rtc.o serial.o i8259.o i8254.o pc.o gdbstub.o sdl.o libqemu.a -lm -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lm -L/usr/lib -ldl -lutil -shared -lartsc -DPIC -fPIC -lpthread -L/usr/lib -lesd -laudiofile -lm -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lXxf86dga -lXv So the libraries which cause trouble are linked shared but the object files themselves and glibc itself are linked staticly. This seems to work, although I haven't tried any real testing yet (just "qemu-fast --help"). I searched the archives for information on this but I didn't find any, so I'm sending the info here. (And yes I realize that I have this error because my system is broken.) ----OUTPUT ATTACHED---- # /opt/gcc33/bin/gcc3 -static -Wl,-T,/home/jbrown105/qemu-0.5.3/i386-vl.ld -o qemu-fast vl.o osdep.o block.o monitor.o ide.o ne2000.o pckbd.o vga.o sb16.o dma.o oss.o fdc.o mc146818rtc.o serial.o i8259.o i8254.o pc.o gdbstub.o sdl.o libqemu.a -lm -L/usr/lib -Wl,-rpath,/usr/lib -lSDL -lpthread -lm -L/usr/lib -ldl -lartsc -DPIC -fPIC -lpthread -L/usr/lib -lesd -laudiofile -lm -L/usr/X11R6/lib -lX11 -lXext -lXxf86vm -lXxf86dga -lXv -ldl -lutil /usr/lib/libSDL.a(SDL_x11gl.lo)(.text+0x77b): In function `X11_GL_LoadLibrary': : Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libesd.a(esdlib.o)(.text+0x4a2): In function `esd_connect_tcpip': : Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/X11R6/lib/libX11.a(x11trans.o)(.text+0x7a7): In function `_X11TransSocketINETConnect': : Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking /usr/lib/libSDL.a(SDL_fbevents.lo)(.text+0x996): In function `find_pid': : undefined reference to `__ctype_b' /usr/lib/libSDL.a(SDL_fbelo.lo)(.text+0x480): In function `eloSendQuery': : undefined reference to `__ctype_toupper' /usr/lib/libSDL.a(SDL_fbelo.lo)(.text+0x602): In function `eloInitController': : undefined reference to `__ctype_tolower' /usr/lib/libartsc.a(ltdl.o)(.text+0x1074): In function `lt_dlopen': : undefined reference to `__ctype_b' /usr/X11R6/lib/libX11.a(ConnDis.o)(.text+0x176): In function `_X11TransConnectDisplay': : undefined reference to `__ctype_b' /usr/X11R6/lib/libX11.a(ConnDis.o)(.text+0x1fa): In function `_X11TransConnectDisplay': : undefined reference to `__ctype_b' /usr/X11R6/lib/libX11.a(x11trans.o)(.text+0x66e): In function `_X11TransSocketINETConnect': : undefined reference to `__ctype_b' /usr/X11R6/lib/libX11.a(x11trans.o)(.text+0xebe): In function `_X11TransSelectTransport': : undefined reference to `__ctype_tolower' /usr/X11R6/lib/libX11.a(x11trans.o)(.text+0xec4): In function `_X11TransSelectTransport': : undefined reference to `__ctype_b' /usr/X11R6/lib/libX11.a(x11trans.o)(.text+0x1ac0): In function `is_numeric': : undefined reference to `__ctype_b' /usr/X11R6/lib/libX11.a(XKBBind.o)(.text+0x106d): In function `XkbTranslateKeySym': : undefined reference to `__ctype_toupper' /usr/X11R6/lib/libX11.a(lcFile.o)(.text+0x1d): In function `parse_line': : undefined reference to `__ctype_b' /usr/X11R6/lib/libX11.a(lcFile.o)(.text+0x219): In function `resolve_name': : undefined reference to `__ctype_b' /usr/X11R6/lib/libX11.a(XlcDL.o)(.text+0x1d): In function `parse_line': : undefined reference to `__ctype_b' /usr/X11R6/lib/libX11.a(XlcDL.o)(.text+0x45): In function `parse_line': : undefined reference to `__ctype_b' /usr/X11R6/lib/libX11.a(XlcDL.o)(.text+0x1b5): In function `resolve_object': : undefined reference to `__ctype_b' collect2: ld returned 1 exit status