guile-2.0's scm_c_call_with_blocked_asyncs, scm_c_call_with_unblocked_asyncs, scm_dynwind_block_asyncs and scm_dynwind_unblock_asyncs will not link for me using 32-bit ubuntu-14.04 (gcc-4.8.2/guile-2.0.9) or 32-bit slackware-14.1 (gcc-4.9.0/guile-2.0.11). I do not have a machine to test a 64-bit system at present.
The issue appears to be that this part of the API is not exported, even though these functions are documented and appear intended to be called by user code. A patch, against guile-2.0.11, is below, dealing with this. --- guile-2.0.11/libguile/async.h.orig 2014-05-04 10:38:14.631777784 +0100 +++ guile-2.0.11/libguile/async.h 2014-05-04 10:45:45.615763664 +0100 @@ -44,10 +44,10 @@ SCM_API SCM scm_noop (SCM args); SCM_API SCM scm_call_with_blocked_asyncs (SCM proc); SCM_API SCM scm_call_with_unblocked_asyncs (SCM proc); -void *scm_c_call_with_blocked_asyncs (void *(*p) (void *d), void *d); -void *scm_c_call_with_unblocked_asyncs (void *(*p) (void *d), void *d); -void scm_dynwind_block_asyncs (void); -void scm_dynwind_unblock_asyncs (void); +SCM_API void *scm_c_call_with_blocked_asyncs (void *(*p) (void *d), void *d); +SCM_API void *scm_c_call_with_unblocked_asyncs (void *(*p) (void *d), void *d); +SCM_API void scm_dynwind_block_asyncs (void); +SCM_API void scm_dynwind_unblock_asyncs (void); /* Critical sections */