Hi Raymond, I think this happens because under Linux the dynamic linker 
does not work in statically linked executables. If you want to use 
dlopen()/dlsym()/etc. (these are the calls wrapped by gmodule on linux), 
you must, at a minimum, link dynamically against libc and libdl.

I sort of remember there was some talk of changing gmodule so that it 
wrapped libltdl instead. I think this would fix this problem ... but 
until (if?) this change is made, it's not possible to have a completely 
static GTK 1.3 program.

John

(erm, corrections very welcome if I've messed up here)

Raymond Wan wrote:

>       I would like everything linked in (not just GTK), so I've added
> "-static" at the end of line that does the linking.  It all links fine
> (except that I had to archive (ar) all of the atk .o files into a .a file
> and place it in a directory where the linker could find it...not sure why
> this did not happen to the other packages but only to atk). 
> 
>       When I run the executable, I get this error message:
> 
> ** WARNING **: Error loading XPM image loader: Unable to load
> image-loading module:
> /home/rwan/gtk/lib/gtk-2.0/1.3.5/loaders/libpixbufloader-xpm.so:
> couldn't open libtool archive
> 
> Gtk-CRITICAL **: file gtkpixmap.c: line 99 (gtk_pixmap_new): assertion
> `val != NULL' failed
> 
> ... [error messages repeat a bit] ...
> 
> Gtk-CRITICAL **: file gtkwidget.c: line 1571 (gtk_widget_show): assertion
> `widget != NULL' failed
> Cannot load module
> /home/rwan/gtk/lib/pango/modules/pango-basic-x.so: couldn't open
> libtool archive
> 
> ... [these error messages repeat too] ...
> 
>       And then my program segmentation faults.  Before running my
> executable, I ran "ldd" on it and it said it was "not a dynamic
> executable".  And of course, the static version runs fine, so these files
> (libpixbufloader-xpm.so and pango-basic-x.so) do exist.



_______________________________________________
gtk-list mailing list
[EMAIL PROTECTED]
http://mail.gnome.org/mailman/listinfo/gtk-list

Reply via email to