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: Built XWin on mingw - with patches


Ryan Pavlik <rpavlik <at> iastate.edu> writes:

> 
> On Mon, Nov 7, 2011 at 12:10 PM, Jon TURNEY <jon.turney <at> dronecode.org.uk>
wrote:
> > Sorry, I should have mentioned this before, but please can you add a
> > 'Signed-off-by' line to these (git commit --amend --signoff will add one for
> > you)
> >
> > A few comments, I'll take a deeper look later:
> >
> > 0001-os-osinit.c-Exclude-new-signal-sigaction-code-on-non.patch
> >
> > Shouldn't this be X_NOT_POSIX rather than X_NO_POSIX?
> 
> Good catch, thanks!
> 
> >
> > 0006-hw-xwin-Makefile.am-Include-manifest-in-the-dist-tar.patch
> >
> > Good catch! 
> >
> 
> Yeah, notices this when trying to build for tarballs.
> 
> > 0009-os-utils.c-Use-winxp-or-better-for-Winsock-API.patch
> >
> > I am a bit unclear why this is needed, surely the winsock API predates XP?
> > It might be better to add this define to CFLAGS rather than to start
> > sprinkling it around source files as needed?
> >
> 
> Yes, but one of the calls in that file uses a part of the winsock API
> introduced in XP - getaddrinfo and freeaddrinfo.
>
http://cygwin.com/cgi-bin/cvsweb.cgi/src/winsup/w32api/include/ws2tcpip.h?rev=1.12&content-type=text/x-cvsweb-markup&cvsroot=src
> 
> > 0013-hw-xwin-InitOutput.c-Remove-duplicated-code-for-sett.patch
> >
> > Comment should probably say 'Consolidate duplicate code' rather than
> > 'Remove'
> >
> > It seems this changes more than that, though, as it now looks for the files
> > in both PROJECTROOT and basedir?
> >
> > 0017-dix-registry.c-non-cygwin-find-protocol.txt-in-reloc.patch
> >
> > I think the answer to the question 'Should this actually be checking
> > RELOCATE_PROJECTROOT ?' is yes
> >
> 
> The catch here is that RELOCATE_PROJECTROOT is currently (added by me,
> since it wasn't in any header except the unused autogenerated one) in
> xwin-config.h. Would it be appropriate to move it to dix-config.h for
> this purpose?
> 
> > I think it would probably be neater to do something like arrange for
> > FILENAME to start with the platform-appropriate path separator, rather than
> > to define FILENAME_ONLY as the same name without an initial path separator?
> >
> 
> The difference is not just the path separator - the FILENAME also
> includes the macro define (string literal) of the install location,
> which is concatenated with the filename by the preprocessor.
> 
> > 0027-dix-registry.c-Free-old-memory-upon-realloc-failure.patch
> >
> > Interesting.
> >
> > It would probably be useful to quote the language from the appropriate
> > standard which describes the behavior of realloc() in this error case in the
> > comment.
> >
> > I don't think this change is fully correct however. ÂIf the realloc'ed size
> > is 0, realloc() may return NULL, but the previously allocated memory has
> > been freed. ÂPerhaps you need to check if errno has been set by realloc to
> > distinguish these two cases?
> >
> > Did you notice this by inspection or actually have a problem caused by this
> > code? Have you audited the rest of the xserver code for this class of error?
> >
> 
> Good point. I found this with cppcheck - a static analysis tool that,
> despite its name, is useful for C code as well. There were other
> issues it mentioned in the xserver code, but I didn't get to any of
> the others yet. In any case, it's a completely orthogonal patch. Might
> be useful for someone more familiar with the code to run cppcheck and
> address the issues.
> 
> > 0041-configure.ac-mingw-doesn-t-have-setuid-either.patch
> >
> > Use whitespace consistently with the context, please
> 
> Oops - will correct.
> 
> >
> > --
> > Jon TURNEY
> > Volunteer Cygwin/X X Server maintainer
> >
> 

I have successfully built XWin with some Xming project patches( manually adopted
line by line after understanding the purpose) on MINGW environment and also
activated GLX. not AIGLX yet because I couldn't find a way to build swrast
driver of Mesa with xlib option, but server side is activated. 

I am finalizing my built, and I am facing on an issue point.

1. in MINGW environment, I could successfully compile xkeyboard-config 1.3
version package, but higher version is failed.

below is an error message from version 2.3
interesting thing is "xkbcomp -lfhlpR -o compat.dir '*'" command doesn't
generate the compat.dir file and even command from 1.3 also doesn't generate the
file when I manually wrote in MINGW shell.

but 1.3 version is working in script operation in the shell.

why I am trying to do this is to figure out an root error point after calling
XSync() command in XMesaSwapBuffers() which is the last call after rendering 3D
objects.
Now, XWin is working fine before calling the command and the command is
generating "BadRequest" and I believe that it comes from Xi module and then
digging the root cause. ( to clean out a possibility because I used too old
xkeyboard-config )

***********************************************************
[ Client End ]
seongnam@Panda ~/build/bin
$ ./GLlesson05.exe
Got Doublebuffered Visual!
glX-Version 1.4
Resolution 600x600
Depth 24
Congrats, you have Direct Rendering!
X Error:  BadRequest
  Request Major code 0 ()
  Error Serial #35
  Current Serial #38

***********************************************************
[ Server End ] 
REPLY: ClientIDX: 4 Xerror: Code: 0x1 resID: 0xffffffe6 maj: 0x0 min: 0
REQUEST: ClientIDX: 4, type: 0x0 data: 0x0 len: 0
REPLY: ClientIDX: 4 Xerror: Code: 0x1 resID: 0xffffffe6 maj: 0x0 min: 0
REPLY: ClientIDX: 1 XEvent: type: 0x12 detail: 0x0 seq#: 0x19
REPLY: ClientIDX: 1 XEvent: type: 0x11 detail: 0x0 seq#: 0x19

***********************************************************
[ xkeyboard-config error message ]
  xkeyboard-config is configured with the following parameters:
    XKB base directory: ${datarootdir}/X11/xkb
    Symbolic link(s) to legacy rules are not created
    Compatibility rules are included
***********************************************************
Making all in compat
make[1]: Entering directory `/home/seongnam/src/xkeyboard-config-2.3/compat'
rm -f compat.dir
/home/seongnam/build/bin/xkbcomp -lfhlpR -o compat.dir '*'
make[1]: *** [compat.dir] Error 1
make[1]: Leaving directory `/home/seongnam/src/xkeyboard-config-2.3/compat'
make: *** [all-recursive] Error 1
build.sh: "make " failed on xkeyboard-config/xkeyboard-config
build.sh: error processing module/component:  "xkeyboard-config/xkeyboard-config




--
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]