problems with libX11.a

Mark Mussetter mark@link-comm.com
Fri Jan 2 15:42:00 GMT 2004


Harold,

Sorry I forgot about that part.  The 'nbreaker' demo seemed to be the only 
demo causing problems and we were under some pressure to get the project 
built, so we moved the 'nbreaker' demo out of the demo directory so it 
wouldn't try to be built with the rest of the project.

I did some looking before removing the demo and found that 'GR_PIXMAP_ID' 
is NOT defined in any header.  I found a reference to 'GR_PIXMAP_ID' in the 
file 'original_mini-x.txt' which discussed all of the TYPEDEFS in the 
project.  This led me to the 'nano-X.h' header, which defines all of the 
other defines listed in 'oringal_mini-x.txt.'  I noticed that the comment 
on the typedef for 'GR_WINDOW_ID' mentioned that it was a "window or pixmap 
id."  I am assuming that if you were to define 'GR_PIXMAP_ID' in the same 
fashion as 'GR_WINDOW_ID' that you might be able to get the project to 
build...we just didn't have time to explore that option.

Mark


At 07:26 PM 12/31/2003 -0500, you wrote:
>Mark,
>
>Thanks, those instructions work until it gets to the 'nbreaker' demo:
>
>Linking /home/harold/x-devel/ports/MicroWindows/build/src/bin/launcher ...
>Updating dependencies in 
>/home/harold/x-devel/ports/MicroWindows/build/src/demos
>/nbreaker ...
>Compiling animate.c ...
>In file included from animate.c:41:
>nbreaker.h:160: error: syntax error before "GR_PIXMAP_ID"
>nbreaker.h:160: warning: no semicolon at end of struct or union
>nbreaker.h:161: warning: type defaults to `int' in declaration of `a'
>nbreaker.h:161: warning: data definition has no type or storage class
>nbreaker.h:171: error: syntax error before '}' token
>
>
>Seems that GR_PIXMAP_ID is not defined in the included headers.  Can you 
>describe how you worked through this?
>
>Harold
>
>Mark Mussetter wrote:
>
>>Hi Harold,
>>Thanks for your help.  We were able to get MicroWindows running after you 
>>pointed us in the right direction.  We already had the Xfree86-prog 
>>package but you comments about trying to link explicitly to libX11.a led 
>>us to the problem.  The following is a clip from Makefile.rules:
>>ifeq ($(X11), Y)
>>DEFINES += -DX11=1
>>ifneq ($(ARCH),CYGWIN)
>># Cygwin can't use this - the -lX11 needs to be specified
>># *after* the object files that use it, but this inserts
>># it at the start.  For Cygwin, we will add libX11.a to the
>># library list instead.
>>LDFLAGS += -L/usr/X11R6/lib -lX11
>>else
>>MW_CORE_LIBS += /usr/X11R6/lib/libX11.dll.a
>>endif
>>ifeq ($(ARCH),FREEBSD-X86)
>>INCLUDEDIRS += -I/usr/X11R6/include
>>endif
>>ifeq ($(ARCH),CYGWIN)
>>INCLUDEDIRS += -I/usr/X11R6/include
>>endif
>>endif
>>We changed the 10th line to its current state.  It used to say 
>>"MW_CORE_LIBS += /usr/X11R6/lib/libX11.a"
>>Once we made that change everything else fell into place and we were able 
>>to run the demos.
>>My steps were:
>>1. cd microwin/src
>>2. Typed "cp Configs/config.cygwin config" for the cygwin configuration.
>>    See CONTENTS and Configs/README for more information.
>>3. Typed "make"
>>4. Change the Makefile.rules file to link against libX11.dll.a instead of 
>>libX11.a
>>5. Typed "make"
>>4. Ran ./demo.sh
>>
>>Thanks again for your help,



More information about the Cygwin-xfree mailing list