I get a core dump whenever I start a pygtk app, looking something like

Gtk-WARNING **: /opt/gnome/lib/libgdk_imlib.so.1: undefined symbol:
gdk_display
Segmentation fault (core dumped)

Looking at the start of gdb's traceback I get this:

#0  0x1232 in ?? ()
#1  0x4000d018 in g_module_open (
    file_name=0x81dd5d0 "/opt/gnome/lib/gtk/themes/engines/libpixmap.so", 
    flags=0) at gmodule.c:266
#2  0x4041a7e8 in gtk_theme_engine_get (name=0x81dc8e0 "pixmap")
    at gtkthemes.c:89
#3  0x403f8240 in gtk_rc_parse_engine (scanner=0x81db380,
rc_style=0x81dd498)
    at gtkrc.c:1626
#4  0x403f7b07 in gtk_rc_parse_style (scanner=0x81db380) at gtkrc.c:1323
#5  0x403f7762 in gtk_rc_parse_statement (scanner=0x81db380) at
gtkrc.c:1177
#6  0x403f703f in gtk_rc_parse_any (
    input_name=0x81db298 "/home/mwh21/.themes/marble3D/gtk/gtkrc",
input_fd=7, 
    input_string=0x0) at gtkrc.c:899

So it would seem to be the pixmap theme at fault; sure enough if I remove
~/.gtkrc, everything works.

All the other gtk+/gnome apps work just fine.

Any ideas?

STOP PRESS!

Further experimenting leads me to find that prepending

LD_PRELOAD=" /opt/gnome/lib/libgdk.so /opt/gnome/lib/libglib.so
/opt/gnome/lib/libgtk.so "

to the command line stops the crashes...

So what must be happening is that the pixmap theme needs symbols from some
other libraries before they've been loaded. That this result is a core
dump sucks, but never mind.

I've tried playing around with the link options of _gtkmodule.so, but with
no success. 

I seem to remember that an appropriately named file in the same directory
as an extension module can be used to provide libraries that should be
loaded before that extension module, but can't find mention of it in the
current documentation.

PS: Everything is very new; python, gnome-python and gtk+ all from CVS.

Michael Hudson
Jesus College
Cambridge
[EMAIL PROTECTED]


To unsubscribe: echo "unsubscribe" | mail [EMAIL PROTECTED]

Reply via email to