This is the mail archive of the guile@cygnus.com mailing list for the guile project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
"Peter C. Norton" <spacey@inch.com> writes: > [spacey@uptime logs]$ guile-gtk > ERROR: In procedure gsubr-apply in expression (scm-error (quote misc-error) #f ...): > ERROR: can't open library "libguilegtk" > > but ldd seems to be hapily able to locate libguilegtk.so.0, which I think > means that ld.so should be able to. Hmm, sorry, I'm out of clues about this one. The "ERROR:" you are seeing comes from Guile and not from ld.so. So you probably have a problem with guile-gtk trying to dlopen libguilegtk and then failing. But I have no idea why it tries to do that, and why it fails. You might want to trace thru `merge-compiled-code' in gtk/dynlink.scm. It should find the init functions via the `module names' (gtk %static-initfuncs% sgtk_init_gtk_gtk_glue) and (gtk %static-initfuncs% sgtk_init_gtk_gdk_glue) It should then proceed to just call this functions with dynamic-call, without any shared library. The error message above indicates that the fake module names are not present in the internal Guile table. This might be due to a corrupted main.c of guile-gtk. It should look like this (note the IMPORTANT part): /* Generated by build-guile-gtk. Do not edit. */ #include <libguile.h> #include <guile-gtk.h> void sgtk_init_gtk_gtk_glue (); void sgtk_init_gtk_gdk_glue (); static void inner_main (void *closure, int argc, char **argv) { SGTK_REGISTER_GLUE (sgtk_init_gtk_gtk_glue); <---- IMPORTANT SGTK_REGISTER_GLUE (sgtk_init_gtk_gdk_glue); <---- IMPORTANT sgtk_shell (argc, argv); } int main (int argc, char **argv) { scm_boot_guile (argc, argv, inner_main, 0); return 0; /* never reached */ } hth...tschi, Marius