mingw-cross-env-list
[Top][All Lists]
Advanced

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

[Mingw-cross-env-list] Short info about crosscompiling QEMU


From: Guhl Peter
Subject: [Mingw-cross-env-list] Short info about crosscompiling QEMU
Date: Mon, 3 Jun 2013 09:04:53 +0200

Hello all

 

Just wanted to say that I sort of managed to build all QEMU-versions > 1.1.0 using mxe (or, to be exact, 1.4.1, 1.4.2 and 1.5.0). But the Windows binaries for arm emulation (the ones I actually need) are kind of unstable; I don’t (yet) know why. Most of the various pre-built QEMU-packages for Windows from others show similar instabilities, but the ones from omledom.com aren’t so I am still in the process of searching the flaw. I still hope this is just a question of the right compiler options, libraries included etc. and not an mxe-issue or an issue of MinGW crosscompiling as a whole (omledom seems to compile natively from what I have seen).

 

QEMU 1.1.0 and 0.14.1 don’t build:

0.14.1:

/media/e789ac4a-d9fe-4fbf-9576-9839333b5f26/qemu/qemu-stable-0.14-56a60dd/cpu-exec.c:681:1: error: bp cannot be used in asm here

}

^

make[1]: *** [cpu-exec.o] Error 1

 

A rather tricky error… actually I did not yet find a trace about what this could be about. Just workarounds for some specific cases not related to my problem.

 

1.1.0:

  LINK  qemu-img.exe
  /media/e789ac4a-d9fe-4fbf-9576-9839333b5f26/mingw/mxe-master/mxe/usr/i686-pc-mingw32/lib/libidn.a(nfkc.o):nfkc.c:(.rdata+0x14900): multiple definition of `g_utf8_skip'
  /media/e789ac4a-d9fe-4fbf-9576-9839333b5f26/mingw/mxe-master/mxe/usr/i686-pc-mingw32/lib/libglib-2.0.a(gutf8.o):gutf8.c:(.rdata+0x198): first defined here
  collect2: error: ld returned 1 exit status
  make: *** [qemu-img.exe] Error 1

 

I did not even start trying to find out what that could be…

 

However, I have to disable curses in all builds. gcc does not like a declaration in ncurses.h (or some file in that area…). Since it’s not important for my application I did not further investigate that particular case. The compiler reads something like „char bool“ somewhere in a definition and tells  me that this is a double type declaration. A quick check done right now in ncurses.h did not reveal anything useful, though… maybe somebody stumbles over the same issue in the future and knows how to fix it.

 

Build environment: SLAX 7 including some SLAX modules from the official repository (like bison, automake etc.), mxe-master.

 

BTW: Yes, I have to try to compile QEMU myself even though omledom.com and others are doing a great job in providing Windows binaries. We have to be able to add specific patches in some future usecases.

 

Regards

 

Peter Guhl
Software Architect

_________________________________________________________

 

STS Sensor Technik Sirnach AG
Rütihofstrasse 8 ,  8370 Sirnach, Switzerland


Tel:        +41 (0)71 969 49 29
Fax:       +41 (0)71 969 49 20

address@hidden
www.stssensors.com

_________________________________________________________

 


reply via email to

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