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] |
I was trying to register and create a simple module from the C level, and I can't get guile to use it. I presume I'm just misunderstanding how modules are supposed to work... $ gcc -Wall -o full-test full-test.c -lguile -lqthreads $ ./full-test guile> (use-modules (foobar)) ERROR: In procedure error in expression (error "no such module" module-name): ERROR: no such module (foobar) ABORT: (misc-error) Type "(backtrace)" to get more information. guile> (c-registered-modules) (("foobar" . 134514320)) Strace reveals guile is actually looking for a file containing the module, even though all the information is statically linked from the C code. Here's the very brief source: #include <guile/gh.h> static SCM foobar_func() { return(SCM_BOOL_T); } static void init_foobar() { gh_new_procedure("foobar_func", foobar_func, 0, 0, 0); } static void main_helper(int argc, char *argv[]) { scm_register_module_xxx("foobar", init_foobar); gh_repl(argc, argv); } int main(int argc, char *argv[]) { gh_enter(argc, argv, main_helper); /* This will never return. */ return(0); } Any suggestions appreciated. Thanks -- Rob Browning <rlb@cs.utexas.edu> PGP=E80E0D04F521A094 532B97F5D64E3930