qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Building qemu.exe on cygwin (0.15.0)


From: Rolando A. Lopez
Subject: [Qemu-devel] Building qemu.exe on cygwin (0.15.0)
Date: Thu, 18 Aug 2011 10:33:12 -0600

Hi,
 
I need windows binaries for 0.15.0 so I tried to find them but no luck, so I tried to build it myself with cygwin.
 
By following  Lassauge’s advices on http://lassauge.free.fr/qemu/   I reached the point where make tries to build/link qemu.exe but ld fails.   I think reaching this point is a good sign, considering the amount of changes included in the windows patch for 0.13.0 (or 0.15.0 also needs heavy modifying to be builded on cygwin??)
 
The error are related to multeple definition of _sin, _cos and other related math functions in libmsvcrt.a.   I found some info about this type of error but it looks like it usually involves heavy-code changing in the libraries.
 
Question: Can someone help me with some advices about changing some library-versions or compilation-settings or maybe changing compiler? 
=======
 
I applied no patches to 0.15.0 and this is the output of the qemu.exe building:
==================================================
gcc -mno-cygwin -m32 -D__USE_MINGW_ANSI_STDIO=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x501 -D_FORTIFY_SOURCE=2 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURC
E -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing  -Wendif-labels -Wnested-externs -Wformat-securi
ty -Wformat-y2k -Winit-self -Wold-style-definition -DHAS_AUDIO -DHAS_AUDIO_CHOICE  -DTARGET_PHYS_ADDR_BITS=64 -I.. -I/home/ralch/qemu/qemu-0.15.0/target-i386 -D
NEED_CPU_H     -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -O2 -g -O4 -march=i686 -Wl,--nxcompat -Wl,--no-seh -Wl,--dynamicbase -Wl,--warn-common -m32
-g -Wl,-V  -o qemu.exe arch_init.o cpus.o monitor.o machine.o gdbstub.o balloon.o virtio.o virtio-blk.o virtio-balloon.o virtio-net.o virtio-serial-bus.o vhost
_net.o rwhandler.o kvm-stub.o xen-stub.o ../cutils.o ../cache-utils.o ../qemu-malloc.o ../qemu-option.o ../module.o ../async.o ../nbd.o ../block.o ../aio.o ../a
es.o ../qemu-config.o ../qemu-progress.o ../qemu-sockets.o ../block/raw.o ../block/cow.o ../block/qcow.o ../block/vdi.o ../block/vmdk.o ../block/cloop.o ../bloc
k/dmg.o ../block/bochs.o ../block/vpc.o ../block/vvfat.o ../block/qcow2.o ../block/qcow2-refcount.o ../block/qcow2-cluster.o ../block/qcow2-snapshot.o ../block/
qcow2-cache.o ../block/qed.o ../block/qed-gencb.o ../block/qed-l2-cache.o ../block/qed-table.o ../block/qed-cluster.o ../block/qed-check.o ../block/parallels.o
../block/nbd.o ../block/blkdebug.o ../block/sheepdog.o ../block/blkverify.o ../block/raw-win32.o ../blockdev.o ../net.o ../net/queue.o ../net/checksum.o ../net/
util.o ../net/socket.o ../net/dump.o ../net/tap-win32.o ../net/slirp.o ../qint.o ../qstring.o ../qdict.o ../qlist.o ../qfloat.o ../qbool.o ../qjson.o ../json-le
xer.o ../json-streamer.o ../json-parser.o ../qerror.o ../error.o ../readline.o ../console.o ../cursor.o ../qemu-error.o ../osdep.o ../oslib-win32.o ../qemu-thre
ad-win32.o ../os-win32.o ../tcg-runtime.o ../host-utils.o ../irq.o ../ioport.o ../input.o ../i2c.o ../smbus.o ../smbus_eeprom.o ../eeprom93xx.o ../scsi-disk.o .
./cdrom.o ../scsi-generic.o ../scsi-bus.o ../usb.o ../usb-hub.o ../usb-stub.o ../usb-hid.o ../usb-msd.o ../usb-wacom.o ../usb-serial.o ../usb-net.o ../usb-bus.o
../usb-desc.o ../bt.o ../bt-host.o ../bt-vhci.o ../bt-l2cap.o ../bt-sdp.o ../bt-hci.o ../bt-hid.o ../usb-bt.o ../bt-hci-csr.o ../buffered_file.o ../migration.o
../migration-tcp.o ../qemu-char.o ../savevm.o ../msmouse.o ../ps2.o ../qdev.o ../qdev-properties.o ../block-migration.o ../iohandler.o ../pflib.o ../bitmap.o .
./bitops.o ../version.o ../audio/audio.o ../audio/noaudio.o ../audio/wavaudio.o ../audio/mixeng.o ../audio/sdlaudio.o ../audio/dsoundaudio.o ../audio/audio_win_
int.o ../audio/wavcapture.o ../ui/keymaps.o ../ui/sdl.o ../ui/sdl_zoom.o ../ui/x_keymap.o ../ui/vnc.o ../ui/d3des.o ../ui/vnc-enc-zlib.o ../ui/vnc-enc-hextile.o
../ui/vnc-enc-tight.o ../ui/vnc-palette.o ../ui/vnc-enc-zrle.o ../ui/vnc-jobs-sync.o ../iov.o ../acl.o ../notify.o ../event_notifier.o ../qemu-timer.o ../qemu-
timer-common.o ../slirp/cksum.o ../slirp/if.o ../slirp/ip_icmp.o ../slirp/ip_input.o ../slirp/ip_output.o ../slirp/slirp.o ../slirp/mbuf.o ../slirp/misc.o ../sl
irp/sbuf.o ../slirp/socket.o ../slirp/tcp_input.o ../slirp/tcp_output.o ../slirp/tcp_subr.o ../slirp/tcp_timer.o ../slirp/udp.o ../slirp/bootp.o ../slirp/tftp.o
../libdis/i386-dis.o exec.o translate-all.o cpu-exec.o translate.o tcg/tcg.o fpu/softfloat.o op_helper.o helper.o cpuid.o disas.o ../libhw64/vl.o ../libhw64/lo
ader.o ../libhw64/virtio-console.o ../libhw64/virtio-pci.o ../libhw64/fw_cfg.o ../libhw64/pci.o ../libhw64/pci_bridge.o ../libhw64/msix.o ../libhw64/msi.o ../li
bhw64/pci_host.o ../libhw64/pcie_host.o ../libhw64/ioh3420.o ../libhw64/xio3130_upstream.o ../libhw64/xio3130_downstream.o ../libhw64/watchdog.o ../libhw64/seri
al.o ../libhw64/parallel.o ../libhw64/i8254.o ../libhw64/pcspk.o ../libhw64/pckbd.o ../libhw64/usb-uhci.o ../libhw64/usb-ohci.o ../libhw64/usb-ehci.o ../libhw64
/fdc.o ../libhw64/acpi.o ../libhw64/acpi_piix4.o ../libhw64/pm_smbus.o ../libhw64/apm.o ../libhw64/dma.o ../libhw64/hpet.o ../libhw64/applesmc.o ../libhw64/usb-
ccid.o ../libhw64/ccid-card-passthru.o ../libhw64/wdt_i6300esb.o ../libhw64/pcie.o ../libhw64/pcie_aer.o ../libhw64/pcie_port.o ../libhw64/ne2000.o ../libhw64/e
epro100.o ../libhw64/pcnet-pci.o ../libhw64/pcnet.o ../libhw64/e1000.o ../libhw64/rtl8139.o ../libhw64/ne2000-isa.o ../libhw64/ide/core.o ../libhw64/ide/atapi.o
../libhw64/ide/qdev.o ../libhw64/ide/pci.o ../libhw64/ide/isa.o ../libhw64/ide/piix.o ../libhw64/ide/ahci.o ../libhw64/ide/ich.o ../libhw64/lsi53c895a.o ../lib
hw64/dma-helpers.o ../libhw64/sysbus.o ../libhw64/isa-bus.o ../libhw64/qdev-addr.o ../libhw64/vga-pci.o ../libhw64/vga-isa.o ../libhw64/vmware_vga.o ../libhw64/
vmmouse.o ../libhw64/sb16.o ../libhw64/es1370.o ../libhw64/ac97.o ../libhw64/fmopl.o ../libhw64/adlib.o ../libhw64/gus.o ../libhw64/gusemu_hal.o ../libhw64/guse
mu_mixer.o ../libhw64/cs4231a.o ../trace.o vga.o mc146818rtc.o i8259.o pc.o cirrus_vga.o sga.o apic.o ioapic.o piix_pci.o vmport.o device-hotplug.o pci-hotplug.
o smbios.o wdt_ib700.o debugcon.o multiboot.o pc_piix.o -lpthreadGC2 -lwinmm -lws2_32 -liberty -liphlpapi  -lglib-2.0 -lintl -liconv   -lole32 -ldxguid -mno-cyg
win  -L/usr/lib/mingw -lmingw32 -lSDLmain -lSDL -lm -luser32 -lgdi32 -lwinmm -ldxguid -mconsole   -lm -lz
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dsfjs00686.o):(.text+0x0): multiple definition of `_modf'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d001316.o):(.text+0x0): first defined here
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dsfjs00599.o):(.text+0x0): multiple definition of `_cos'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d000792.o):(.text+0x0): first defined here
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dsfjs00707.o):(.text+0x0): multiple definition of `_sin'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d001655.o):(.text+0x0): first defined here
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dsfjs00596.o):(.text+0x0): multiple definition of `_ceil'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d000760.o):(.text+0x0): first defined here
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dsfjs00616.o):(.text+0x0): multiple definition of `_floor'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d000976.o):(.text+0x0): first defined here
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dsfjs00589.o):(.text+0x0): multiple definition of `_atan2'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d000716.o):(.text+0x0): first defined here
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dsfjs00737.o):(.text+0x0): multiple definition of `_tan'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d001744.o):(.text+0x0): first defined here
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dsfjs00673.o):(.text+0x0): multiple definition of `_log'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d001249.o):(.text+0x0): first defined here
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dsfjs00688.o):(.text+0x0): multiple definition of `_pow'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d001381.o):(.text+0x0): first defined here
/usr/i686-pc-mingw32/sys-root/mingw/lib/libmsvcrt.a(dsfjs00674.o):(.text+0x0): multiple definition of `_log10'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../libm.a(t-d001250.o):(.text+0x0): first defined here
GNU ld (GNU Binutils) 2.21
  Supported emulations:
   i386pe
collect2: ld returned 1 exit status
make[1]: *** [qemu.exe] Error 1
make[1]: Leaving directory `/home/ralch/qemu/qemu-0.15.0/i386-softmmu'
make: *** [subdir-i386-softmmu] Error 2
==================================================
 
By the way, I obtained almost the same results with qemu-0.14.1
 
My ./configure command was:
 
$ CFLAGS="-O4 -march=i686" ./configure --target-list="i386-softmmu" --cc="gcc -mno-cygwin" --host-cc=gcc --audio-drv-list="dsound sdl" --audio-card-list="ac97 es1370 sb16 cs4231a adlib gus"
 
Note that I did not provide fmod and lib-usb because I am not interested in them (could that be a problem for this build?)
 
TIA
Rolando
Guatemala
 

mail.tigo.com.gt made the following annotations
---------------------------------------------------------------------
Este correo electrónico, su contenido y anexos son CONFIDENCIALES y pueden contener información PRIVILEGIADA para uso exclusivo de su destinatario. Si ha recibido este correo por error, o si no es su destinatario, por favor no lo copie o distribuya, ni realice ninguna acción relacionada con el mismo. En su lugar, por favor notifíquelo al remitente y bórrelo de su sistema. Las opiniones expresadas en este correo son las de su autor y no son necesariamente compartidas o apoyadas por la compañía. Comunicaciones Celulares, S.A. no asume a través de este correo obligaciones ni se responsabiliza del contenido del mismo.

RENUNCIA: El contenido del presente correo electrónico y/o documentos adjuntos NO ES VÁLIDO como oferta de contrato por lo que el mismo no vincula ni obliga en forma alguna a Comunicaciones Celulares, Sociedad Anónima. Es entendido que Comunicaciones Celulares, Sociedad Anónima utiliza el correo electrónico únicamente con fines de facilitar la comunicación, sin que el mismo tenga ningún fin contractual, lo cual es aceptado y entendido por todo los destinatarios de correos electrónicos que reciban un correo electrónico que terminen con el dominio @tigo.com.gt, ya que Comunicaciones Celulares, S.A. formaliza sus relaciones contractuales exclusivamente mediante contratos firmados físicamente por el Representante Legal de la Compañía, contenidos en documentos privados con firmas legalizadas y/o en escrituras públicas.

This e-mail, its content and its attachments are CONFIDENTIAL and may contain PRIVILEGED information and are solely for the intended recipient. If you have received this e-mail in error or if you are not the intended recipient, please do not copy or distribute it nor take any action in reliance upon it. Instead, please notify the sender and delete it from your system. The views expressed in this e-mail are solely those of the author and may not necessarily be those of, or supported by, the company. Comunicaciones Celulares, S.A. neither assumes obligations nor accepts liability for the content of this e-mail.
---------------------------------------------------------------------


reply via email to

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