__scm.h suggests defining SCM_DEBUG this as a way of turning on all
debugging options, so I tried adding -DSCM_DEBUG=1 to CPPFLAGS on the
configure command line, using the latest git version (3bcf189). But
the test programs in the tree don't build on my Mac, because
scm_i_expensive_validation_check isn't exported from the library. The
patch below seems to fix it.
Then -- both on the Mac and on GNU/Linux (RHEL4) -- compiling occam-
channel.scm fails with:
GUILE_AUTO_COMPILE=0 ../meta/uninstalled-env guile-tools compile -o
"ice-9/occam-channel.go" "../../module/ice-9/occam-channel.scm"
Non-pair accessed with SCM_C[AD]R: `#<procedure #f (#{class\
1972}# . #{initargs\ 1971}#)>'
make[2]: *** [ice-9/occam-channel.go] Abort trap
--- a/libguile/gc.h
+++ b/libguile/gc.h
@@ -248,7 +248,7 @@ SCM_INTERNAL void scm_i_ensure_marking(void);
SCM_API int scm_debug_cell_accesses_p;
SCM_API int scm_expensive_debug_cell_accesses_p;
SCM_API int scm_debug_cells_gc_interval ;
-void scm_i_expensive_validation_check (SCM cell);
+SCM_API void scm_i_expensive_validation_check (SCM cell);
#endif
SCM_INTERNAL scm_i_pthread_mutex_t scm_i_gc_admin_mutex;