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]

RE: XFree86 4.0.3 / LessTif 0.92.26 Symbol Collision



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
> 


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