This is the mail archive of the
cygwin-xfree@cygwin.com
mailing list for the Cygwin XFree86 project.
RE: XFree86 4.0.3 / LessTif 0.92.26 Symbol Collision
- To: "'Brian dot P dot Kasper at aero dot org'" <Brian dot P dot Kasper at aero dot org>, lesstif at hungry dot com, cygwin-xfree at sources dot redhat dot com
- Subject: RE: XFree86 4.0.3 / LessTif 0.92.26 Symbol Collision
- From: Suhaib Siddiqi <ssiddiqi at inspirepharm dot com>
- Date: Fri, 30 Mar 2001 12:31:18 -0500
I do not have an answer to your problem now, unless I compile LessTif under
Cygwin myself. These symbols are always defined in Xt and MOTIF 2.x
libraries. However I see your link line has redundencies
> ../../../lib/Xm-2.0/.libs/libXm.a -lXt -lSM -lICE -lX11 \
> -L/usr/X11R6/lib -lXt -lSM -lICE -lX11
Why every library needs to be linked twice?
Suhaib
> -----Original Message-----
> From: Brian.P.Kasper@aero.org [mailto:Brian.P.Kasper@aero.org]
> Sent: Friday, March 30, 2001 11:49 AM
> To: lesstif@hungry.com; cygwin-xfree@sources.redhat.com
> Subject: XFree86 4.0.3 / LessTif 0.92.26 Symbol Collision
>
>
> 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
>