The example in the Guile 2.0.0 manual, "Writing Guile Extensions", sec. 2.4,
uses deprecated code, and does not indicate correct compiling options.
Below is a modified code, which I compiled (Mac OS X 10.6.6) using
gcc `guile-config compile` `guile-config link` -dynamiclib -o
libguile-bessel.so bessel.c
Here, the guile-config part is necessary, as the headers are now in a
subdirectory. If excluded one will use the header from 1.8.
Hans
----
#include <math.h>
#include <libguile.h>
SCM j0_wrapper(SCM x) {
return scm_from_double(j0(scm_to_double(x)));
}
void init_bessel() {
scm_c_define_gsubr("j0", 1, 0, 0, j0_wrapper);
}
----