I succeeded in linking Denemo with the call scm_c_register_extension ("libguile-srfi-srfi-1-v-3", "scm_init_srfi_1", scm_init_srfi_1, NULL); inserted right at the beginning of inner_main (the value passed to scm_boot_guile, that is), but disappointingly I still get the error message when srfi-1 tries to dynamically load
<libguile-srfi-srfi-1-v-3 The specified module could not be found.> I found some documentation on this call at http://mulliken.chem.hope.edu/cgi-bin/info2www.cgi?(guile)Extensions and it indicated the first argument could be NULL, which would reduce the danger of a typo in that string causing trouble, but alas with NULL the same error message occurs. I have checked that scm_init_srfi_1 is a genuinely non-null pointer, so I don't quite know where to go next. I have gdb running on the windows box (again, thanks to the mxe cross-compilation project), but perhaps someone can spare me tracking through the libguile-srfi-srfi-1-v-3.a code? Richard On Fri, 2013-02-08 at 12:27 +0100, Andy Wingo wrote: > On Fri 08 Feb 2013 10:25, Richard Shann <richard.sh...@virgin.net> > writes: > > > On Fri, 2013-02-08 at 09:24 +0000, Richard Shann wrote: > >> Is it possible to statically link in the srfi modules? > >> (load-extension "libguile-srfi-srfi-1-v-3" "scm_init_srfi_1") > >> fails. > > You can link it in I think, but then you will need to call > > scm_c_register_extension ("libguile-srfi-srfi-1-v-3", > "scm_init_srfi_1", > scm_init_srfi_1, NULL) > > somewhere in your C code. > >