Okay, i followed the steps from the reply to my email I noticed on the website, but never made its way to my inbox. Now, I'm stuck with the following errors:
/home/mike/qemu/include/glib-compat.h: At top level: /home/mike/qemu/include/glib-compat.h:145:21: error: conflicting types for ‘g_cond_signal’ static inline void (g_cond_signal)(CompatGCond *cond) ^ In file included from /usr/x86_64-w64-mingw32/include/glib-2.0/glib/gasyncqueue.h:34:0, from /usr/x86_64-w64-mingw32/include/glib-2.0/glib.h:34, from qga/commands.c:13: /usr/x86_64-w64-mingw32/include/glib-2.0/glib/gthread.h:201:17: note: previous declaration of ‘g_cond_signal’ was here void g_cond_signal (GCond *cond); ^ In file included from /home/mike/qemu/include/qemu-common.h:25:0, from ./qga/guest-agent-core.h:14, from qga/commands.c:14: /home/mike/qemu/include/glib-compat.h: In function ‘g_cond_signal’: /home/mike/qemu/include/glib-compat.h:148:5: warning: passing argument 1 of ‘g_cond_signal’ from incompatible pointer type [enabled by default] g_cond_signal((GCond *) cond->once.retval); ^ /home/mike/qemu/include/glib-compat.h:145:21: note: expected ‘struct CompatGCond *’ but argument is of type ‘struct GCond *’ static inline void (g_cond_signal)(CompatGCond *cond) ^ /home/mike/qemu/include/glib-compat.h: At top level: /home/mike/qemu/include/glib-compat.h:154:24: error: static declaration of ‘g_thread_new’ follows non-static declaration static inline GThread *g_thread_new(const char *name, ^ In file included from /usr/x86_64-w64-mingw32/include/glib-2.0/glib/gasyncqueue.h:34:0, from /usr/x86_64-w64-mingw32/include/glib-2.0/glib.h:34, from qga/commands.c:13: /usr/x86_64-w64-mingw32/include/glib-2.0/glib/gthread.h:145:17: note: previous declaration of ‘g_thread_new’ was here GThread * g_thread_new (const gchar *name, ^ make: *** [qga/commands.o] Error 1 On Fri, Sep 18, 2015 at 10:49 PM, Mike Ladouceur <mike.ladouc...@live.com> wrote: > I tried from Ubuntu in Virtualbox and this is the error I now get and it > appears to be similar to the error from Cygwin. Configure seems to run > fine. Make fails. I'm officially lost. > > ./configure --cross-prefix=x86_64-w64-mingw32 > (...) > CC qga/commands-win32.o > qga/commands-win32.c: In function ‘qmp_guest_set_user_password’: > qga/commands-win32.c:1254:5: warning: passing argument 2 of > ‘g_base64_decode’ from incompatible pointer type [enabled by default] > rawpasswddata = (char *)g_base64_decode(password, &rawpasswdlen); > ^ > In file included from /usr/include/glib-2.0/glib.h:35:0, > from qga/commands-win32.c:14: > /usr/include/glib-2.0/glib/gbase64.h:52:9: note: expected ‘gsize *’ but > argument is of type ‘size_t *’ > guchar *g_base64_decode (const gchar *text, > ^ > CC qga/channel-win32.o > qga/channel-win32.c: In function ‘ga_channel_create_watch’: > qga/channel-win32.c:199:24: warning: cast from pointer to integer of > different size [-Wpointer-to-int-cast] > watch->pollfd.fd = (gintptr) c->rstate.ov.hEvent; > ^ > qga/channel-win32.c: At top level: > qga/channel-win32.c:205:11: error: conflicting types for ‘ga_channel_read’ > GIOStatus ga_channel_read(GAChannel *c, char *buf, size_t size, gsize > *count) > ^ > In file included from qga/channel-win32.c:9:0: > ./qga/channel.h:30:11: note: previous declaration of ‘ga_channel_read’ was > here > GIOStatus ga_channel_read(GAChannel *c, gchar *buf, gsize size, gsize > *count); > ^ > qga/channel-win32.c:269:11: error: conflicting types for > ‘ga_channel_write_all’ > GIOStatus ga_channel_write_all(GAChannel *c, const char *buf, size_t size) > ^ > In file included from qga/channel-win32.c:9:0: > ./qga/channel.h:31:11: note: previous declaration of > ‘ga_channel_write_all’ was here > GIOStatus ga_channel_write_all(GAChannel *c, const gchar *buf, gsize > size); > ^ > qga/channel-win32.c: In function ‘ga_channel_open’: > qga/channel-win32.c:291:19: error: ‘MAXPATHLEN’ undeclared (first use in > this function) > gchar newpath[MAXPATHLEN] = {0}; > ^ > qga/channel-win32.c:291:19: note: each undeclared identifier is reported > only once for each function it appears in > qga/channel-win32.c:291:11: warning: unused variable ‘newpath’ > [-Wunused-variable] > gchar newpath[MAXPATHLEN] = {0}; > ^ > make: *** [qga/channel-win32.o] Error 1 > > > On Wed, Sep 16, 2015 at 1:51 PM, Mike Ladouceur <mike.ladouc...@live.com> > wrote: > >> Thanks for the reply. I will try to cross-compile via cygwin seeing as >> I've had no luck installing and configuring mingw64. >> >> On Tue, Sep 15, 2015 at 4:44 PM, Eric Blake <ebl...@redhat.com> wrote: >> >>> On 09/15/2015 02:10 PM, Stefan Weil wrote: >>> >> >>> >> CC qga/commands-win32.o >>> >>> qga/commands-win32.c: In function ‘qmp_guest_set_user_password’: >>> >>> qga/commands-win32.c:1254:55: warning: passing argument 2 of >>> >>> ‘g_base64_decode’ from incompatible pointer type >>> >>> rawpasswddata = (char *)g_base64_decode(password, >>> &rawpasswdlen); >>> >>> ^ >>> >>> Ugh. Compiling for cygwin should favor POSIX interfaces, not >>> commands-win32. The build is failing because it isn't even correctly >>> deciding which files it should be compiling. >>> >>> >>> > compiling with cygwin is unsupported. I suggest using MinGW-w64 >>> > (which also works for cross compilations under Linux). >>> >>> Remember, cygwin is itself an emulation layer - you are emulating POSIX >>> interfaces on top of Windows; which, while making the environment easier >>> to port to, also makes the environment slower. qemu targets mingw and >>> not cygwin because qemu is an emulator and already slow enough, without >>> needing another layer of emulation thrown in the mix. >>> >>> That said, if you want to port qemu to cygwin and supply patches, I'm >>> more than willing to help review them. It's just that right now, it's >>> not my personal itch to write such patches, and that the qemu community >>> currently favors mingw rather than cygwin. >>> >>> Also, cygwin comes with cross-compilers, so you can still use your >>> cygwin setup to compile qemu for mingw (although doing the cross-compile >>> on a true Linux box will be faster). >>> >>> -- >>> Eric Blake eblake redhat com +1-919-301-3266 >>> Libvirt virtualization library http://libvirt.org >>> >>> >> >