Subject:
Re: [nanogui] microwin and cygwin
From:
tan yongzai ####@####.####
Date:
10 Jul 2006 17:12:10 +0100
Message-Id: <20060710161205.77638.qmail@web33104.mail.mud.yahoo.com>
Thanks a million Greg.. Finally it's working..
Just to share with anyone who experience the same problem, here's what I had done in src/demos/mwin directory makefile::
added the library link
LDFLAGS += -L/usr/X11R6/lib -lX11
Then push the $(LDFLAGS) to be after $(CCMWINLIBS)
$(MWIN_DEMOS_WITH_STANDARD_LINK): $(MW_DIR_BIN)/%: $(MW_DIR_OBJ)/demos/mwin/%.o $(MWINLIBS) $(CONFIG)
@echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..."
$(CC) $(CFLAGS) $< -o $@ $(CCMWINLIBS) $(LDFLAGS)
$(MW_DIR_BIN)/mine: $(MW_DIR_OBJ)/demos/mwin/mine.o $(MINEIMAGES) $(MWINLIBS) $(CONFIG)
@echo "Linking $(patsubst $(MW_DIR_BIN)/%,%,$@) ..."
$(CC) $(CFLAGS) $< $(MINEIMAGES) -o $@ $(CCMWINLIBS) $(LDFLAGS)
Cheers...
Regards,
YongZai
Greg Haerr ####@####.#### wrote: Looks like you're going to have to modify the Makefile rules in
the src/demos/mwin directory... if you look at your output,
you'll see that you're requesting -lX11 to be linked BEFORE
the linker sees the other -lmwin libraries, and they're the
ones that need -lX11. It needs to come afterwards.
Greg
----- Original Message -----
From: tan yongzai
To: Greg Haerr
Sent: Sunday, July 09, 2006 10:56 AM
Subject: Re: [nanogui] microwin and cygwin
Hi Greg,
-L/usr/X11R6/lib -lX11 has been appearing twice. One is added by me. I still can't figure out how to modify based on the constructed command line.
What am I missing here? Thanks again.
Here's part of the debug output:
Linking mdemo ...
gcc -Wall -Wpointer-arith -O3 -ggdb -I. -I/home/Zai/coding/microwin/src/includ
e -L/usr/X11R6/lib -lX11 -lm -L/home/Zai/coding/microwin/src/lib -L/usr/X11R6/l
ib -lX11 /home/Zai/coding/microwin/src/obj/demos/mwin/mdemo.o -o /home/Zai/coding/microwin/src/bin/mdemo -lmwin -lmwimages -lm /usr/lib/libjpeg.a /usr/lib/lib
png.a /usr/lib/libz.a /usr/lib/libz.a
/home/Zai/coding/microwin/src/lib/libmwin.a(scr_x11.o): In function `set_color':
/home/Zai/coding/microwin/src/drivers/scr_x11.c:136: undefined reference to `_XS
etForeground'
/home/Zai/coding/microwin/src/lib/libmwin.a(scr_x11.o): In function `lookup_colo
r':
/home/Zai/coding/microwin/src/drivers/scr_x11.c:150: undefined reference to `_XL
ookupColor'
/home/Zai/coding/microwin/src/drivers/scr_x11.c:151: undefined reference to `_XA
llocColor'
/home/Zai/coding/microwin/src/lib/libmwin.a(scr_x11.o): In function `update_from
_savebits':
/home/Zai/coding/microwin/src/drivers/scr_x11.c:303: undefined reference to `_XC
reateImage'
/home/Zai/coding/microwin/src/lib/libmwin.a(scr_x11.o): In function `lookup_colo
r':
/home/Zai/coding/microwin/src/drivers/scr_x11.c:150: undefined reference to `_XL
ookupColor'
/home/Zai/coding/microwin/src/drivers/scr_x11.c:151: undefined reference to `_XA
llocColor'
Regards,
YongZai
Greg Haerr ####@####.#### wrote: Set VERBOSE=Y so you can see the compiler/linker
command line, that will help your debugging. The
syntax looks correct, but you'll have to modify
based on the constructed command line.
Regards,
Greg
----- Original Message -----
From: tan yongzai
To: Greg Haerr
Sent: Sunday, July 09, 2006 2:42 AM
Subject: Re: [nanogui] microwin and cygwin
Hi Greg,
I added
LDFLAGS += -L/usr/X11R6/lib -lX11
in the arch.rules file but the problem is not resolved. Perhaps my syntax is wrong. Please advise. Many Thanks.
Regards,
Tan
Greg Haerr ####@####.#### wrote: Yes, put the X11 library in the default search path,
or add a linker -L path option in the Makefile.rules or
Arch.rules file.
Regards,
Greg
----- Original Message -----
From: tan yongzai
To: Greg Haerr
Sent: Saturday, July 08, 2006 8:19 PM
Subject: Re: [nanogui] microwin and cygwin
Dear Greg,
I have unset the LINK_APP_INTO_SERVER option but the problem still persist.
I install the X11 of the Cygwin through its setup.exe. Is there any way that I can correct the shared library problem?
Thanks again.
Regards,
Tan
Greg Haerr ####@####.#### wrote: Tan -
This appears to be a linker issue, when building the libmwin.a
library, it seems to want to have the X11 references defined, instead
of pointing to yet another shared library. Perhaps your X11
installation doesn't have the shared libraries in the correct
place. This seems to be an issue with LINK_APP_INTO_SERVER
only. Perhaps unset that option.
For the linux build, these references are satisified with the
standard X11 libX11.so library in the std location.
Regards,
Greg
----- Original Message -----
From: tan yongzai
To: Greg Haerr
Sent: Monday, July 03, 2006 5:58 PM
Subject: Re: [nanogui] microwin and cygwin
Hi Greg,
From the error output, it seems that the error occur when linking the mdemo. Attached are the error outputs for your reference.
Thanks again for your help.
Kind Regards,
YongZai
Greg Haerr ####@####.#### wrote: : I'm trying to use the cygwin to compile the microwin but encounter
undeclared reference to the function calls when compiling the
drivers/scr_x11.c, drivers/kbd_x11.c and libmwin.a
Errors with these files are core microwindows and shouldn't change
when turning off the demo builds.
:
: Before I build, I have tried both config.x11 and config.cygwin but the
above errors still persist. However, if I disable the building of demos,
then the compilation has no errors. I appreciate if someone can give me
some pointers. Thanks.
I need to see the error output in order to help you.
Regards,
Greg
---------------------------------
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail Beta.
---------------------------------
---------------------------------
---------------------------------
---------------------------------
---------------------------------
Yahoo! Messenger with Voice. Make PC-to-Phone Calls to the US (and 30+ countries) for 2�/min or less.
---------------------------------
Yahoo! Music Unlimited - Access over 1 million songs. Try it free.
---------------------------------
Do you Yahoo!?
Get on board. You're invited to try the new Yahoo! Mail Beta.
---------------------------------
Talk is cheap. Use Yahoo! Messenger to make PC-to-Phone calls. Great rates starting at 1¢/min.