C++ EZWindows Linker Errors when trying to run demos
- by Brent Nash
I'm attempting to download and use the EZWindows ( http://www.cs.virginia.edu/c++programdesign/software/ ) SPARC installation (the http://www.cs.virginia.edu/c++programdesign/software/EzWindows2a-SPARC.tar.gz file). When trying to build some of the examples that come with it, I'm getting some linker errors that I just can't figure out.
Here's the result of the uname -a command on the machine I'm running on (on which I am NOT an administrator):
SunOS AAA.BBB.edu 5.10 Generic_138888-07 sun4v sparc SUNW,T5240
And here is the result of the g++ -v command:
gcc version 2.95.2 19991024 (release)
If you untar/unzip the package, I'm trying to compile the example in samples/chap03/lawn by simply doing "gmake" in that directory, here's what I get. Here's the error I get:
bash-3.00$ gtar xfz EzWindows2a-SPARC.tar.gz
gtar: Removing leading `./' from member names
bash-3.00$ cd chap03/lawn
bash-3.00$ gmake clean ; gmake
rm -f *.o *~ lawn
make lawn
g++ -I/X11.6/include -I../../EzWindows/include -c prog3-5.cpp
prog3-5.cpp: In function `int ApiMain()':
prog3-5.cpp:75: warning: initialization to `long int' from `const float'
prog3-5.cpp:85: warning: initialization to `int' from `float'
prog3-5.cpp:86: warning: initialization to `int' from `float'
g++ -o lawn prog3-5.o -L/X11.6/lib -R/X11.6/lib -lX11 -lsocket -L../../EzWindows/lib -lezwin -lXpm
ld: warning: symbol `clog' has differing types:
(file /usr/usc/gnu/gcc/2.95.2/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/libstdc++.so type=OBJT; file /lib/libm.so type=FUNC);
/usr/usc/gnu/gcc/2.95.2/lib/gcc-lib/sparc-sun-solaris2.6/2.95.2/libstdc++.so definition taken
Undefined first referenced
symbol in file
__dl__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03RepPv ../../EzWindows/lib/libezwin.a(WindowManager.o)
__eh_pc ../../EzWindows/lib/libezwin.a(WindowManager.o)
clone__Q2t12basic_string3ZcZt18string_char_traits1ZcZt24__default_alloc_template2b0i03Rep ../../EzWindows/lib/libezwin.a(WindowManager.o)
ld: fatal: Symbol referencing errors. No output written to lawn
collect2: ld returned 1 exit status
*** Error code 1
make: Fatal error: Command failed for target `lawn'
Current working directory /export/samfs-bcf/rcf-11/bnash/sparc/chap03/lawn
gmake: *** [default] Error 1
This particular run was built using g++ 2.95.2, but I've also tried with versions 3.3.2 and 4.2.1 with other equally strange errors. I'm pretty sure that EZWindows requires a 2.x version of gcc & g++. I've tried to make sure that my LD_LIBRARY_PATH and PATH are setup to include everything that's needed, but it seems that may be incorrect.
I'm running out of ideas. Anyone have any other ones?