qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real)


From: Ben Taylor
Subject: Re: Re: [Qemu-devel] [PATCH] qemu-0.7.0 Solaris Host patch (Real)
Date: Mon, 2 May 2005 6:46:53 -0400

"Nardmann, Heiko" <address@hidden> wrote:
> 
> I get the following error after running
> 
> ./configure --prefix=$HOME/qemu-0.7.0.install
> 
> Install prefix    /home/nardmann/qemu-0.7.0.install
> BIOS directory    /home/nardmann/qemu-0.7.0.install/share/qemu
> binary directory  /home/nardmann/qemu-0.7.0.install/bin
> Manual directory  /home/nardmann/qemu-0.7.0.install/share/man
> ELF interp prefix /usr/gnemul/qemu-%M
> Source path       /home/nardmann/qemu-0.7.0
> C compiler        gcc
> make              gmake
> install           ginstall
> host CPU          sparc
> host big endian   yes
> target list       i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu
> gprof enabled     no
> static build      no
> SDL support       yes
> SDL static link   yes
> mingw32 support   no
> Adlib support     no
> FMOD support      no
> OSS support       no
> kqemu support     no
> 
> 
> 
> Then running make:
> 
> for d in i386-softmmu ppc-softmmu sparc-softmmu x86_64-softmmu; do \
> gmake -C $d all || exit 1 ; \
>         done
> gmake[1]: Entering directory `/home/nardmann/qemu-0.7.0/i386-softmmu'
> gcc -Wall -O2 -g -fno-strict-aliasing -m32 -ffixed-g1 -ffixed-g2 -ffixed-g3 
> -ffixed-g6 -I. -I/home/nardmann/qemu-0.7.0/target-i386 
> -I/home/nardmann/qemu-0.7.0 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 
> -D_LARGEFILE_SOURCE -I/home/nardmann/qemu-0.7.0/fpu 
> -I/home/nardmann/qemu-0.7.0/slirp -c -o vl.o /home/nardmann/qemu-0.7.0/vl.c
> In file included from /home/nardmann/qemu-0.7.0/fpu/softfloat.h:394,
>                  from /home/nardmann/qemu-0.7.0/target-i386/cpu.h:41,
>                  from /home/nardmann/qemu-0.7.0/vl.h:73,
>                  from /home/nardmann/qemu-0.7.0/vl.c:24:
> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:7:18: fenv.h: No such file 
> or 
> directory

If running Solaris, then you must be on Solaris 9,
since I have fenv.h in /usr/include on SOlaris 10,
and not on SOlaris 9.  As I pointed out, the only
testing I did on Solaris was on 10.

> In file included from /home/nardmann/qemu-0.7.0/fpu/softfloat.h:394,
>                  from /home/nardmann/qemu-0.7.0/target-i386/cpu.h:41,
>                  from /home/nardmann/qemu-0.7.0/vl.h:73,
>                  from /home/nardmann/qemu-0.7.0/vl.c:24:
> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:53: `FE_TONEAREST' 
> undeclared 
> here (not in a function)

This is in fenv.h, and so are all the other macros
that are left undefined.  Not sure how we fix this,
other than pick up some of these defines manually.

Martin, given that you're doing the port for blastwave,
and I know they require both sparc/i386 support, how
did you get around this problem?

Ben

> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:53: enumerator value for 
> `float_round_nearest_even' not integer constant
> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:54: `FE_DOWNWARD' undeclared 
> here (not in a function)
> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:54: enumerator value for 
> `float_round_down' not integer constant
> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:55: `FE_UPWARD' undeclared 
> here (not in a function)
> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:55: enumerator value for 
> `float_round_up' not integer constant
> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:57: `FE_TOWARDZERO' 
> undeclared here (not in a function)
> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:57: enumerator value for 
> `float_round_to_zero' not integer constant
> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h: In function `float32_abs':
> /home/nardmann/qemu-0.7.0/fpu/softfloat-native.h:164: warning: implicit 
> declaration of function `fabsf'

All the above errors are fallout of fenv.h not being
included.

> /home/nardmann/qemu-0.7.0/vl.c: In function `init_timers':
> /home/nardmann/qemu-0.7.0/vl.c:986: warning: label `use_itimer' defined but 
> not used
> /home/nardmann/qemu-0.7.0/vl.c: In function `net_slirp_smb':
> /home/nardmann/qemu-0.7.0/vl.c:1561: warning: int format, pid_t arg (arg 4)
> /home/nardmann/qemu-0.7.0/vl.c: In function `create_pidfile':
> /home/nardmann/qemu-0.7.0/vl.c:1759: warning: int format, pid_t arg (arg 3)
> /home/nardmann/qemu-0.7.0/vl.c: At top level:
> /home/nardmann/qemu-0.7.0/vl.c:914: warning: `start_rtc_timer' defined but 
> not 
> used
> gmake[1]: *** [vl.o] Error 1
> gmake[1]: Leaving directory `/home/nardmann/qemu-0.7.0/i386-softmmu'
> make: *** [all] Error 1
> 
> Anyone with the same problem and already having a solution for it?
> 
> On Donnerstag 28 April 2005 16:24, Ben Taylor wrote:
> > Please ignore the first post. A webmail annomally sent
> > the message before it was cooked. :-)
> >
> > This patch is mostly a collation of several sets of Solaris
> > host patches that have been around.  Thanks to Juergen
> > and a few others for actually having done the hard work
> > of debugging and making things work.
> >
> > What the patch does:
> >
> > 1) deal with the fact that bash is not /bin/sh in Solaris
> > 2) Add defaults for Solaris in configure, and deal with
> >    specific behaviors that Solaris doesn't support
> >    (like ln -sf not overwriting the target)
> > 3) add --install= option to configure.  Solaris's
> >    /usr/bin/install is not what qemu expects to see.
> >    Default is ginstall, but you can also use the full path
> >    to /usr/ucb/install if you don't have Gnu Fileutils
> >    installed. However, it's not a good ideas to put
> >    /usr/ucb in front of /usr/bin:/usr/sbin.  Modified
> >    the Makefiles to use $(INSTALL)
> > 4) Added --with-oss= and --oss-inc= to allow the use of the
> >    OSS audio driver in Solaris. It had been previosly
> >    disabled.  (SDL audio tends to stutter on Solaris)
> > 5) Add snippets of code in various place to make qemu
> >    compile cleanly under Solaris.
> >
> > Two enhancements:
> > 1) ability to run with user-net if you don't have
> >    a DNS server on the host
> > 2) some extra Samba features in vl.c, though I admit
> >    to just importing them since I don't run Samba.
> >
> > On solaris, from above the qemu-0.7.0 directory, type
> >
> > gpatch -p0 < qemu-0.7.0-solaris-patch
> >
> > Notes: all of the work has been done on Solaris 10 or
> > Solaris express, using the blastwave gcc-3.4.3 compiler
> > and libSDL-1.2.8 from blastwave.  I have seen reports
> > that gcc-3.4.3 in /usr/sfw/bin is broken for qemu
> > building.
> >
> > Ben
> 
> -- 
> Heiko Nardmann (Dipl.-Ing. Technische Informatik)
> secunet Security Networks AG - Sicherheit in Netzwerken (www.secunet.de),
> Weidenauer Str. 223-225, D-57076 Siegen
> Tel. : +49 271 48950-13, Fax  : +49 271 48950-50
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]