cygwin.rules - Enabling shared libXt finally?
Harold L Hunt II
huntharo@msu.edu
Wed Oct 1 00:51:00 GMT 2003
With the release of Cygwin 1.5.x and newer versions of binutils, can we
finally make libXt a shared library?
I have been working with Alan to try to build a shared version of the
library, but I keep getting the following message upon startup of
Xt-dependent apps:
Error: Unresolved inheritance operation
This error message comes from xc/lib/Xt/Initialize.c/XtInitialize().
This function has been the root of our problems for some time now. IBM
and Sun have ways to work around similar problems with XtInitialize,
thus the file xc/lib/Xt/sharedlib.c. Also, looking in
xc/config/cf/ibmLib.rules/SharedLibraryTarget shows that they manually
call 'ar' to link sharedlib.o into the equivalent of libXt-6.dll.a.
I have been able to manually add sharedlib.o to libXt-6.dll.a by running
the following command:
ar cq libXt-6.dll.a sharedlib.o
I am looking for some help at finding a pragmatic solution to this.
First of all, I want to take a survey of whether anyone thinks we
actually have the necessary support in binutils to do this yet.
Secondly, I want to know if anyone can help me to figure out how to do this.
Note that the first thing to do is edit xc/config/cf/cygwin.rules and
change the Xt, Xaw, Xmu, etc. shared lib flags from NO to YES. After
that, you can add $(UNSHAREDOBJS) to your
cygwin.rules/SharedLibraryTarget dependencies. This will cause
xc/lib/Xt/sharedlib.o to be built automatically, but it will not be
linked by default.
Awaiting some input,
Harold
More information about the Cygwin-xfree
mailing list