[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]


>>>>> "Karl" == Karl M Hegbloom <karlheg@inetarena.com> writes:

    Karl>  When XEmacs starts, it says:

    Karl> /usr/local/src/XEmacs/xemacs-21.2/src/xemacs: Symbol `toggleClassRec' has different size in shared object, consider re-linking
    Karl> /usr/local/src/XEmacs/xemacs-21.2/src/xemacs: Symbol `labelClassRec' has different size in shared object, consider re-linking

Known problem, grep for `toggleClassRec' in the xemacs-beta archvies.

    Karl>  Hey, in /etc/ld.so.conf, the Xaw3d lib is listed FIRST, at
    Karl> the top of the file.  I bet that's what's wrong.  Do yous
    Karl> think so?

Yes and no.  This is what is supposed to happen.  libXaw3d is a
"drop-in" replacement for libXaw.  If you only use the public
interface, no problem.  If you subclass, and thus must use the private
interfaces, you get hosed.  I don't see any way around it given the
way the Xaw3d library was designed; I think you are going to get stuck
with multiple versions of XEmacs, one for each version of the fancy
widgets.  (You might be able to avoid multiple XEmacs packages by
dynamically detecting the libraries and loading XEmacs-Xaw*-shim.so
modules, but I don't know how to do that, if it is possible.)

It is obviously intended to be used so that apps which do no
subclassing get 3D widgets by default.  Such apps will not be broken
no matter which link-compatible Xaw3d is used.  Probably you, as
Debian maintainer for XEmacs, are expected to use xaw-wrappers to
intervene with ld.so, since XEmacs _does_ do subclassing.
(Disclaimer: I'm just guessing based on the name "xaw-wrappers".)

    Karl> Should I report this as a bug against the Debian
    Karl> Xaw3d package?  I think that's the correct course of action
    Karl> here.  I'm starting to think I ought not send this after
    Karl> all...

Actually, this is a well-known problem.  Reviewing the last couple of
months' traffic will show that this came up a lot.  Some people do
think it's a Debian design bug, I have no opinion.

As of a few days ago, this worked properly for me with the
then-current Debian potato and the then-current XEmacs CVS checkout.

The current plan (as I understand it, either read the autoconf source
for ./configure or ask Daniel Pittman <daniel@danann.net> for accurate
info) is to look for Xaw{3d,NeXt,xpm,...}, if found, link for them
explicitly (my ld line says -lXaw3d).  It looks to me like in your
case it found them but did not link explicitly, so you may not have
the most recent XEmacs.

The patches to ./configure.in are only about 10 days old; make sure
everything is current, do a make clean (if you have real cojones, do a 
make distclean; I don't think XEmacs uses too much auto* technology,
so probably everything will get regenerated even if you don't have
automake etc).

University of Tsukuba                Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences       Tel/fax: +81 (298) 53-5091
_________________  _________________  _________________  _________________
What are those straight lines for?  "XEmacs rules."

Reply to: