[gtk-vnc-devel] Porting gtk-vnc to Windows (MinGW)



I made a little attempt to port gtk-vnc over to Windows using MinGW & MSYS, because we'd like to use gtk-vnc on Windows in various projects.

The port isn't going to be entirely straightforward, so here are my notes, and attached is the output of 'make -k' after a few iterations so you can see while files don't compile.

(1) getcontext/makecontext:

These are obviously missing on Windows. Win32 has similar functions 'GetThreadContext' and 'SetThreadContext', and there is an implementation I found of the Unix functions in terms of the Windows functions:

http://www.codeproject.com/KB/threads/ucontext.aspx?df=100&forumid=15621&exp=0&select=847762

I've mirrored the source files from the above page here; the license is LGPLv2:

http://annexia.org/tmp/win32_ucontext/

So that is some hope that the continuation/coroutine stuff can be ported with not too much work.

(2) Socket calls:

gvnc.c:13:24: error: sys/socket.h: No such file or directory
gvnc.c:14:24: error: netinet/in.h: No such file or directory
gvnc.c:15:23: error: arpa/inet.h: No such file or directory
gvnc.c:17:19: error: netdb.h: No such file or directory

When I ported libvirt, I found that most socket calls could be replaced just by modifying the header files to include <winsock2.h>, as in:

#ifndef HAVE_WINSOCK2_H
#include <sys/socket.h>
#include <netdb.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#else
#include <winsock2.h>
#endif

A few other changes were needed in libvirt but they weren't very invasive.

(3) getaddrinfo:

With libvirt we found that the best idea was to use the Gnulib implementation of getaddrinfo and a handful of other functions. Gnulib is a source library of useful functions which replaces functions where they are broken or missing on a platform (but otherwise leaves code unchanged). More about Gnulib here: http://www.gnu.org/software/gnulib/

Gnulib also contains wrappers which add missing macros such as F_GETFL, O_NONBLOCK.

Would gtk-vnc developers be happy with patches which pull in parts of Gnulib?

(4) Shared memory X11:

Windows completely lacks any X11 calls or Unix shared memory (shmctl etc.)

My reading of the code in vncshmimage.c is that it detects at runtime if MIT-SHM is available and can run with it enabled or disabled. To get this working under Windows, I think would require #ifdef-ing out any code which uses anything other than pure gdk calls in this file. (However my reading may be wrong ...)

Some shm code also leaks into vncdisplay.c, eg. calls to shmctl to clean things up.

	-	-	-

Any comments?

Rich.

--
Emerging Technologies, Red Hat - http://et.redhat.com/~rjones/
Registered Address: Red Hat UK Ltd, Amberley Place, 107-111 Peascod
Street, Windsor, Berkshire, SL4 1TE, United Kingdom.  Registered in
England and Wales under Company Registration No. 03798903
make  all-recursive
make[1]: Entering directory `/z/d/gtk-vnc.hg'
Making all in src
make[2]: Entering directory `/z/d/gtk-vnc.hg/src'
/bin/sh ../libtool --tag=CC   --mode=compile gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I..    -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include   -I /c/GNUTLS/include -DSYSCONFDIR=\""/usr/local/etc"\"  -I /c/GNUTLS/include -MT libgtk_vnc_1_0_la-continuation.lo -MD -MP -MF .deps/libgtk_vnc_1_0_la-continuation.Tpo -c -o libgtk_vnc_1_0_la-continuation.lo `test -f 'continuation.c' || echo './'`continuation.c
 gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include -I /c/GNUTLS/include -DSYSCONFDIR=\"/usr/local/etc\" -I /c/GNUTLS/include -MT libgtk_vnc_1_0_la-continuation.lo -MD -MP -MF .deps/libgtk_vnc_1_0_la-continuation.Tpo -c continuation.c  -DDLL_EXPORT -DPIC -o .libs/libgtk_vnc_1_0_la-continuation.o
In file included from continuation.c:11:
continuation.h:14:22: error: ucontext.h: No such file or directory
In file included from continuation.c:11:
continuation.h:19: error: expected specifier-qualifier-list before 'size_t'
continuation.c: In function 'cc_init':
continuation.c:15: warning: implicit declaration of function 'getcontext'
continuation.c:15: error: 'struct continuation' has no member named 'uc'
continuation.c:18: error: 'struct continuation' has no member named 'uc'
continuation.c:18: error: 'struct continuation' has no member named 'last'
continuation.c:19: error: 'struct continuation' has no member named 'uc'
continuation.c:20: error: 'struct continuation' has no member named 'uc'
continuation.c:20: error: 'struct continuation' has no member named 'stack_size'
continuation.c:21: error: 'struct continuation' has no member named 'uc'
continuation.c:23: warning: implicit declaration of function 'makecontext'
continuation.c:23: error: 'struct continuation' has no member named 'uc'
continuation.c:23: error: 'struct continuation' has no member named 'entry'
continuation.c: In function 'cc_release':
continuation.c:30: error: 'struct continuation' has no member named 'release'
continuation.c:31: error: 'struct continuation' has no member named 'release'
continuation.c: In function 'cc_swap':
continuation.c:38: error: 'struct continuation' has no member named 'exited'
continuation.c:39: error: 'struct continuation' has no member named 'last'
continuation.c:41: error: 'struct continuation' has no member named 'exited'
continuation.c:42: error: 'struct continuation' has no member named 'exited'
continuation.c:43: error: 'struct continuation' has no member named 'exited'
continuation.c:46: warning: implicit declaration of function 'swapcontext'
continuation.c:46: error: 'struct continuation' has no member named 'uc'
continuation.c:46: error: 'struct continuation' has no member named 'uc'
make[2]: *** [libgtk_vnc_1_0_la-continuation.lo] Error 1
/bin/sh ../libtool --tag=CC   --mode=compile gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I..    -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include   -I /c/GNUTLS/include -DSYSCONFDIR=\""/usr/local/etc"\"  -I /c/GNUTLS/include -MT libgtk_vnc_1_0_la-coroutine.lo -MD -MP -MF .deps/libgtk_vnc_1_0_la-coroutine.Tpo -c -o libgtk_vnc_1_0_la-coroutine.lo `test -f 'coroutine.c' || echo './'`coroutine.c
 gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include -I /c/GNUTLS/include -DSYSCONFDIR=\"/usr/local/etc\" -I /c/GNUTLS/include -MT libgtk_vnc_1_0_la-coroutine.lo -MD -MP -MF .deps/libgtk_vnc_1_0_la-coroutine.Tpo -c coroutine.c  -DDLL_EXPORT -DPIC -o .libs/libgtk_vnc_1_0_la-coroutine.o
coroutine.c:12:22: error: sys/mman.h: No such file or directory
In file included from coroutine.h:14,
                 from coroutine.c:15:
continuation.h:14:22: error: ucontext.h: No such file or directory
In file included from coroutine.h:14,
                 from coroutine.c:15:
continuation.h:24: error: expected specifier-qualifier-list before 'ucontext_t'
coroutine.c: In function '_coroutine_release':
coroutine.c:34: warning: implicit declaration of function 'munmap'
coroutine.c: In function 'coroutine_init':
coroutine.c:49: warning: implicit declaration of function 'mmap'
coroutine.c:50: error: 'PROT_READ' undeclared (first use in this function)
coroutine.c:50: error: (Each undeclared identifier is reported only once
coroutine.c:50: error: for each function it appears in.)
coroutine.c:50: error: 'PROT_WRITE' undeclared (first use in this function)
coroutine.c:51: error: 'MAP_PRIVATE' undeclared (first use in this function)
coroutine.c:51: error: 'MAP_ANONYMOUS' undeclared (first use in this function)
coroutine.c:52: warning: assignment makes pointer from integer without a cast
coroutine.c:53: error: 'MAP_FAILED' undeclared (first use in this function)
make[2]: *** [libgtk_vnc_1_0_la-coroutine.lo] Error 1
/bin/sh ../libtool --tag=CC   --mode=compile gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I..    -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include   -I /c/GNUTLS/include -DSYSCONFDIR=\""/usr/local/etc"\"  -I /c/GNUTLS/include -MT libgtk_vnc_1_0_la-gvnc.lo -MD -MP -MF .deps/libgtk_vnc_1_0_la-gvnc.Tpo -c -o libgtk_vnc_1_0_la-gvnc.lo `test -f 'gvnc.c' || echo './'`gvnc.c
 gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include -I /c/GNUTLS/include -DSYSCONFDIR=\"/usr/local/etc\" -I /c/GNUTLS/include -MT libgtk_vnc_1_0_la-gvnc.lo -MD -MP -MF .deps/libgtk_vnc_1_0_la-gvnc.Tpo -c gvnc.c  -DDLL_EXPORT -DPIC -o .libs/libgtk_vnc_1_0_la-gvnc.o
In file included from c:/MinGW/include/glib-2.0/glib/gthread.h:32,
                 from c:/MinGW/include/glib-2.0/glib/gasyncqueue.h:30,
                 from c:/MinGW/include/glib-2.0/glib.h:32,
                 from gvnc.h:4,
                 from gvnc.c:11:
c:/MinGW/include/glib-2.0/glib/gutils.h:316: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:316: warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
c:/MinGW/include/glib-2.0/glib/gutils.h:330: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:343: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:362: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:370: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:387: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:396: warning: C99 inline functions are not supported; using GNU89
In file included from c:/MinGW/include/glib-2.0/glib/gasyncqueue.h:30,
                 from c:/MinGW/include/glib-2.0/glib.h:32,
                 from gvnc.h:4,
                 from gvnc.c:11:
c:/MinGW/include/glib-2.0/glib/gthread.h:334: warning: C99 inline functions are not supported; using GNU89
gvnc.c:13:24: error: sys/socket.h: No such file or directory
gvnc.c:14:24: error: netinet/in.h: No such file or directory
gvnc.c:15:23: error: arpa/inet.h: No such file or directory
gvnc.c:17:19: error: netdb.h: No such file or directory
gvnc.c:29:20: error: endian.h: No such file or directory
In file included from coroutine.h:14,
                 from gvnc.c:31:
continuation.h:14:22: error: ucontext.h: No such file or directory
In file included from coroutine.h:14,
                 from gvnc.c:31:
continuation.h:24: error: expected specifier-qualifier-list before 'ucontext_t'
gvnc.c: In function 'gvnc_read_u16':
gvnc.c:436: warning: implicit declaration of function 'ntohs'
gvnc.c: In function 'gvnc_read_u32':
gvnc.c:443: warning: implicit declaration of function 'ntohl'
gvnc.c: In function 'gvnc_write_u16':
gvnc.c:460: warning: implicit declaration of function 'htons'
gvnc.c: In function 'gvnc_write_u32':
gvnc.c:466: warning: implicit declaration of function 'htonl'
gvnc.c: In function 'gvnc_read_pixel_format':
gvnc.c:657: error: '__BIG_ENDIAN' undeclared (first use in this function)
gvnc.c:657: error: (Each undeclared identifier is reported only once
gvnc.c:657: error: for each function it appears in.)
gvnc.c:657: error: '__LITTLE_ENDIAN' undeclared (first use in this function)
gvnc.c: In function 'gvnc_set_pixel_format':
gvnc.c:695: error: '__BIG_ENDIAN' undeclared (first use in this function)
gvnc.c: In function 'gvnc_open_fd':
gvnc.c:2024: warning: implicit declaration of function 'fcntl'
gvnc.c:2024: error: 'F_GETFL' undeclared (first use in this function)
gvnc.c:2026: error: 'O_NONBLOCK' undeclared (first use in this function)
gvnc.c:2027: error: 'F_SETFL' undeclared (first use in this function)
gvnc.c: In function 'gvnc_open_host':
gvnc.c:2039: error: storage size of 'hints' isn't known
gvnc.c:2049: error: 'AI_ADDRCONFIG' undeclared (first use in this function)
gvnc.c:2050: error: 'SOCK_STREAM' undeclared (first use in this function)
gvnc.c:2051: error: 'IPPROTO_TCP' undeclared (first use in this function)
gvnc.c:2053: warning: implicit declaration of function 'getaddrinfo'
gvnc.c:2061: warning: implicit declaration of function 'socket'
gvnc.c:2061: error: dereferencing pointer to incomplete type
gvnc.c:2061: error: dereferencing pointer to incomplete type
gvnc.c:2062: error: dereferencing pointer to incomplete type
gvnc.c:2066: error: 'F_GETFL' undeclared (first use in this function)
gvnc.c:2070: error: 'O_NONBLOCK' undeclared (first use in this function)
gvnc.c:2071: error: 'F_SETFL' undeclared (first use in this function)
gvnc.c:2084: warning: implicit declaration of function 'connect'
gvnc.c:2084: error: dereferencing pointer to incomplete type
gvnc.c:2084: error: dereferencing pointer to incomplete type
gvnc.c:2084: error: 'EISCONN' undeclared (first use in this function)
gvnc.c:2087: warning: implicit declaration of function 'freeaddrinfo'
gvnc.c:2091: error: 'EINPROGRESS' undeclared (first use in this function)
gvnc.c:2094: error: 'ECONNREFUSED' undeclared (first use in this function)
gvnc.c:2095: error: 'EHOSTUNREACH' undeclared (first use in this function)
gvnc.c:2102: error: dereferencing pointer to incomplete type
gvnc.c: In function 'gvnc_set_local':
gvnc.c:2236: error: '__BYTE_ORDER' undeclared (first use in this function)
make[2]: *** [libgtk_vnc_1_0_la-gvnc.lo] Error 1
/bin/sh ../libtool --tag=CC   --mode=compile gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I..    -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include   -I /c/GNUTLS/include -DSYSCONFDIR=\""/usr/local/etc"\"  -I /c/GNUTLS/include -MT libgtk_vnc_1_0_la-vncdisplay.lo -MD -MP -MF .deps/libgtk_vnc_1_0_la-vncdisplay.Tpo -c -o libgtk_vnc_1_0_la-vncdisplay.lo `test -f 'vncdisplay.c' || echo './'`vncdisplay.c
 gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include -I /c/GNUTLS/include -DSYSCONFDIR=\"/usr/local/etc\" -I /c/GNUTLS/include -MT libgtk_vnc_1_0_la-vncdisplay.lo -MD -MP -MF .deps/libgtk_vnc_1_0_la-vncdisplay.Tpo -c vncdisplay.c  -DDLL_EXPORT -DPIC -o .libs/libgtk_vnc_1_0_la-vncdisplay.o
In file included from c:/MinGW/include/glib-2.0/glib/gthread.h:32,
                 from c:/MinGW/include/glib-2.0/glib/gasyncqueue.h:30,
                 from c:/MinGW/include/glib-2.0/glib.h:32,
                 from c:/MinGW/include/gtk-2.0/gdk/gdktypes.h:32,
                 from c:/MinGW/include/gtk-2.0/gdk/gdkcolor.h:31,
                 from c:/MinGW/include/gtk-2.0/gdk/gdkcairo.h:23,
                 from c:/MinGW/include/gtk-2.0/gdk/gdk.h:30,
                 from c:/MinGW/include/gtk-2.0/gtk/gtkdrawingarea.h:31,
                 from vncdisplay.h:18,
                 from vncdisplay.c:11:
c:/MinGW/include/glib-2.0/glib/gutils.h:316: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:316: warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
c:/MinGW/include/glib-2.0/glib/gutils.h:330: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:343: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:362: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:370: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:387: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:396: warning: C99 inline functions are not supported; using GNU89
In file included from c:/MinGW/include/glib-2.0/glib/gasyncqueue.h:30,
                 from c:/MinGW/include/glib-2.0/glib.h:32,
                 from c:/MinGW/include/gtk-2.0/gdk/gdktypes.h:32,
                 from c:/MinGW/include/gtk-2.0/gdk/gdkcolor.h:31,
                 from c:/MinGW/include/gtk-2.0/gdk/gdkcairo.h:23,
                 from c:/MinGW/include/gtk-2.0/gdk/gdk.h:30,
                 from c:/MinGW/include/gtk-2.0/gtk/gtkdrawingarea.h:31,
                 from vncdisplay.h:18,
                 from vncdisplay.c:11:
c:/MinGW/include/glib-2.0/glib/gthread.h:334: warning: C99 inline functions are not supported; using GNU89
In file included from coroutine.h:14,
                 from vncdisplay.c:12:
continuation.h:14:22: error: ucontext.h: No such file or directory
In file included from coroutine.h:14,
                 from vncdisplay.c:12:
continuation.h:24: error: expected specifier-qualifier-list before 'ucontext_t'
vncdisplay.c:22:21: error: sys/ipc.h: No such file or directory
vncdisplay.c:23:21: error: sys/shm.h: No such file or directory
vncdisplay.c:27:17: error: pwd.h: No such file or directory
vncdisplay.c: In function 'on_resize':
vncdisplay.c:469: warning: implicit declaration of function 'shmctl'
vncdisplay.c:469: error: 'IPC_RMID' undeclared (first use in this function)
vncdisplay.c:469: error: (Each undeclared identifier is reported only once
vncdisplay.c:469: error: for each function it appears in.)
vncdisplay.c: In function 'on_shared_memory_rmid':
vncdisplay.c:536: error: 'IPC_RMID' undeclared (first use in this function)
vncdisplay.c: In function 'vnc_display_set_x509_credential':
vncdisplay.c:1134: warning: implicit declaration of function 'getpwuid'
vncdisplay.c:1134: warning: implicit declaration of function 'getuid'
vncdisplay.c:1134: warning: assignment makes pointer from integer without a cast
vncdisplay.c:1137: error: dereferencing pointer to incomplete type
make[2]: *** [libgtk_vnc_1_0_la-vncdisplay.lo] Error 1
/bin/sh ../libtool --tag=CC   --mode=compile gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I..    -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include   -I /c/GNUTLS/include -DSYSCONFDIR=\""/usr/local/etc"\"  -I /c/GNUTLS/include -MT libgtk_vnc_1_0_la-vncshmimage.lo -MD -MP -MF .deps/libgtk_vnc_1_0_la-vncshmimage.Tpo -c -o libgtk_vnc_1_0_la-vncshmimage.lo `test -f 'vncshmimage.c' || echo './'`vncshmimage.c
 gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include -I /c/GNUTLS/include -DSYSCONFDIR=\"/usr/local/etc\" -I /c/GNUTLS/include -MT libgtk_vnc_1_0_la-vncshmimage.lo -MD -MP -MF .deps/libgtk_vnc_1_0_la-vncshmimage.Tpo -c vncshmimage.c  -DDLL_EXPORT -DPIC -o .libs/libgtk_vnc_1_0_la-vncshmimage.o
In file included from c:/MinGW/include/glib-2.0/glib/gthread.h:32,
                 from c:/MinGW/include/glib-2.0/glib/gasyncqueue.h:30,
                 from c:/MinGW/include/glib-2.0/glib.h:32,
                 from c:/MinGW/include/glib-2.0/gobject/gtype.h:26,
                 from c:/MinGW/include/glib-2.0/gobject/gboxed.h:26,
                 from c:/MinGW/include/glib-2.0/glib-object.h:25,
                 from vncshmimage.h:18,
                 from vncshmimage.c:11:
c:/MinGW/include/glib-2.0/glib/gutils.h:316: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:316: warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
c:/MinGW/include/glib-2.0/glib/gutils.h:330: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:343: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:362: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:370: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:387: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:396: warning: C99 inline functions are not supported; using GNU89
In file included from c:/MinGW/include/glib-2.0/glib/gasyncqueue.h:30,
                 from c:/MinGW/include/glib-2.0/glib.h:32,
                 from c:/MinGW/include/glib-2.0/gobject/gtype.h:26,
                 from c:/MinGW/include/glib-2.0/gobject/gboxed.h:26,
                 from c:/MinGW/include/glib-2.0/glib-object.h:25,
                 from vncshmimage.h:18,
                 from vncshmimage.c:11:
c:/MinGW/include/glib-2.0/glib/gthread.h:334: warning: C99 inline functions are not supported; using GNU89
vncshmimage.c:15:21: error: sys/ipc.h: No such file or directory
vncshmimage.c:16:21: error: sys/shm.h: No such file or directory
vncshmimage.c:18:22: error: X11/Xlib.h: No such file or directory
vncshmimage.c:19:23: error: X11/Xutil.h: No such file or directory
vncshmimage.c:20:33: error: X11/extensions/XShm.h: No such file or directory
vncshmimage.c:22:22: error: gdk/gdkx.h: No such file or directory
vncshmimage.c:29: error: expected specifier-qualifier-list before 'XShmSegmentInfo'
vncshmimage.c: In function 'vnc_shm_image_initialize':
vncshmimage.c:40: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:40: error: 'XShmSegmentInfo' undeclared (first use in this function)
vncshmimage.c:40: error: (Each undeclared identifier is reported only once
vncshmimage.c:40: error: for each function it appears in.)
vncshmimage.c:40: error: expected expression before ')' token
vncshmimage.c:41: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:42: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:44: error: 'VncShmImagePrivate' has no member named 'xdisplay'
vncshmimage.c:44: warning: implicit declaration of function 'gdk_x11_display_get_xdisplay'
vncshmimage.c:46: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:47: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:48: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:53: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:53: warning: implicit declaration of function 'XShmCreateImage'
vncshmimage.c:53: error: 'VncShmImagePrivate' has no member named 'xdisplay'
vncshmimage.c:54: warning: implicit declaration of function 'GDK_VISUAL_XVISUAL'
vncshmimage.c:56: error: 'ZPixmap' undeclared (first use in this function)
vncshmimage.c:58: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:60: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:63: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:63: warning: implicit declaration of function 'shmget'
vncshmimage.c:63: error: 'IPC_PRIVATE' undeclared (first use in this function)
vncshmimage.c:64: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:64: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:65: error: 'IPC_CREAT' undeclared (first use in this function)
vncshmimage.c:66: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:69: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:69: warning: implicit declaration of function 'shmat'
vncshmimage.c:69: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:70: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:70: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:72: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:77: warning: implicit declaration of function 'XShmAttach'
vncshmimage.c:77: error: 'VncShmImagePrivate' has no member named 'xdisplay'
vncshmimage.c:77: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:78: warning: implicit declaration of function 'XSync'
vncshmimage.c:78: error: 'VncShmImagePrivate' has no member named 'xdisplay'
vncshmimage.c:78: error: 'False' undeclared (first use in this function)
vncshmimage.c:83: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:84: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:85: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:86: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:87: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:94: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:95: warning: implicit declaration of function 'shmdt'
vncshmimage.c:95: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:97: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:98: warning: implicit declaration of function 'shmctl'
vncshmimage.c:98: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:98: error: 'IPC_RMID' undeclared (first use in this function)
vncshmimage.c:100: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:101: warning: implicit declaration of function 'XDestroyImage'
vncshmimage.c:101: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:103: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:104: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:106: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c:109: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c:110: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c:111: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c:112: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c: In function 'vnc_shm_image_finalize':
vncshmimage.c:123: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c:124: warning: implicit declaration of function 'XShmDetach'
vncshmimage.c:124: error: 'VncShmImagePrivate' has no member named 'xdisplay'
vncshmimage.c:124: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:125: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:126: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:127: error: 'VncShmImagePrivate' has no member named 'x_shm_info'
vncshmimage.c:129: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c: In function 'vnc_shm_image_class_init':
vncshmimage.c:146: error: 'Bool' undeclared (first use in this function)
vncshmimage.c:146: error: expected ';' before 'pixmaps'
vncshmimage.c:148: error: 'Display' undeclared (first use in this function)
vncshmimage.c:148: error: 'xdisplay' undeclared (first use in this function)
vncshmimage.c:150: warning: implicit declaration of function 'XShmQueryExtension'
vncshmimage.c:151: warning: implicit declaration of function 'XShmQueryVersion'
vncshmimage.c:151: error: 'pixmaps' undeclared (first use in this function)
vncshmimage.c: In function 'vnc_shm_image_draw':
vncshmimage.c:178: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c:181: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c:186: warning: implicit declaration of function 'XShmPutImage'
vncshmimage.c:186: warning: implicit declaration of function 'GDK_DRAWABLE_XDISPLAY'
vncshmimage.c:187: warning: implicit declaration of function 'GDK_DRAWABLE_XID'
vncshmimage.c:188: warning: implicit declaration of function 'GDK_GC_XGC'
vncshmimage.c:189: error: 'VncShmImagePrivate' has no member named 'ximage'
vncshmimage.c:191: error: 'False' undeclared (first use in this function)
vncshmimage.c: In function 'vnc_shm_image_get_pixbuf':
vncshmimage.c:197: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c:205: error: 'VncShmImagePrivate' has no member named 'image'
vncshmimage.c:215: error: 'VncShmImagePrivate' has no member named 'ximage'
make[2]: *** [libgtk_vnc_1_0_la-vncshmimage.lo] Error 1
make[2]: Target `all' not remade because of errors.
make[2]: Leaving directory `/z/d/gtk-vnc.hg/src'
Making all in examples
make[2]: Entering directory `/z/d/gtk-vnc.hg/examples'
gcc-sjlj -std=gnu99 -DHAVE_CONFIG_H -I. -I..    -mms-bitfields -Ic:/MinGW/include/gtk-2.0 -Ic:/MinGW/lib/gtk-2.0/include -Ic:/MinGW/include/atk-1.0 -Ic:/MinGW/include/cairo -Ic:/MinGW/include/pango-1.0 -Ic:/MinGW/include/glib-2.0 -Ic:/MinGW/lib/glib-2.0/include    -I../src/ -I /c/GNUTLS/include -MT gvncviewer-gvncviewer.o -MD -MP -MF .deps/gvncviewer-gvncviewer.Tpo -c -o gvncviewer-gvncviewer.o `test -f 'gvncviewer.c' || echo './'`gvncviewer.c
In file included from c:/MinGW/include/glib-2.0/glib/gthread.h:32,
                 from c:/MinGW/include/glib-2.0/glib/gasyncqueue.h:30,
                 from c:/MinGW/include/glib-2.0/glib.h:32,
                 from c:/MinGW/include/gtk-2.0/gdk/gdktypes.h:32,
                 from c:/MinGW/include/gtk-2.0/gdk/gdkcolor.h:31,
                 from c:/MinGW/include/gtk-2.0/gdk/gdkcairo.h:23,
                 from c:/MinGW/include/gtk-2.0/gdk/gdk.h:30,
                 from c:/MinGW/include/gtk-2.0/gtk/gtkdrawingarea.h:31,
                 from ../src/vncdisplay.h:18,
                 from gvncviewer.c:1:
c:/MinGW/include/glib-2.0/glib/gutils.h:316: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:316: warning: to disable this warning use -fgnu89-inline or the gnu_inline function attribute
c:/MinGW/include/glib-2.0/glib/gutils.h:330: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:343: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:362: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:370: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:387: warning: C99 inline functions are not supported; using GNU89
c:/MinGW/include/glib-2.0/glib/gutils.h:396: warning: C99 inline functions are not supported; using GNU89
In file included from c:/MinGW/include/glib-2.0/glib/gasyncqueue.h:30,
                 from c:/MinGW/include/glib-2.0/glib.h:32,
                 from c:/MinGW/include/gtk-2.0/gdk/gdktypes.h:32,
                 from c:/MinGW/include/gtk-2.0/gdk/gdkcolor.h:31,
                 from c:/MinGW/include/gtk-2.0/gdk/gdkcairo.h:23,
                 from c:/MinGW/include/gtk-2.0/gdk/gdk.h:30,
                 from c:/MinGW/include/gtk-2.0/gtk/gtkdrawingarea.h:31,
                 from ../src/vncdisplay.h:18,
                 from gvncviewer.c:1:
c:/MinGW/include/glib-2.0/glib/gthread.h:334: warning: C99 inline functions are not supported; using GNU89
gvncviewer.c:7:24: error: sys/socket.h: No such file or directory
gvncviewer.c:8:24: error: netinet/in.h: No such file or directory
gvncviewer.c:9:25: error: netinet/tcp.h: No such file or directory
gvncviewer.c:10:23: error: arpa/inet.h: No such file or directory
make[2]: *** [gvncviewer-gvncviewer.o] Error 1
make[2]: *** No rule to make target `../src/libgtk-vnc-1.0.la', needed by `gvncviewer.exe'.
make[2]: Target `all' not remade because of errors.
make[2]: Leaving directory `/z/d/gtk-vnc.hg/examples'
make[2]: Entering directory `/z/d/gtk-vnc.hg'
make[2]: Leaving directory `/z/d/gtk-vnc.hg'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/z/d/gtk-vnc.hg'
make: *** [all] Error 2

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature



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