From unknown Fri Jun 20 20:04:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43394: DYNAMIC-LINK is unbound when using r6rs library syntax Resent-From: Guy Gastineau Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Mon, 14 Sep 2020 05:05:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 43394 X-GNU-PR-Package: guile X-GNU-PR-Keywords: To: 43394@debbugs.gnu.org X-Debbugs-Original-To: bug-guile@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.160005986425538 (code B ref -1); Mon, 14 Sep 2020 05:05:02 +0000 Received: (at submit) by debbugs.gnu.org; 14 Sep 2020 05:04:24 +0000 Received: from localhost ([127.0.0.1]:52273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kHgf7-0006do-OO for submit@debbugs.gnu.org; Mon, 14 Sep 2020 01:04:23 -0400 Received: from lists.gnu.org ([209.51.188.17]:56104) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kHeqC-0003pc-9j for submit@debbugs.gnu.org; Sun, 13 Sep 2020 23:07:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40118) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kHeqC-0002nv-5E for bug-guile@gnu.org; Sun, 13 Sep 2020 23:07:40 -0400 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]:41174) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kHeqA-00086Y-70 for bug-guile@gnu.org; Sun, 13 Sep 2020 23:07:39 -0400 Received: by mail-qt1-x831.google.com with SMTP id t20so12432136qtr.8 for ; Sun, 13 Sep 2020 20:07:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=t5G/iXfQhMLUDnyMCxGm8JKUWGAAUPxoRmKbIHHygso=; b=PDEdJG9AAia0u4H5GUkNB92Q0ATCQKPoL8Eh3OiQJgKY8UL6AwKcKnplhNHuHicqZX 4/ZEAT4YuCfP/0+KozmI9uEwduqzxefrXbeqJp/nkKHVMgXyf6gQuXbSDeDI1doTsvlP +xiTjHw/Y7kgaDpP1j3GycbFVMckLVWRRvSgVA7E7RZIm+fAIxs18v06XRmqXGLXLBi+ tSTKs76DQ7kTiuBu8+WbsF9d1pl+j45qfEc1gOEpu5zrpTU03JZ4OIzZVhWZ5cXXPqBp 1DoeWCBBFm+wYZAZy+MrqK1HNnK3avE3DYKChe8/cnjc55xnzaSbegKYp982jtIhRu3k A8FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=t5G/iXfQhMLUDnyMCxGm8JKUWGAAUPxoRmKbIHHygso=; b=cGAInwcUSB/takTLQAZNmVRSAz6Hz0aWHepScYoN6sQpvKzkkgrfYKXS7TAIKntuqJ Se4gIyjdBGc2sImhri+LsUiIZbpXcXD1Kyp+xqGCWJAKfD18WXdjvzBPEaByW2NkMUkw uxa/2n0ppNw7RKuCjDTfD9XWyBMsDqm1Jthfn/SYqc3mtM5GdOQfxPjy17byfaC5Zydi SUpa9JW1n75s0xENnzPzVE0yYiXDUX3ZdoC1GORsYZnaWPExzNUoMkPIlXIzmS/1G6zc RtbG9t/rYVbrTFiqBLYuEqd31PiuVhx71MPADTp0/7KyEJBU1KS1ziW1a7dohwMOOsUb j77g== X-Gm-Message-State: AOAM533LzskwcKgxB1VKdV0o9+e6+VN/Q9R8Pq3Mb50i3G/42IWp9Enz HKeN/ZtUl7Gw+sOBawlBJeCdG1kY0p9K5FR6Nw5u7UsAYD1G2w== X-Google-Smtp-Source: ABdhPJzicngOeW7xn2qXl4bt5kB050RB79JAZfqQ4QSLBOIACL2BQF8B4COtgiUM+va36cxTKsm0IKuMihqrllK/pHk= X-Received: by 2002:ac8:32b6:: with SMTP id z51mr6805491qta.303.1600052856847; Sun, 13 Sep 2020 20:07:36 -0700 (PDT) MIME-Version: 1.0 From: Guy Gastineau Date: Sun, 13 Sep 2020 23:07:26 -0400 Message-ID: Content-Type: multipart/alternative; boundary="00000000000027819a05af3d56f4" Received-SPF: pass client-ip=2607:f8b0:4864:20::831; envelope-from=strings.stringsandstrings@gmail.com; helo=mail-qt1-x831.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-Mailman-Approved-At: Mon, 14 Sep 2020 01:04:20 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --00000000000027819a05af3d56f4 Content-Type: text/plain; charset="UTF-8" Guile version 3.0.4.38-64c894 I am on 64 bit arch linux, and I built guile3.0 from the AUR package guile-git on Sep 12 2020 https://aur.archlinux.org/guile-git.git for the PKGBUILD (the config options were practically non-existent). I am writing to modules that dynamically link. DYNAMIC-LINK works in the top level REPL, and when using DEFINE-MODULE. When using the r6rs library syntax DYNAMIC-LINK is considered unbound and the compilation fails. The following is an example of the behavior with a minimally viable source for reproducing the bug. (library (fail-link (0 1)) (export link) (import) (define link dynamic-link)) What I get: ;;; note: source file /home/guy/guile-fail-link.scm ;;; newer than compiled /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go ;;; compiling /home/guy/guile-fail-link.scm ;;; guile-fail-link.scm:4:2: warning: possibly unbound variable `dynamic-link' ;;; compiled /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go ice-9/boot-9.scm:1669:16: In procedure raise-exception: Unbound variable: dynamic-link What I expect: ;;; note: source file /home/guy/guile-fail-link.scm ;;; newer than compiled /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go ;;; compiling /home/guy/guile-fail-link.scm ;;; compiled /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go Additional information: After I load the failing library I lose a bunch of top level definitions and syntax. Like IMPORT is no longer recognized and I have to `,q` in order to get the REPL in a usable state again. I can just use DEFINE-MODULE, but honestly I like the r6rs syntax. Even though imports between schemes differ enough (and FFI anyway) that none of these libraries will end up being portable, I still like r6rs library syntax. If I need to find extra information for to help you all figure out what is happening, please just let me know. Also, thank you all for your hard work. I am excited to have this snappy Guile 3 on my system now ;) - Guy Gastineau --00000000000027819a05af3d56f4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Guile version 3.0.4.38-64c894

I am on 64 bit arch linux, and I built guile3.0 from the AUR package guil= e-git on Sep 12 2020
https://aur.archlinux.org/guile-git.git for the PKGBUILD (the c= onfig options were practically non-existent).

I am= writing to modules that dynamically link.=C2=A0 DYNAMIC-LINK works in the = top level REPL, and when using DEFINE-MODULE.
When using the r6rs= library syntax DYNAMIC-LINK is considered unbound and the compilation fail= s.
The following is an example of the behavior with a minimally v= iable source for reproducing the bug.

(library (fa= il-link (0 1))
=C2=A0 (export link)
=C2=A0 (import)
=C2=A0 (define link dynamic-link))

What I g= et:
;;; note: source file /home/guy/guile-fail-link.scm =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0
;;; =C2=A0 =C2=A0 =C2=A0 newer than compiled /home/guy/.cache/guile= /ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0
;;; compiling /home/guy/guile-fail-link.scm = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
;;; guile-fail-link.scm:4:2: war= ning: possibly unbound variable `dynamic-link' =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
;;; compiled /home/guy/.cache/= guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0
ice-9/boot-9.scm:1669:16: In procedure raise-exception: = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
U= nbound variable: dynamic-link

What I expect:
=
;;; note: source file /home/guy/guile-fail-link.scm =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
;;; = =C2=A0 =C2=A0 =C2=A0 newer than compiled /home/guy/.cache/guile/ccache/3.0-= LE-8-4.4/home/guy/guile-fail-link.scm.go =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0
;;; compiling /home/guy/guile-fail-link.scm =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0
;;; compiled /home/guy/.cache/guile/ccache/3.0= -LE-8-4.4/home/guy/guile-fail-link.scm.go

Addition= al information:
After I load the failing library I lose a bunch o= f top level definitions and syntax.=C2=A0 Like IMPORT is no longer recogniz= ed and I have to `,q`
in order to get the REPL in a usable state = again.

I can just use DEFINE-MODULE, but honestly = I like the r6rs syntax.=C2=A0 Even though imports between schemes differ en= ough (and FFI anyway)
that none of these libraries will end up be= ing portable, I still like r6rs library syntax.

If= I need to find extra information for to help you all figure out what is ha= ppening, please just let me know.

Also, thank you = all for your hard work.=C2=A0 I am excited to have this snappy Guile 3 on m= y system now ;)

- Guy Gastineau
--00000000000027819a05af3d56f4-- From unknown Fri Jun 20 20:04:33 2025 X-Loop: help-debbugs@gnu.org Subject: bug#43394: DYNAMIC-LINK is unbound when using r6rs library syntax Resent-From: Linus =?UTF-8?Q?Bj=C3=B6rnstam?= Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Mon, 14 Sep 2020 15:48:03 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 43394 X-GNU-PR-Package: guile X-GNU-PR-Keywords: To: "Guy Gastineau" , 43394@debbugs.gnu.org Received: via spool by 43394-submit@debbugs.gnu.org id=B43394.160009844221985 (code B ref 43394); Mon, 14 Sep 2020 15:48:03 +0000 Received: (at 43394) by debbugs.gnu.org; 14 Sep 2020 15:47:22 +0000 Received: from localhost ([127.0.0.1]:55941 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kHqhN-0005iW-Dy for submit@debbugs.gnu.org; Mon, 14 Sep 2020 11:47:22 -0400 Received: from wout5-smtp.messagingengine.com ([64.147.123.21]:40415) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kHknt-0002xN-0g for 43394@debbugs.gnu.org; Mon, 14 Sep 2020 05:29:42 -0400 Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.west.internal (Postfix) with ESMTP id 35B3F7DB; Mon, 14 Sep 2020 05:29:35 -0400 (EDT) Received: from imap1 ([10.202.2.51]) by compute7.internal (MEProxy); Mon, 14 Sep 2020 05:29:35 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=veryfast.biz; h= mime-version:message-id:in-reply-to:references:date:from:to :subject:content-type:content-transfer-encoding; s=fm3; bh=FaPP9 hCclYVuSLvOuKVptP+VhF7RFP1JuLZRF6BQfhk=; b=dM7O17vy9vbsyEndyDU1V /abgMj3jM+jF0HNcRjt6xIBjA8eutuckvDk9DlxXUWicZx9IJ2KywX/BRr4iiP2k UV/g2lpApCNeMjAuHeZJv/GCF0/yUlNgaQO9JpHz5KSyPqlieUmVtp/zZc5C5eLd XQBRP+KmvubltX/jVvm/Jd0fwoP+WBCfs0nCBwVeLf3fvNff661mowjh0IV7PWqO JMwvjy2Kit4+qPt0V/uPt78bN3UmB0GK/cXMYvN1xLqtkur+OVeMvKqkv687cfJc vROvWHp6V5ti0ZT4CLg5WZY3O9nsyjv6GrSAoOUIhYD9FZvohrceFJArXVaX18wL w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm3; bh=FaPP9hCclYVuSLvOuKVptP+VhF7RFP1JuLZRF6BQf hk=; b=oVfr/p88+QwJ8VD0El+K5OTJ6j7vq9fLUzXWsjWiKNuS2XPhdrvayj+d8 GskRhQLXmaaRUmYjCtECaEwohitiUIeTUH2NQPIM4Ho08SyrAHDj/BAaek4D2ZYN fziLgWt/os55EOlfeaXlMnlTsOHhF1ol2Q22sR/3OwIBLhRD9AJB+tNktfMjdbyT i/no/GZQJN/JJ3ptbcWWMvGbtD6oZ4dc2doemyAJN7VEmYnFLtzfmHVguvL0imGD xxXau35z+ZxvqVJNlAs9vuEKJCIVGVPL8v4EZ58m2SHPGueEXL0IxXNZPjLruzmg HktWbdx3pZbjmh7epNORAn8JEuMbA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrudeiiedgudeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpefofgggkfgjfhffhffvufgtgfesth hqredtreerjeenucfhrhhomhepnfhinhhushgpuehjnphrnhhsthgrmhcuoehlihhnuhhs rdgsjhhorhhnshhtrghmsehvvghrhihfrghsthdrsghiiieqnecuggftrfgrthhtvghrnh epudetfeelleefudehffdttdfftefggeegvdfhtdeiteelvddtvdeiieelvdehieejnecu ffhomhgrihhnpegrrhgthhhlihhnuhigrdhorhhgnecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomheplhhinhhushdrsghjohhrnhhsthgrmhesvhgv rhihfhgrshhtrdgsihii X-ME-Proxy: Received: by mailuser.nyi.internal (Postfix, from userid 501) id 7D154C200A5; Mon, 14 Sep 2020 05:29:34 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.3.0-259-g88fbbfa-fm-20200903.003-g88fbbfa3 Mime-Version: 1.0 Message-Id: In-Reply-To: References: Date: Mon, 14 Sep 2020 11:29:09 +0200 From: Linus =?UTF-8?Q?Bj=C3=B6rnstam?= Content-Type: text/plain;charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Mailman-Approved-At: Mon, 14 Sep 2020 11:47:20 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.7 (-) In r6rs libraries, only r6rs is available. You need to impor whatever bi= ndings you need from the (guile) module --=20 Linus Bj=C3=B6rnstam On Mon, 14 Sep 2020, at 05:07, Guy Gastineau wrote: > Guile version 3.0.4.38-64c894 >=20 > I am on 64 bit arch linux, and I built guile3.0 from the AUR package=20= > guile-git on Sep 12 2020 > https://aur.archlinux.org/guile-git.git for the PKGBUILD (the config=20= > options were practically non-existent). >=20 > I am writing to modules that dynamically link. DYNAMIC-LINK works in=20= > the top level REPL, and when using DEFINE-MODULE. > When using the r6rs library syntax DYNAMIC-LINK is considered unbound=20= > and the compilation fails. > The following is an example of the behavior with a minimally viable=20= > source for reproducing the bug. >=20 > (library (fail-link (0 1)) > (export link) > (import) > (define link dynamic-link)) >=20 > What I get: > ;;; note: source file /home/guy/guile-fail-link.scm = =20 > =20 > ;;; newer than compiled=20 > /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.sc= m.go =20 > ;;; compiling /home/guy/guile-fail-link.scm = =20 > =20 > ;;; guile-fail-link.scm:4:2: warning: possibly unbound variable=20 > `dynamic-link' =20 > ;;; compiled=20 > /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.sc= m.go =20 > ice-9/boot-9.scm:1669:16: In procedure raise-exception: = =20 > =20 > Unbound variable: dynamic-link >=20 > What I expect: > ;;; note: source file /home/guy/guile-fail-link.scm = =20 > =20 > ;;; newer than compiled=20 > /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.sc= m.go =20 > ;;; compiling /home/guy/guile-fail-link.scm = =20 > =20 > ;;; compiled=20 > /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.sc= m.go >=20 > Additional information: > After I load the failing library I lose a bunch of top level=20 > definitions and syntax. Like IMPORT is no longer recognized and I hav= e=20 > to `,q` > in order to get the REPL in a usable state again. >=20 > I can just use DEFINE-MODULE, but honestly I like the r6rs syntax. =20= > Even though imports between schemes differ enough (and FFI anyway) > that none of these libraries will end up being portable, I still like=20= > r6rs library syntax. >=20 > If I need to find extra information for to help you all figure out wha= t=20 > is happening, please just let me know. >=20 > Also, thank you all for your hard work. I am excited to have this=20 > snappy Guile 3 on my system now ;) >=20 > - Guy Gastineau From unknown Fri Jun 20 20:04:33 2025 MIME-Version: 1.0 X-Mailer: MIME-tools 5.505 (Entity 5.505) X-Loop: help-debbugs@gnu.org From: help-debbugs@gnu.org (GNU bug Tracking System) To: Guy Gastineau Subject: bug#43394: closed (DYNAMIC-LINK is unbound when using r6rs library syntax) Message-ID: References: <5fd7271f-dd57-0960-0d6f-74ff9693c148@gmail.com> X-Gnu-PR-Message: they-closed 43394 X-Gnu-PR-Package: guile Reply-To: 43394@debbugs.gnu.org Date: Wed, 12 May 2021 21:15:01 +0000 Content-Type: multipart/mixed; boundary="----------=_1620854101-10702-1" This is a multi-part message in MIME format... ------------=_1620854101-10702-1 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Your bug report #43394: DYNAMIC-LINK is unbound when using r6rs library syntax which was filed against the guile package, has been closed. The explanation is attached below, along with your original report. If you require more details, please reply to 43394@debbugs.gnu.org. --=20 43394: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=3D43394 GNU Bug Tracking System Contact help-debbugs@gnu.org with problems ------------=_1620854101-10702-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at 43394-done) by debbugs.gnu.org; 12 May 2021 21:14:11 +0000 Received: from localhost ([127.0.0.1]:40752 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lgwBH-0002lS-JS for submit@debbugs.gnu.org; Wed, 12 May 2021 17:14:11 -0400 Received: from mail-ed1-f49.google.com ([209.85.208.49]:37410) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lgwBD-0002l8-Q4 for 43394-done@debbugs.gnu.org; Wed, 12 May 2021 17:14:10 -0400 Received: by mail-ed1-f49.google.com with SMTP id f1so6483333edt.4 for <43394-done@debbugs.gnu.org>; Wed, 12 May 2021 14:14:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=to:from:subject:message-id:date:user-agent:mime-version :content-language:content-transfer-encoding; bh=H3po7im9wmvmZt4Nw5K6N0nGMaTDNPJ5y8evOS131xk=; b=NzabKkTXAdHEg/rMG8PMnpi0Hmx5BXlML7Q4cB4GqEOmf4FEMT4xnk7J+lhlCtZfGm rpaXmCo4Ziufgkyx+3hYzpmWTAw5uXdF/4rquO3NxZMxD5vq634d45zgq8/95PA7Dz9g zspIUe9dkaEmkgV7WdyyGm3ysCsMjT3UHVtyao8gYpIqJpETxio2FWYjXjYHU/B/Grkb gOYeRgTFsK6y4a7aaWu+yr1VoDNbVgoo89jbWJIqIbwv+M8Rd30OQO0yuyqsfqlZWeKH ga82SeiuzjZ+hZGswmy9jtjXEsEL6atTongwhMQIoMO72QAqN+RWZDCakah065/+qGnK xHBQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:message-id:date:user-agent :mime-version:content-language:content-transfer-encoding; bh=H3po7im9wmvmZt4Nw5K6N0nGMaTDNPJ5y8evOS131xk=; b=kvxct39N7jRMKRsHn9/Tue8eeEZvlEIs7gmO3fTdXAyC9lVIxPWnXAL/PPkr6eld6t 4PyaKB6pW+Q3nhIz6SPlFuH+GWB0WwRe9CkYwlTkpyiLnomqoBMmj1Ymrm5VkG6OD4bb IP08D+fFyCxNdk0PTYXHfkr1mqZ7OLgOxq0lFXqD6XMjFQFSugy4TqhtlgEQlK4dxR5a 22NjWG5H5W8yjRDiwv3qat0tLOzM4IBw9UC4UNTAAcqwCIDDz1AKD2Ia2lIRpIU8jPcv P3w0jZ8yFDHBBNMDOf0KetN+pM+V8yLJxyy95624oyZsPIAlAn4jHD/shjK2cO8gcLqZ TqAQ== X-Gm-Message-State: AOAM531mJheAOQGLhYcYVFd++H8FVJV5WinPbXZtxdxCMo2d7OSlKWwr ozcdmPEdBAhBW6V7zxec9maeluN6TB0uIw== X-Google-Smtp-Source: ABdhPJzBhDYpsbM/CjiQ2YKXMh4OsHOwSXwMkkjvA/rKALmIDn2WXIi3QoYMn7B3EEJcL4UWMvGgoQ== X-Received: by 2002:a05:6402:1256:: with SMTP id l22mr10539282edw.207.1620854042003; Wed, 12 May 2021 14:14:02 -0700 (PDT) Received: from [192.168.178.20] (b2b-109-90-125-150.unitymedia.biz. [109.90.125.150]) by smtp.gmail.com with ESMTPSA id w11sm912049ede.54.2021.05.12.14.14.01 for <43394-done@debbugs.gnu.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Wed, 12 May 2021 14:14:01 -0700 (PDT) To: 43394-done@debbugs.gnu.org From: Taylan Kammer Subject: DYNAMIC-LINK is unbound when using r6rs library syntax Message-ID: <5fd7271f-dd57-0960-0d6f-74ff9693c148@gmail.com> Date: Wed, 12 May 2021 23:14:00 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 43394-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) As Linus explained, you need to import the (guile) module. (library (succeed-link (0 1)) (export link) (import (guile)) (define link dynamic-link)) Works as intended, so I'm closing this bug. :-) - Taylan ------------=_1620854101-10702-1 Content-Type: message/rfc822 Content-Disposition: inline Content-Transfer-Encoding: 7bit Received: (at submit) by debbugs.gnu.org; 14 Sep 2020 05:04:24 +0000 Received: from localhost ([127.0.0.1]:52273 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kHgf7-0006do-OO for submit@debbugs.gnu.org; Mon, 14 Sep 2020 01:04:23 -0400 Received: from lists.gnu.org ([209.51.188.17]:56104) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1kHeqC-0003pc-9j for submit@debbugs.gnu.org; Sun, 13 Sep 2020 23:07:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40118) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kHeqC-0002nv-5E for bug-guile@gnu.org; Sun, 13 Sep 2020 23:07:40 -0400 Received: from mail-qt1-x831.google.com ([2607:f8b0:4864:20::831]:41174) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kHeqA-00086Y-70 for bug-guile@gnu.org; Sun, 13 Sep 2020 23:07:39 -0400 Received: by mail-qt1-x831.google.com with SMTP id t20so12432136qtr.8 for ; Sun, 13 Sep 2020 20:07:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=t5G/iXfQhMLUDnyMCxGm8JKUWGAAUPxoRmKbIHHygso=; b=PDEdJG9AAia0u4H5GUkNB92Q0ATCQKPoL8Eh3OiQJgKY8UL6AwKcKnplhNHuHicqZX 4/ZEAT4YuCfP/0+KozmI9uEwduqzxefrXbeqJp/nkKHVMgXyf6gQuXbSDeDI1doTsvlP +xiTjHw/Y7kgaDpP1j3GycbFVMckLVWRRvSgVA7E7RZIm+fAIxs18v06XRmqXGLXLBi+ tSTKs76DQ7kTiuBu8+WbsF9d1pl+j45qfEc1gOEpu5zrpTU03JZ4OIzZVhWZ5cXXPqBp 1DoeWCBBFm+wYZAZy+MrqK1HNnK3avE3DYKChe8/cnjc55xnzaSbegKYp982jtIhRu3k A8FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=t5G/iXfQhMLUDnyMCxGm8JKUWGAAUPxoRmKbIHHygso=; b=cGAInwcUSB/takTLQAZNmVRSAz6Hz0aWHepScYoN6sQpvKzkkgrfYKXS7TAIKntuqJ Se4gIyjdBGc2sImhri+LsUiIZbpXcXD1Kyp+xqGCWJAKfD18WXdjvzBPEaByW2NkMUkw uxa/2n0ppNw7RKuCjDTfD9XWyBMsDqm1Jthfn/SYqc3mtM5GdOQfxPjy17byfaC5Zydi SUpa9JW1n75s0xENnzPzVE0yYiXDUX3ZdoC1GORsYZnaWPExzNUoMkPIlXIzmS/1G6zc RtbG9t/rYVbrTFiqBLYuEqd31PiuVhx71MPADTp0/7KyEJBU1KS1ziW1a7dohwMOOsUb j77g== X-Gm-Message-State: AOAM533LzskwcKgxB1VKdV0o9+e6+VN/Q9R8Pq3Mb50i3G/42IWp9Enz HKeN/ZtUl7Gw+sOBawlBJeCdG1kY0p9K5FR6Nw5u7UsAYD1G2w== X-Google-Smtp-Source: ABdhPJzicngOeW7xn2qXl4bt5kB050RB79JAZfqQ4QSLBOIACL2BQF8B4COtgiUM+va36cxTKsm0IKuMihqrllK/pHk= X-Received: by 2002:ac8:32b6:: with SMTP id z51mr6805491qta.303.1600052856847; Sun, 13 Sep 2020 20:07:36 -0700 (PDT) MIME-Version: 1.0 From: Guy Gastineau Date: Sun, 13 Sep 2020 23:07:26 -0400 Message-ID: Subject: DYNAMIC-LINK is unbound when using r6rs library syntax To: bug-guile@gnu.org Content-Type: multipart/alternative; boundary="00000000000027819a05af3d56f4" Received-SPF: pass client-ip=2607:f8b0:4864:20::831; envelope-from=strings.stringsandstrings@gmail.com; helo=mail-qt1-x831.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 0.7 (/) X-Debbugs-Envelope-To: submit X-Mailman-Approved-At: Mon, 14 Sep 2020 01:04:20 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) --00000000000027819a05af3d56f4 Content-Type: text/plain; charset="UTF-8" Guile version 3.0.4.38-64c894 I am on 64 bit arch linux, and I built guile3.0 from the AUR package guile-git on Sep 12 2020 https://aur.archlinux.org/guile-git.git for the PKGBUILD (the config options were practically non-existent). I am writing to modules that dynamically link. DYNAMIC-LINK works in the top level REPL, and when using DEFINE-MODULE. When using the r6rs library syntax DYNAMIC-LINK is considered unbound and the compilation fails. The following is an example of the behavior with a minimally viable source for reproducing the bug. (library (fail-link (0 1)) (export link) (import) (define link dynamic-link)) What I get: ;;; note: source file /home/guy/guile-fail-link.scm ;;; newer than compiled /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go ;;; compiling /home/guy/guile-fail-link.scm ;;; guile-fail-link.scm:4:2: warning: possibly unbound variable `dynamic-link' ;;; compiled /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go ice-9/boot-9.scm:1669:16: In procedure raise-exception: Unbound variable: dynamic-link What I expect: ;;; note: source file /home/guy/guile-fail-link.scm ;;; newer than compiled /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go ;;; compiling /home/guy/guile-fail-link.scm ;;; compiled /home/guy/.cache/guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go Additional information: After I load the failing library I lose a bunch of top level definitions and syntax. Like IMPORT is no longer recognized and I have to `,q` in order to get the REPL in a usable state again. I can just use DEFINE-MODULE, but honestly I like the r6rs syntax. Even though imports between schemes differ enough (and FFI anyway) that none of these libraries will end up being portable, I still like r6rs library syntax. If I need to find extra information for to help you all figure out what is happening, please just let me know. Also, thank you all for your hard work. I am excited to have this snappy Guile 3 on my system now ;) - Guy Gastineau --00000000000027819a05af3d56f4 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Guile version 3.0.4.38-64c894

I am on 64 bit arch linux, and I built guile3.0 from the AUR package guil= e-git on Sep 12 2020
https://aur.archlinux.org/guile-git.git for the PKGBUILD (the c= onfig options were practically non-existent).

I am= writing to modules that dynamically link.=C2=A0 DYNAMIC-LINK works in the = top level REPL, and when using DEFINE-MODULE.
When using the r6rs= library syntax DYNAMIC-LINK is considered unbound and the compilation fail= s.
The following is an example of the behavior with a minimally v= iable source for reproducing the bug.

(library (fa= il-link (0 1))
=C2=A0 (export link)
=C2=A0 (import)
=C2=A0 (define link dynamic-link))

What I g= et:
;;; note: source file /home/guy/guile-fail-link.scm =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0
;;; =C2=A0 =C2=A0 =C2=A0 newer than compiled /home/guy/.cache/guile= /ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0
;;; compiling /home/guy/guile-fail-link.scm = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
;;; guile-fail-link.scm:4:2: war= ning: possibly unbound variable `dynamic-link' =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
;;; compiled /home/guy/.cache/= guile/ccache/3.0-LE-8-4.4/home/guy/guile-fail-link.scm.go =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0
ice-9/boot-9.scm:1669:16: In procedure raise-exception: = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
U= nbound variable: dynamic-link

What I expect:
=
;;; note: source file /home/guy/guile-fail-link.scm =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0
;;; = =C2=A0 =C2=A0 =C2=A0 newer than compiled /home/guy/.cache/guile/ccache/3.0-= LE-8-4.4/home/guy/guile-fail-link.scm.go =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0= =C2=A0 =C2=A0
;;; compiling /home/guy/guile-fail-link.scm =C2=A0 =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0
;;; compiled /home/guy/.cache/guile/ccache/3.0= -LE-8-4.4/home/guy/guile-fail-link.scm.go

Addition= al information:
After I load the failing library I lose a bunch o= f top level definitions and syntax.=C2=A0 Like IMPORT is no longer recogniz= ed and I have to `,q`
in order to get the REPL in a usable state = again.

I can just use DEFINE-MODULE, but honestly = I like the r6rs syntax.=C2=A0 Even though imports between schemes differ en= ough (and FFI anyway)
that none of these libraries will end up be= ing portable, I still like r6rs library syntax.

If= I need to find extra information for to help you all figure out what is ha= ppening, please just let me know.

Also, thank you = all for your hard work.=C2=A0 I am excited to have this snappy Guile 3 on m= y system now ;)

- Guy Gastineau
--00000000000027819a05af3d56f4-- ------------=_1620854101-10702-1--