This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
XFree86 4.0.3 / LessTif 0.92.26 Symbol Collision
- To: lesstif at hungry dot com, cygwin-xfree at sources dot redhat dot com
- Subject: XFree86 4.0.3 / LessTif 0.92.26 Symbol Collision
- From: Brian dot P dot Kasper at aero dot org
- Date: Fri, 30 Mar 2001 08:48:30 -0800
Hello.
I'm encountering multiply-defined symbols while linking
UIL clients included with LessTif 0.92.26 with the latest
Cygwin XFree86.
I'm compiling with Cygwin 1.1.8 (gcc 2.95.3-1) and the
binary release of XFree86 4.0.3 for Cygwin from
ftp://mirrors.rcn.net/pub/sourceware/cygwin/xfree/xc-4-binaries/4.0.3
I performed a clean install of Cygwin (uname -a returns
CYGWIN_NT-4.0 ZUUL 1.1.8(0.34/3/2) 2001-01-31 10:08 i686 unknown)
and untarred the XFree86 tarballs in / to create the /usr/X11R6
hierarchy.
I then downloaded the source distribution of LessTif from
ftp.hungry.com and extracted it. In the lesstif-0.92.26
directory, I typed
./configure --enable-static
and then
make
The build proceeded until it reached the UIL client
directory for Motif-2.0. The first error was about undefined
variables "optind" and "optarg" in clients/Motif-2.0/uil/main.c
but all I had to do there was add #include <getopt.h>.
The next error I encountered was during the link stage for
newuil.exe:
gcc -g -Wall -o newuil.exe newuil.o \
../../../lib/Uil-2.0/.libs/libUil.a \
-L/usr/X11R6/lib -lXt \
../../../lib/Mrm-2.0/.libs/libMrm.a \
../../../lib/Xm-2.0/.libs/libXm.a -lXt -lSM -lICE -lX11 \
-L/usr/X11R6/lib -lXt -lSM -lICE -lX11
../../../lib/Xm-2.0/.libs/libXm.a(Vendor.o)(.data+0x6e0): \
multiple definition of `vendorShellClassRec'
/usr/X11R6/lib/libXt.a(Vendor.o)(.data+0x0):Vendor.c: \
first defined here
../../../lib/Xm-2.0/.libs/libXm.a(Vendor.o)(.data+0x774): \
multiple definition of `vendorShellWidgetClass'
/usr/X11R6/lib/libXt.a(Vendor.o)(.data+0x94):Vendor.c: \
first defined here
collect2: ld returned 1 exit status
I have the Hummingbird Exceed XDK installed also; I did a
"strings libXm.lib libXt.lib | grep vendorShellClassRec"
and determined that both libraries contain references to
that string. I'm unsure which library should be defining
it.
Since this is a collision between libraries from two different
sources, I'm not sure how to proceed. I'm sending this to both
the cygwin-xfree mailing list and to lesstif@hungry.com.
I searched the cygwin-xfree archives for "lesstif" and found
some references to the "getopts" problem I mentioned above,
but nothing about multiply-defined symbols.
Thanks in advance for your time and consideration.
-Brian Kasper
kasper@aero.org