From debbugs-submit-bounces@debbugs.gnu.org Sun Dec 23 09:20:55 2018 Received: (at submit) by debbugs.gnu.org; 23 Dec 2018 14:20:55 +0000 Received: from localhost ([127.0.0.1]:60618 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gb4cg-0001Wj-OS for submit@debbugs.gnu.org; Sun, 23 Dec 2018 09:20:55 -0500 Received: from eggs.gnu.org ([208.118.235.92]:35153) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1gb4cd-0001WV-QJ for submit@debbugs.gnu.org; Sun, 23 Dec 2018 09:20:52 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gb4c6-0006x6-G2 for submit@debbugs.gnu.org; Sun, 23 Dec 2018 09:20:46 -0500 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:42664) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gb4c5-0006wI-Lq for submit@debbugs.gnu.org; Sun, 23 Dec 2018 09:20:17 -0500 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53071) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1gb4bi-00018j-WD for bug-guix@gnu.org; Sun, 23 Dec 2018 09:20:17 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1gb4bO-0006IA-KZ for bug-guix@gnu.org; Sun, 23 Dec 2018 09:19:54 -0500 Received: from hera.aquilenet.fr ([185.233.100.1]:41666) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1gb4bO-0006Ge-8W for bug-guix@gnu.org; Sun, 23 Dec 2018 09:19:34 -0500 Received: from localhost (localhost [127.0.0.1]) by hera.aquilenet.fr (Postfix) with ESMTP id B1233126E; Sun, 23 Dec 2018 15:19:32 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at aquilenet.fr Received: from hera.aquilenet.fr ([127.0.0.1]) by localhost (hera.aquilenet.fr [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id vknIypg0FXuW; Sun, 23 Dec 2018 15:19:31 +0100 (CET) Received: from ribbon (unknown [IPv6:2a01:e0a:1d:7270:af76:b9b:ca24:c465]) by hera.aquilenet.fr (Postfix) with ESMTPSA id 779FB1D8; Sun, 23 Dec 2018 15:19:31 +0100 (CET) From: =?utf-8?Q?Ludovic_Court=C3=A8s?= To: Bug Guix Subject: Store references in SBCL-compiled code are "invisible" X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 3 =?utf-8?Q?Niv=C3=B4se?= an 227 de la =?utf-8?Q?R?= =?utf-8?Q?=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-pc-linux-gnu Date: Sun, 23 Dec 2018 15:19:30 +0100 Message-ID: <87r2e8jpfx.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: Pierre Neidhardt , Andy Patterson 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: -6.0 (------) Hello, As discussed with Pierre at the R-B Summit, =E2=80=98sbcl-next=E2=80=99 lac= ks a reference to =E2=80=98next-gtk-webkit=E2=80=99 even though is invokes it: --8<---------------cut here---------------start------------->8--- $ guix gc --references $(type -P next) | grep next- /gnu/store/9d66xb8wvggsp0x9pxj61mzqy007978f-sbcl-next-1.1.0 /gnu/store/pqy064fw3vkfld6lw95vi0zavj19zvrc-sbcl-next-1.1.0-lib $ ./pre-inst-env guix run next WARNING: Setting locale failed. Check the following variables for correct values: LANG=3Den_US.utf8 Unhandled SIMPLE-ERROR in thread #: Couldn't execute "/gnu/store/7p6pbcmdgr53dff6033gcfl2jq0d762h-next-gtk-we= bkit-1.1.0/bin/next-gtk-webkit": No such file or directory --8<---------------cut here---------------end--------------->8--- (Here =E2=80=98guix run=E2=80=99 runs =E2=80=98next=E2=80=99 in a container= with exactly the closure of =E2=80=98next=E2=80=99, nothing more, and the =E2=80=98next=E2=80=99 binary= is grafted.) So the problem looks a lot like that this GCC issue we fixed a while back: . Looking at the =E2=80=98sbcl-next=E2=80=99 package, the reference to =E2=80= =98next-gtk-webkit=E2=80=99 is inserted in gtk-webkit.lisp: --8<---------------cut here---------------start------------->8--- (defvar *gtk-webkit-command* "next-gtk-webkit" "Path to the GTK-Webkit platform port executable.") --8<---------------cut here---------------end--------------->8--- Through hexl-mode on the =E2=80=98next=E2=80=99 binary, we can find that re= ference: --8<---------------cut here---------------start------------->8--- 01d0bac0: 2f00 0000 6700 0000 6e00 0000 7500 0000 /...g...n...u... 01d0bad0: 2f00 0000 7300 0000 7400 0000 6f00 0000 /...s...t...o... 01d0bae0: 7200 0000 6500 0000 2f00 0000 3700 0000 r...e.../...7... 01d0baf0: 7000 0000 3600 0000 7000 0000 6200 0000 p...6...p...b... 01d0bb00: 6300 0000 6d00 0000 6400 0000 6700 0000 c...m...d...g... 01d0bb10: 7200 0000 3500 0000 3300 0000 6400 0000 r...5...3...d... 01d0bb20: 6600 0000 6600 0000 3600 0000 3000 0000 f...f...6...0... 01d0bb30: 3300 0000 3300 0000 6700 0000 6300 0000 3...3...g...c... 01d0bb40: 6600 0000 6c00 0000 3200 0000 6a00 0000 f...l...2...j... 01d0bb50: 7100 0000 3000 0000 6400 0000 3700 0000 q...0...d...7... 01d0bb60: 3600 0000 3200 0000 6800 0000 2d00 0000 6...2...h...-... 01d0bb70: 6e00 0000 6500 0000 7800 0000 7400 0000 n...e...x...t... 01d0bb80: 2d00 0000 6700 0000 7400 0000 6b00 0000 -...g...t...k... 01d0bb90: 2d00 0000 7700 0000 6500 0000 6200 0000 -...w...e...b... 01d0bba0: 6b00 0000 6900 0000 7400 0000 2d00 0000 k...i...t...-... 01d0bbb0: 3100 0000 2e00 0000 3100 0000 2e00 0000 1.......1....... 01d0bbc0: 3000 0000 2f00 0000 6200 0000 6900 0000 0.../...b...i... 01d0bbd0: 6e00 0000 2f00 0000 6e00 0000 6500 0000 n.../...n...e... 01d0bbe0: 7800 0000 7400 0000 2d00 0000 6700 0000 x...t...-...g... 01d0bbf0: 7400 0000 6b00 0000 2d00 0000 7700 0000 t...k...-...w... 01d0bc00: 6500 0000 6200 0000 6b00 0000 6900 0000 e...b...k...i... 01d0bc10: 7400 0000 0000 0000 0000 0000 0000 0000 t............... 01d0bc20: e100 0100 0000 0000 2800 0000 0000 0000 ........(....... 01d0bc30: 2a47 544b 2d57 4542 4b49 542d 434f 4d4d *GTK-WEBKIT-COMM 01d0bc40: 414e 442a 0000 0000 0000 0000 0000 0000 AND*............ --8<---------------cut here---------------end--------------->8--- Apparently this string literal is stored as UTF-32 (UCS-4) or similar, which prevents the reference scanner and the grafting code from finding it, and problems ensue. :-) Pierre, Andy: is there any way to tell SBCL to store this literal as ASCII/UTF-8? That would be an easy fix, though we should discuss the pros and cons and whether to enable that globally. Thanks in advance! Ludo=E2=80=99.