[progress] Debugging evolution-2.8 on DragonFly

walt wa1ter at myrealbox.com
Sat Oct 21 11:26:06 PDT 2006


On Sat, 21 Oct 2006, Joerg Sonnenberger wrote:

> On Sat, Oct 21, 2006 at 06:21:00AM -0700, walt wrote:
> > I'm still plugging away at evolution, try to find why it runs
> > properly as root, but not as a user.
> >
> > I've tracked the problem down to one system call in libgmodule.so
> > which is part of glib2:
> >
> > (gdb)
> > _g_module_symbol (handle=0x294b2500, symbol_name=0x2897c57d
> > "Bonobo_Plugin_info")
> >     at gmodule-dl.c:144
> > 144       p = dlsym (handle, symbol_name);
>
> (a) Can you find out which DSO handle refers to? E.g. break point on
> dlopen and remembering the result or finding the matching dlopen.
>
> (b) What is symbol_name?

DSO means dynamic shared object (i.e. library)?

When starting evolution as an ordinary user I see the same error
for every library in /usr/pkg/lib/evolution/2.8/components/:

(evolution-2.8:58237): evolution-shell-WARNING **: Cannot activate
'OAFIID:GNOME_Evolution_Mail_Component:2.8': Can't find symbol
Bonobo_Plugin_info in
`/usr/pkg/lib/evolution/2.8/components/libevolution-mail.so'
[snip four other libs with the same error].

Each time the symbol_name is 'Bonobo_Plugin_info':

$ nm /usr/pkg/lib/evolution/2.8/components/libevolution-mail.so |grep Plugin
000c9b80 D Bonobo_Plugin_info

I can use 'nm' to access that symbol as an ordinary user, so why can't
evolution do the same?

evolution --> libbonobo-activation.so --> libgmodule-2.0.so --> ld-elf.so.2
and this works perfectly as root, but fails as a luser.

Maybe I can figure out how to compile ld-elf with debugging info while
I'm waiting for your answer :o)






More information about the Users mailing list