[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: scm_dynwind_block_asyncs() and scm_dynwind_unblock_asyncs() won't li
From: |
Chris Vine |
Subject: |
Re: scm_dynwind_block_asyncs() and scm_dynwind_unblock_asyncs() won't link |
Date: |
Sun, 4 May 2014 11:35:53 +0100 |
On Sat, 3 May 2014 20:50:56 +0100
Chris Vine <address@hidden> wrote:
> Hi,
>
> I am having a linking problem with scm_dynwind_block_asyncs() and
> scm_dynwind_unblock_asyncs() with guile-2.0.11, but only with those
> two functions. This can be reduced to the following test case:
>
> #include <libguile.h>
>
> int main(void)
> {
> scm_dynwind_block_asyncs();
> scm_dynwind_unblock_asyncs();
> return 0;
> }
>
> when compiled with:
>
> gcc -o guile-test `pkg-config guile-2.0 --cflags --libs`
> guile-test.c
>
> they fail to link for me, emitting:
>
> /tmp/cc3wakQm.o: In function `main':
> guile-test.c:(.text+0x12): undefined reference to
> `scm_dynwind_block_asyncs' guile-test.c:(.text+0x17): undefined
> reference to `scm_dynwind_unblock_asyncs' collect2: error: ld
> returned 1 exit status
>
> However, all other guile functions appear to link correctly, and
>
> nm -Ca /usr/lib/libguile-2.0.so | grep scm_dynwind.*asyncs
>
> shows the two functions are in the shared library file. I am at a
> complete loss. Can someone test their own installations of
> guile-2.0.11 and/or tell me what I might be doing wrong?
If anyone is reading this on the archive, the problem is that
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 are not explicitly marked as exported in
async.h. I have sent a trivial patch to the guile-devel mailing list.
Chris