[ Cross posted to debian-devel: Please advise. I don't know a lot
about this stuff yet. ]
I was editting a Debian bug report (against perl-5.005-base;
POSIX.pm is broken) with EDITOR set to `xg', my script that runs
XEmacs if there's no gnuserv, or gnuclient if there is a gnuserv...
I clicked the [Done] button, clicked [Yes] on the dialog box, and
XEmacs crashed, with the following to say... (luckily, I just
happened to be running it under gdb inside a screen.) Also attached
is the Installation file.
It linked against Xaw3d/libXaw, even though I told it `athena', not
`athena3d'... Hmmm. I wonder if I have the flat athena -dev kit
installed even? I'd better check before I send this... It's there.
Looks like it's part of the base X11 -dev installation... Hmmm.
What's wierd, is that in the filesystem, the symlink from
/usr/X11R6/lib/Xaw.so.6 points to Xaw.so.6.1, which is sitting right
next to it. In the subdirectory Xaw3d, "libXaw.so.6" (NOT
"libXaw3d.so.6") is a symlink back out a level to the libXaw3d.so.6.1
library. All through the (attached) config.log, things are linked
with `-lXaw'.
When XEmacs starts, it says:
/usr/local/src/XEmacs/xemacs-21.2/src/xemacs: Symbol `toggleClassRec' has different size in shared object, consider re-linking
/usr/local/src/XEmacs/xemacs-21.2/src/xemacs: Symbol `labelClassRec' has different size in shared object, consider re-linking
I will try running with a LD_PRELOAD and see what happens...
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? Should I
report this as a bug against the Debian Xaw3d package? I think
that's the correct course of action here. I'm starting to think I
ought not send this after all...
Ok, I've verified that if I use a LD_PRELOAD pointing to the flat
libXaw.so.6.1, the "Symbol" errors don't print on startup. (And with
the same LD_PRELOAD, ldd of course shows the flat libXaw) That is
likely what caused this and several other crashes. I can see that
it's not the fault of the XEmacs developers, but an error in the
system configuration. I will edit /etc/ld.so.conf, and investigate
the libXaw3d-dev package.
% ldd /usr/local/src/XEmacs/xemacs-21.2/src/xemacs
libXaw.so.6 => /usr/X11R6/lib/Xaw3d/libXaw.so.6 (0x4001c000)
libtiff.so.3 => /usr/lib/libtiff.so.3 (0x4006f000)
libpng.so.2 => /usr/lib/libpng.so.2 (0x400b2000)
libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x400d9000)
libz.so.1 => /usr/lib/libz.so.1 (0x400f9000)
libcompface.so.1 => /usr/lib/libcompface.so.1 (0x40108000)
libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4 (0x40114000)
libXmu.so.6 => /usr/X11R6/lib/libXmu.so.6 (0x40122000)
libXt.so.6 => /usr/X11R6/lib/libXt.so.6 (0x40134000)
libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x4017c000)
libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x40188000)
libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x40227000)
libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x40231000)
libdl.so.2 => /lib/libdl.so.2 (0x40247000)
libdb.so.3 => /lib/libdb.so.3 (0x4024b000)
libgpm.so.1 => /usr/lib/libgpm.so.1 (0x40286000)
libncurses.so.4 => /lib/libncurses.so.4 (0x4028c000)
libesd.so.0 => /usr/lib/libesd.so.0 (0x402cb000)
libaudiofile.so.0 => /usr/lib/libaudiofile.so.0 (0x402d3000)
libm.so.6 => /lib/libm.so.6 (0x402e6000)
libopenldap.so.1 => /usr/lib/libopenldap.so.1 (0x40303000)
liblber-openldap.so.1 => /usr/lib/liblber-openldap.so.1 (0x40318000)
libc.so.6 => /lib/libc.so.6 (0x4031d000)
/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)