From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Chris Vine Newsgroups: gmane.lisp.guile.user Subject: Re: scm_dynwind_block_asyncs() and scm_dynwind_unblock_asyncs() won't link Date: Sun, 4 May 2014 11:35:53 +0100 Message-ID: <20140504113553.7c4d03d8@laptop.homenet> References: <20140503205056.2557a452@laptop.homenet> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1399199784 15514 80.91.229.3 (4 May 2014 10:36:24 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 4 May 2014 10:36:24 +0000 (UTC) To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sun May 04 12:36:16 2014 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1WgtmJ-000473-9W for guile-user@m.gmane.org; Sun, 04 May 2014 12:36:15 +0200 Original-Received: from localhost ([::1]:52881 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1WgtmI-0003y1-Ov for guile-user@m.gmane.org; Sun, 04 May 2014 06:36:14 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:42007) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wgtm6-0003ws-1w for guile-user@gnu.org; Sun, 04 May 2014 06:36:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Wgtm0-0006m0-0q for guile-user@gnu.org; Sun, 04 May 2014 06:36:02 -0400 Original-Received: from avasout07.plus.net ([84.93.230.235]:59517) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Wgtlz-0006lm-Qz for guile-user@gnu.org; Sun, 04 May 2014 06:35:55 -0400 Original-Received: from laptop.homenet ([87.115.90.195]) by avasout07 with smtp id xmbu1n0044CtYU701mbvt3; Sun, 04 May 2014 11:35:55 +0100 X-CM-Score: 0.00 X-CNFS-Analysis: v=2.1 cv=OuLBykPt c=1 sm=1 tr=0 a=n163PyXddlDwnTtVFYtscQ==:117 a=n163PyXddlDwnTtVFYtscQ==:17 a=0Bzu9jTXAAAA:8 a=wut7RwlmGG8A:10 a=a7_E5ZZ9eK8A:10 a=kj9zAlcOel0A:10 a=g_0wNEBgAAAA:8 a=7966Z2uaydKDcQhIq20A:9 a=CjuIK1q_8ugA:10 Original-Received: from laptop.homenet (localhost [127.0.0.1]) by laptop.homenet (Postfix) with ESMTP id 47AAA546B9B for ; Sun, 4 May 2014 11:35:54 +0100 (BST) In-Reply-To: <20140503205056.2557a452@laptop.homenet> X-Mailer: Claws Mail 3.9.2 (GTK+ 2.24.23; i686-pc-linux-gnu) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x (no timestamps) [generic] X-Received-From: 84.93.230.235 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:11250 Archived-At: On Sat, 3 May 2014 20:50:56 +0100 Chris Vine 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 > > 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