All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] Problems with native Mingw-w64 build
@ 2017-03-26 10:30 Mark Cave-Ayland
  2017-03-26 12:57 ` Peter Maydell
  0 siblings, 1 reply; 9+ messages in thread
From: Mark Cave-Ayland @ 2017-03-26 10:30 UTC (permalink / raw)
  To: qemu-devel

Hi all,

In order to do some testing on a Windows box, I've spent a bit of time
this weekend setting up a mingw-w64 build environment on Windows 10
using http://wiki.qemu-project.org/Hosts/W32 as a guideline.

After a few false starts, I was able to get the basic environment
working but so far I've been unable to build git master due to a couple
of failures:


1) texi2pod.pl error

  GEN     qemu.1
Bareword found where operator expected at
/c/Users/Mark/qemu/src/qemu/scripts/texi2pod.pl line 349, near "@(deftp"
  (Might be a runaway multi-line // string starting on line 337)
        (Missing operator before deftp?)
Unquoted string "deftp" may clash with future reserved word at
/c/Users/Mark/qemu/src/qemu/scripts/texi2pod.pl line 349.
Backslash found where operator expected at
/c/Users/Mark/qemu/src/qemu/scripts/texi2pod.pl line 349, near ")\"
        (Missing operator before \?)
Unrecognized escape \s passed through at
/c/Users/Mark/qemu/src/qemu/scripts/texi2pod.pl line 349.
syntax error at /c/Users/Mark/qemu/src/qemu/scripts/texi2pod.pl line
349, near "@(deftp"
Missing right curly or square bracket at
/c/Users/Mark/qemu/src/qemu/scripts/texi2pod.pl line 534, at end of line
Execution of /c/Users/Mark/qemu/src/qemu/scripts/texi2pod.pl aborted due
to compilation errors.
make: *** [qemu.1] Error 255

I'm not sure what the workaround for this is, however it is possible to
get further with the build by passing --disable-docs to configure.


2) glib-compat mkdtemp() error

  CC      qga/commands.o
In file included from
c:/Users/Mark/qemu/src/qemu/include/qemu/osdep.h:107:0,
                 from qga/commands.c:13:
c:/Users/Mark/qemu/src/qemu/include/glib-compat.h: In function
'qemu_g_dir_make_tmp':
c:/Users/Mark/qemu/src/qemu/include/glib-compat.h:59:9: error: implicit
declaration of function 'mkdtemp' [-Werror=implicit-function-declaration]
     if (mkdtemp(path) != NULL) {
         ^~~~~~~
c:/Users/Mark/qemu/src/qemu/include/glib-compat.h:59:5: error: nested
extern declaration of 'mkdtemp' [-Werror=nested-externs]
     if (mkdtemp(path) != NULL) {
     ^~
c:/Users/Mark/qemu/src/qemu/include/glib-compat.h:59:23: error:
comparison between pointer and integer [-Werror]
     if (mkdtemp(path) != NULL) {
                       ^~
cc1.exe: all warnings being treated as errors
make: *** [qga/commands.o] Error 1

This one seems to be a genuine bug since the wiki above mentions that
64-bit builds cannot use versions of glib > 2.22 due to a change in the
way global symbols are managed. Since g_dir_make_tmp() only appears in
glib 2.30 and later, we end up using the fallback code which fails
because mkdtemp() isn't available on Windows.


My guess would be that most people are using the Docker image to
cross-compile Windows binaries rather than attempting a native build
which is why no-one has really noticed (the mkdtemp() change went into
the tree around August last year). Do people consider native Windows
builds to still be supported?


ATB,

Mark.

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2017-03-31 18:38 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-03-26 10:30 [Qemu-devel] Problems with native Mingw-w64 build Mark Cave-Ayland
2017-03-26 12:57 ` Peter Maydell
2017-03-26 19:54   ` Stefan Weil
2017-03-27  5:48     ` Mark Cave-Ayland
2017-03-27 20:19       ` Stefan Weil
2017-03-28  7:25         ` Mark Cave-Ayland
2017-03-28 15:16           ` Thomas Huth
2017-03-31 17:08             ` Mark Cave-Ayland
2017-03-31 18:38               ` Stefan Weil

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.