Karl M. Hegbloom wrote:
It linked against Xaw3d/libXaw, even though I told it `athena',
not
`athena3d'...
[snip]
% ldd /usr/local/src/XEmacs/xemacs-21.2/src/xemacs
libXaw.so.6 => /usr/X11R6/lib/Xaw3d/libXaw.so.6 (0x4001c000)
It's linked against "libXaw.so.6". Exactly which "libXaw.so.6"
will be
used at run time depends upon first $LD_LIBRARY_PATH and then
/etc/ld.so.cache.
The problem is that only one of the libXaw's will work, i.e. the one
which matches the headers with which XEmacs was compiled.
Hey, in /etc/ld.so.conf, the Xaw3d lib is listed FIRST, at the top
of
the file. I bet that's what's wrong. Do yous think so?
No. The bug is that the Xaw3d version of the library can actually be
found somewhere under the name libXaw.so.6.
Should I report this as a bug against the Debian Xaw3d package?
You should report the fact that the Xaw3d version is called
"libXaw.so.6" as a Debian bug. It's not just Debian that has this bug,
but that doesn't make it any less of a bug.
If you look at your ldd output, you will notice that the dependencies
all include the major version number. This is because different major
versions are, at the binary level, completely different libraries. If
a program was built with the headers for libX11.so.6, libX11.so.7
wouldn't be any more acceptable as a substitute than would libz.so.1.
By the same token, libXaw3d.so.6 isn't an acceptable substitute for
libXaw.so.6, so it shouldn't be available under the name libXaw.so.6.
Not anywhere.
If you want to support Xaw3d, then link with "-lXaw3d" so that the
binaries explicitly require libXaw3d.so.6. It isn't hard to configure
Xaw3d to look and feel like plain Xaw if you want it to.
--
Glynn Clements <glynn(a)sensei.co.uk>