This is the mail archive of the cygwin-xfree mailing list for the Cygwin XFree86 project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem trying to build Cygwin X server from source


On 20/10/2013 23:57, Mark Lillibridge wrote:
> Jon TURNEY writes:
>>  On 19/10/2013 20:54, Mark Lillibridge wrote:
>>  > 
>>  >     This is xserver-cygwin-1.14.3-1, the latest as of several weeks ago.
>>  > 
>>  >     The part that is failing (make done in
>>  > /usr/src/xorg-server-1.14.3-1/src/xserver-cygwin-1.14.3-1/hw/xwin/glx):
>>  > 
>>  >   CC       wgl_ext_api.lo
>>  > In file included from wgl_ext_api.c:72:0:
>>  > generated_wgl_wrappers.c:79:1: error: unknown type name 'PFNWGLDXSETRESOURCESHAREHANDLENVPROC'
>>  > generated_wgl_wrappers.c:79:1: warning: initialization makes integer from pointer without a cast [enabled by default]
>>  > generated_wgl_wrappers.c:80:1: error: unknown type name 'PFNWGLDXOPENDEVICENVPROC'
>>  > generated_wgl_wrappers.c:80:1: warning: initialization makes integer from pointer without a cast [enabled by default]
>>  > generated_wgl_wrappers.c:81:1: error: unknown type name 'PFNWGLDXCLOSEDEVICENVPROC'
>>  > generated_wgl_wrappers.c:81:1: warning: initialization makes integer from pointer without a cast [enabled by default]
>>  > ...
>>  
>>  I think this is error is due to the khronos-opengl-registry package being more
>>  recent than the wglext.h provided by w32api-headers.
>>  
>>  I think the easiest way to work around this is to update wglext.h from
>>  http://www.opengl.org/registry/api/GL/wglext.h
> 
> Hmmm.  Which occurrence should I replace?
> 
>     mdl [103]# find /usr -name wglext.h -print
>     /usr/i686-w64-mingw32/sys-root/mingw/include/GL/wglext.h
>     /usr/include/GL/wglext.h
>     /usr/include/w32api/GL/wglext.h
>     /usr/x86_64-w64-mingw32/sys-root/mingw/include/GL/wglext.h
>     
>     mdl [112]# grep wglext *
>     wgl_ext_api.c:#include <GL/wglext.h>
>     wgl_ext_api.h:#include <GL/wglext.h>
>     
>     mdl [118]# grep usr/include *
>     Makefile:DBUS_CFLAGS = -I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include  
>     Makefile:DIX_CFLAGS = -DHAVE_DIX_CONFIG_H $(CWARNFLAGS) -fno-strict-aliasing -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/include/pixman-1 -I/usr/include/freetype2   -I$(top_srcdir)/include -I$(top_builddir)/include -I$(top_srcdir)/Xext -I$(top_srcdir)/composite -I$(top_srcdir)/damageext -I$(top_srcdir)/xfixes -I$(top_srcdir)/Xi -I$(top_srcdir)/mi -I$(top_srcdir)/miext/sync -I$(top_srcdir)/miext/shadow  -I$(top_srcdir)/miext/damage -I$(top_srcdir)/render -I$(top_srcdir)/randr -I$(top_srcdir)/fb -I$(top_srcdir)/dbe
>     Makefile:PIXMAN_CFLAGS = -I/usr/include/pixman-1  
>     Makefile:XSERVERCFLAGS_CFLAGS = -D_BSD_SOURCE -DHAS_FCHOWN -DHAS_STICKY_DIR_BIT -I/usr/include/pixman-1 -I/usr/include/freetype2  
>     Makefile:XSERVERLIBS_CFLAGS = -I/usr/include/pixman-1 -I/usr/include/freetype2  
>     Makefile:oldincludedir = /usr/include
>     
>     mdl [119]# grep mingw/include *
> 
> I'm guessing from the above that it's this one:
> 
>     /usr/include/GL/wglext.h

Yes, I guess that's first in the include search path.

Since w32api now provides a that header, we should probably stop providing it
in libGL-devel.

>     I replaced that one and the code in
> /usr/src/xorg-server-1.14.3-1/src/xserver-cygwin-1.14.3-1/hw/xwin/glx
> now compiles.  Unfortunately, code now fails elsewhere:
> 
> cd /usr/src/xorg-server-1.14.3-1/src/xserver-cygwin-1.14.3-1/hw/xwin
> make
> 
> gives:
> ...
> make[2]: Leaving directory `/usr/src/xorg-server-1.14.3-1/src/xserver-cygwin-1.14.3-1/hw/xwin/winclipboard'
> Making all in .
> make[2]: Entering directory `/usr/src/xorg-server-1.14.3-1/src/xserver-cygwin-1.14.3-1/hw/xwin'
>   CC       InitInput.o
>   CC       InitOutput.o
> InitOutput.c: In function âddxGiveUpâ:
> InitOutput.c:240:9: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
> InitOutput.c: In function âwinCheckMntOptâ:
> InitOutput.c:284:16: warning: cast discards â__attribute__((const))â qualifier from pointer target type [-Wcast-qual]
>   CC       winallpriv.o
>   CC       winauth.o
> In file included from /usr/lib/gcc/i686-pc-cygwin/4.7.3/../../../../include/w32api/winsock2.h:56:0,
>                  from /usr/include/X11/Xwinsock.h:55,
>                  from /usr/include/X11/Xpoll.h:163,
>                  from ../../os/osdep.h:85,
>                  from winauth.c:39:
> /usr/lib/gcc/i686-pc-cygwin/4.7.3/../../../../include/w32api/psdk_inc/_fd_types.h:100:2: warning: #warning "fd_set and associated macros have been defined in sys/types.      This can cause runtime problems with W32 sockets" [-Wcpp]
> In file included from /usr/include/X11/Xwinsock.h:55:0,
>                  from /usr/include/X11/Xpoll.h:163,
>                  from ../../os/osdep.h:85,
>                  from winauth.c:39:
> /usr/lib/gcc/i686-pc-cygwin/4.7.3/../../../../include/w32api/winsock2.h:995:34: error: conflicting types for âselectâ
> In file included from /usr/include/cygwin/sys_time.h:13:0,
>                  from /usr/include/sys/time.h:61,
>                  from /usr/include/sys/_default_fcntl.h:186,
>                  from /usr/include/sys/fcntl.h:3,
>                  from /usr/include/fcntl.h:14,
>                  from /usr/include/X11/Xos.h:88,
>                  from win.h:152,
>                  from winauth.c:35:

You will need to apply the attached change to /usr/include/Xpoll.h to fix
xserver compilation with w32api-headers >= 3.0.0-1, which adds a new WIN32
define somewhere, which breaks this test.

>>  >     Any suggestions?  The online documentation is seriously out of date,
>>  > predating the use of cygport.
>>  
>>  Which documentation, specifically?
> 
>     Hmmm.  You didn't just update the documentation on me did you?  The
> versions Google is giving me now are up-to-date.
> 
> Page 9 of http://x.cygwin.com/docs/cg/cygwin-x-cg.pdf says:
> 
>     Tip: Use setup -q -Ppackagename,packagename,etc. to quickly install
>     the required packages.
> 
> Darn if I could make this work no matter what I tried.  Really, you
> should just give the actual code here so people can cut-and-paste.
> Ideally, you should also specify how to get the needed packages via the
> setup GUI.

It's not really the function of that document to tell people how to install
packages on cygwin.

I don't really want to put the package list there twice and have to keep both
copies updated.

If you're doing the package installation manually, you just find them (perhaps
using the search function), and select them for installation.

-- 
Jon TURNEY
Volunteer Cygwin/X X Server maintainer

Attachment: 0001-Fix-WIN32-check.patch
Description: Text document

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://x.cygwin.com/docs/
FAQ:                   http://x.cygwin.com/docs/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]