GNU bug report logs - #49965
Correct Input type for Common Lisp packages

Previous Next

Package: guix-patches;

Reported by: Charles <charles.b.jackson <at> protonmail.com>

Date: Mon, 9 Aug 2021 17:20:02 UTC

Severity: normal

Done: Guillaume Le Vaillant <glv <at> posteo.net>

Bug is archived. No further changes may be made.

Full log


Message #20 received at 49965 <at> debbugs.gnu.org (full text, mbox):

From: Guillaume Le Vaillant <glv <at> posteo.net>
To: Charles <charles.b.jackson <at> protonmail.com>
Cc: 49965 <at> debbugs.gnu.org
Subject: Re: [bug#49965] Correct Input type for Common Lisp packages
Date: Thu, 12 Aug 2021 08:51:47 +0000
[Message part 1 (text/plain, inline)]
Charles <charles.b.jackson <at> protonmail.com> skribis:

>> I think it's the philosophy of GNU Guix to use references to the store
>
> You're right, I see now: "propagated-inputs is useful is for languages that
> lack a facility to record the run-time search path". Common Lisp has
> asdf:*central-registry*. It still seems to me that propogated inputs is
> more intuitive and is more portable to guix on forgein linux distributions.
> I have a Centos system with guix package manager, and I had to install every
> dependency manually for some packages.
>
> Also it still doesn't fully work for me. I deleted my custom init-file.
> Attatched is my shell session where I tryto use the sbcl-cl-str package.
> In short: package cannot be found in ad-hoc environment; package is found
> if installed, but is compiled with an newer version of sbcl: weird, but also
> probably unrelated.

From the error in your shell session:

--8<---------------cut here---------------start------------->8---
ASDF could not load str because
#<SB-SYS:FD-STREAM for "file /gnu/store/mn1b8pkxfv081m2crjjh1jk049gxq165-sbcl-cl-ppcre-2.1.1/lib/common-lisp/sbcl/cl-ppcre/packages.fasl" {100648B483}>
is a fasl file compiled with SBCL 2.1.6, and can't be loaded into SBCL 2.1.5.
--8<---------------cut here---------------end--------------->8---

it looks like your are trying to use the SBCL from the foreign
distribution (version 2.1.5) to load libraries compiled with the SBCL
from Guix (version 2.1.6).

I think this is also why it fails to find dependencies. The ASDF used by
the Common Lisp implementations packaged in Guix has a little patch
making it able to find dependencies in "/gnu/store/...". The foreign
SBCL will not have that automatically (it would have to load the
"share/common-lisp/source/asdf/asdf.lisp" file from the cl-asdf
package to use the patched ASDF).

You should add sbcl to your Guix profile/environment as it will be able
to find the dependencies and use the precompiled libraries.

If you really need to use the SBCL from the foreign distribution, you
could use the source cl-xxx packages instead of the precompiled
sbcl-xxx packages to avoid SBCL version mismatch. However this means
that the foreign SBCL will have to compile everything (usually into
"$HOME/.cache/common-lisp/...").
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 3 years and 283 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.