This is the mail archive of the cygwin-xfree@cygwin.com 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: problems with libX11.a


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,


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