Subject: bug#68764: closed (Re: bug#68764: ASDF can't load sbcl-clx-truetype installed through Guix)

From: [email-masked] (GNU bug Tracking System)
Date: Thu, 07 Mar 2024 20:21:02 +0000

Your bug report

#68764: ASDF can't load sbcl-clx-truetype installed through Guix

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
68764: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=68764
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#68764: ASDF can't load sbcl-clx-truetype installed through Guix
From: Guillaume Le Vaillant <[email-masked]>
To: Lars Rustand <[email-masked]>
Cc: [email-masked]
Date: Thu, 07 Mar 2024 20:18:21 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Lars Rustand <[email-masked]> skribis:

> I had forgot about this thread, but randomly saw it mentioned on IRC
> today. The problem in my case was that I had some packages in
> ~/common-lisp. Since I was running the container from my home folder
> this was still visible inside the container even though it was --pure.
> After deleting the ~/common-lisp folder I was able to load the package
> without any issue, both inside a container/shell and directly on my
> system also.

Ok. Closing the issue then.

Subject: ASDF can't load sbcl-clx-truetype installed through Guix
From: Lars Rustand <[email-masked]>
To: [email-masked]
Date: Sat, 27 Jan 2024 16:57:36 +0100
List-Id: <debbugs-submit.debbugs.gnu.org>

Trying to load clx-truetype with ASDF in SBCL fails because of read-only
filesystem. This is caused by the store being read-only and ASDF is
trying to save the compiled file there. I read somewhere that Guix
already supplies precompiled files for all Common Lisp libraries, so
ASDF should just be able to load this one instead of compiling it, but
this doesn't seem to work in this case.

I'm able to load other packages just fine, like sbcl-slynk and
sbcl-alexandria. Using cl-clx-truetype instead of sbcl-clx-truetype also
works fine, even though this one obviously also needs compilation.

I'm not sure what the exact cause is, but it seems that there are at
least two things wrong.
1. ASDF/SBCL doesn't find the precompiled file(s) for clx-truetype.
2. The path to where the compiled files are saved is wrong.

Steps to reproduce:
1. Install sbcl and sbcl-clx-truetype
2. Run `sbcl --eval '(require :asdf)' --eval '(asdf:load-system :clx-truetype)'`
2a. Or start sbcl and manually run the commands

--8<---------------cut here---------------start------------->8---
This is SBCL 2.4.0, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
WARNING: System definition file #P"/gnu/store/qwb8qyjn615icrgxkjwqjwlwkwzxcc7y-sbcl-clx-truetype-0.0.1-1.c6e10a9/share/common-lisp/sbcl/clx-truetype/clx-truetype.asd" contains definition for system "clx-truetype-test". Please only define "clx-truetype" and secondary systems with a name starting with "clx-truetype/" (e.g. "clx-truetype/test") in that file.
WARNING: System definition file #P"/gnu/store/bqfsbh15lpnf9i9f5qf6ya6yhcdk8nw3-sbcl-cl-store-0.8.11-1.c787337/share/common-lisp/sbcl/cl-store/cl-store.asd" contains definition for system "cl-store-tests". Please only define "cl-store" and secondary systems with a name starting with "cl-store/" (e.g. "cl-store/test") in that file.
WARNING: redefining ZPB-TTF::LOCATION in DEFGENERIC

debugger invoked on a SB-INT:SIMPLE-FILE-ERROR in thread
#<THREAD tid=8027 "main thread" RUNNING {1001460003}>:
  Error opening #P"/gnu/store/qwb8qyjn615icrgxkjwqjwlwkwzxcc7y-sbcl-clx-truetype-0.0.1-1.c6e10a9/lib/common-lisp/sbcl/clx-truetype/package-tmpGHU3ALSV.fasl":

    Read-only file system

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [CONTINUE                     ] Retry opening.
  1: [USE-VALUE                    ] Try opening a different file.
  2: [RETRY                        ] Retry
                                     compiling #<CL-SOURCE-FILE "clx-truetype" "package">.
  3: [ACCEPT                       ] Continue, treating
                                     compiling #<CL-SOURCE-FILE "clx-truetype" "package">
                                     as having been successful.
  4:                                 Retry ASDF operation.
  5: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the
                                     configuration.
  6:                                 Retry ASDF operation.
  7:                                 Retry ASDF operation after resetting the
                                     configuration.
  8:                                 Ignore runtime option --eval "(asdf:load-system :clx-truetype)".
  9: [ABORT                        ] Skip rest of --eval and --load options.
 10:                                 Skip to toplevel READ/EVAL/PRINT loop.
 11: [EXIT                         ] Exit SBCL (calling #'EXIT, killing the process).

(SB-IMPL::%OPEN-ERROR #P"/gnu/store/qwb8qyjn615icrgxkjwqjwlwkwzxcc7y-sbcl-clx-truetype-0.0.1-1.c6e10a9/lib/common-lisp/sbcl/clx-truetype/package-tmpGHU3ALSV.fasl" 30 NIL :CREATE)
0]
;
; compilation unit aborted
;   caught 1 fatal ERROR condition
* %
--8<---------------cut here---------------end--------------->8---