From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mp2 ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms11 with LMTPS id uFtvDiYDNV/dRgAA0tVLHw (envelope-from ) for ; Thu, 13 Aug 2020 09:08:54 +0000 Received: from aspmx1.migadu.com ([2001:41d0:2:4a6f::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2 with LMTPS id eP49CiYDNV99LAAAB5/wlQ (envelope-from ) for ; Thu, 13 Aug 2020 09:08:54 +0000 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 8A921940367 for ; Thu, 13 Aug 2020 09:08:53 +0000 (UTC) Received: from localhost ([::1]:53916 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k69EB-0003Qm-Dk for larch@yhetil.org; Thu, 13 Aug 2020 05:08:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:60532) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k69Dx-0003QU-Ma for help-guix@gnu.org; Thu, 13 Aug 2020 05:08:37 -0400 Received: from mout02.posteo.de ([185.67.36.66]:49569) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k69Du-0004T2-Sr for help-guix@gnu.org; Thu, 13 Aug 2020 05:08:37 -0400 Received: from submission (posteo.de [89.146.220.130]) by mout02.posteo.de (Postfix) with ESMTPS id 6C8382400FC for ; Thu, 13 Aug 2020 11:08:30 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.net; s=2017; t=1597309710; bh=8nZa4Bh+No5l/ey9eziiF9/j584TrYpmlBCtlh1ZwVs=; h=From:To:Cc:Subject:Date:From; b=IFtgfMiQRQCQlEyZQ8hpT31QgcBWP+RXZSnI5L6dRfZOrtjzwFppLP8+0aqQxXUxc t37JJS/5gM7qQ3nQ6yO3yivqEeylLLVv+Qr9IzbgLFasKry4uxj0N0JeiIf5DuT4nP uazRrE1+m/AGaIIwJgGrS9LEo1quehrtfCxP/TxoGa+dtELvruxPqm230UmjT0bb1X X5SLbX3n8szg6ceWxijyaJDPgeBcCca6lG0GsKD+LjzvtvTxAPQQEeUBSuV5PV3WH+ fURa8tPdn6qGkxvRq+eI7Hfb0FuthBAJypazKwwPUGR84cdYd+qSS+qWnLp828RKMm h1IUixFT1xU6A== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4BS12N3L5bz6tmj; Thu, 13 Aug 2020 11:08:28 +0200 (CEST) References: <87v9hn2rlf.fsf@elephly.net> <87bljfxbgn.fsf@ambrevar.xyz> User-agent: mu4e 1.4.12; emacs 26.3 From: Guillaume Le Vaillant To: Pierre Neidhardt Subject: Re: Problems with McCLIM (Common Lisp) In-reply-to: <87bljfxbgn.fsf@ambrevar.xyz> Date: Thu, 13 Aug 2020 11:08:16 +0200 Message-ID: <875z9mvrpb.fsf@yamatai> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=185.67.36.66; envelope-from=glv@posteo.net; helo=mout02.posteo.de X-detected-operating-system: by eggs.gnu.org: First seen = 2020/08/13 05:08:30 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Spam_score_int: -43 X-Spam_score: -4.4 X-Spam_bar: ---- X-Spam_report: (-4.4 / 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, RCVD_IN_DNSWL_MED=-2.3, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: help-guix@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: help-guix@gnu.org Errors-To: help-guix-bounces+larch=yhetil.org@gnu.org Sender: "Help-Guix" X-Scanner: scn0 Authentication-Results: aspmx1.migadu.com; dkim=fail (rsa verify failed) header.d=posteo.net header.s=2017 header.b=IFtgfMiQ; dmarc=fail reason="SPF not aligned (strict)" header.from=posteo.net (policy=none); spf=pass (aspmx1.migadu.com: domain of help-guix-bounces@gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=help-guix-bounces@gnu.org X-Spam-Score: -1.51 X-TUID: ZL3ENfm+Q/d2 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hi, Ricardo Wurmus skribis: > I=E2=80=99d like to play with McCLIM, but I don=E2=80=99t know enough abo= ut Common Lisp > to understand how to launch the examples. When I packaged McCLIM, I only made the packages for the main McCLIM library. IIRC the examples also use some extra extensions that I have not packaged, so they might not work out of the box (even if the error with mcclim-layouts/tab had not happened). > Here=E2=80=99s what I=E2=80=99ve done: > > guix install sbcl sbcl-mcclim sbcl-slime-swank > > This is the first question, actually: if I don=E2=80=99t manually install > sbcl-slime-swank I get errors complaining about swank being absent. > Should sbcl-mcclim propagate sbcl-slime-swank? sbcl-slime-swank is actually an alias for cl-slime-swank because, according to a comment in lisp-xyz.scm, "SLIME does not have a ASDF system definition to build all of Swank". So in fact there is no pre-compiled package for Swank, and this is why it needs to be=20 available to packages that depend on it (directly or indirectly) so that they can compile it before using it. Pierre Neidhardt skribis: > Hi Ricardo, > [...] >> Then I tried >> >> (require :clim-examples) >> >> but it fails with =E2=80=9CDon't know how to REQUIRE CLIM-EXAMPLES.=E2= =80=9D. So I >> loaded the asd file manually: >> >> (load "/home/rekado/.guix-profile/share/common-lisp/sbcl-source/mccl= im/Examples/clim-examples.asd") > > Only the .asd files in the well known locations are recognized by ASDF > if I'm not mistaken. > > Note that an .asd can forward to another. So here the problem seems to > be with the main McCLIM .asd file. This could be a Guix problem, see bel= ow. > >> Now at least clim-examples appears to be found: >> >> (asdf:load-system "clim-examples") >> >> This fails with this error: >> >> --8<---------------cut here---------------start------------->8--- >> debugger invoked on a ASDF/FIND-COMPONENT:MISSING-DEPENDENCY in thread >> #: >> Component #:MCCLIM-LAYOUTS/TAB not found, required by >> # >> --8<---------------cut here---------------end--------------->8--- >> >> I see that =E2=80=9Clib/sbcl/mcclim-layouts-tab.asd=E2=80=9D exists, but= loading it >> doesn=E2=80=99t help. > > What's the error then? > > Try > > --8<---------------cut here---------------start------------->8--- > (asdf:locate-system :mcclim-layouts/tab) > --8<---------------cut here---------------end--------------->8--- > > It will tell you where the system is. > If it does not find it, it means the .asd file did not do the job. The SBCL build system currently doesn't accept pre-compiled sbcl-* packages having a slash in their name. Slashes are replaced with hyphens, and the ASDF system name for the pre-compiled package for "mcclim-layouts/tab" is in fact "mcclim-layouts-tab". Some package definitions have a phase changing slashes to hyphens in asd files when necessary (see for example the package definition for sbcl-mcclim-extensions), however the asd files in "share/common-lisp/sbcl-source/mcclim/" still use the system names with slashes, this is why when loading the "clim-examples.asd" file by hand you get an error saying that "mcclim-layouts/tab" would not be found. > With all that said, here comes the most important piece of information: > our SBCL build system has some serious flaws, most importantly because > it _rewrites_ the .asd files. This could be why the examples cannot be > found or why mcclim-layouts/tab causes problem. > > Personally I've stopped using sbcl- packages altogether. I'm not > exclusively using cl-* packages. The drawback is that the .fasl must be > built the first time, but then you get the smoothest experience just > like with Quicklisp. > > The only exception to this, in my experience, is Osicat (the POSIX > library): the cl-* version does not work but that's an upstream issue. > For this one I use sbcl-osicat. > > Hope that helps! :) I agree that the asdf-build-system could need an overhaul. Currently the sbcl-xxx package is the base definition and the cl-xxx and ecl-xxx packages are derived from it, I think it would make more sense make cl-xxx the base definition and derive sbcl-xxx and ecl-xxx from it. The "deliver-asd" operation has been fixed in recent versions of ASDF, so maybe it would be possible to use it instead of our home-made functions to create asd files for the bundles. Another approach could be not to use ASDF bundles at all, and just use the regular compilation operation of ASDF, except the fasl files would be put it "/gnu/store/..." instead of "$HOME/.cache/common-lisp/...", and our asdf-build-system would indicate to ASDF where to search for the files. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQQkUwKxurH4Z/3KlryPP4Yfgut6mgUCXzUDAAAKCRCPP4Yfgut6 mhnSAQCnUyKsYd4ezDPjMv+/YzYKX98vkk/Dyc0RbcB/RQVNKwD8DgR/CQd/RwHl bHJcoPIbpADHzQCboo770xi1ivsmEw4= =J7p8 -----END PGP SIGNATURE----- --=-=-=--