Problems with shared lesstif and shared Xt on Cygwin/XFree86
Matthieu Herrb
matthieu.herrb@wanadoo.fr
Mon Oct 27 21:48:00 GMT 2003
Torrey Lyons wrote (in a message from Saturday 25)
> The issue on Mac OS X is that most shared libraries want to be built
> as "two-level namespace" images. Two-level namespace images have
> significant advantages in loading speed, but they require that they
> have no unresolved symbols when linking the library. This is why the
> darwinLib.tmpl contains a complete list of every library's
> dependencies. Unfortunately this causes a problem with two shared
> libraries, Xt and Xfont. The problem is that these libraries are
> designed to have certain symbols undefined and to have theses
> references resolved at application link time by one of various other
> library choices. In the case of Xt, SM and ICE provide the default
> resolution of these symbols in darwinLib.tmpl (and cygwin.tmpl), but
> symbols with the same names from lesstif should be used instead when
> the application is linked with it. Two-level namespace libraries
> don't allow you to do that since all symbols get resolved at library
> link time, not application link time. Thus we fixed this problem by
> building libXt and libXfont as flat namespace images, which have the
> same linking semantics that most people on other *nixes are used to.
Weak symbols can be used on systems that support them to solve this
kind of issues. Does cygwin support them ?
If so libXt and libXfont can be patched to provide weak definitions of
the SM/ICE functions it needs instead of linking libXt against those
libs.
Matthieu
More information about the Cygwin-xfree
mailing list