Roland Everaert <r.evera...@protonmail.com> skribis:

> Le lundi 22 février 2021 à 10:41, Guillaume Le Vaillant <g...@posteo.net> a 
> écrit :
>
>> Roland Everaert via help-guix@gnu.org skribis:
>>
>> > I have installed StumpWM and some contrib modules, on a Fedora 33 
>> > distribution using the guix PM, for many month, without much problem. 
>> > Since the begining of the week (last guix update), whenever I load a 
>> > contrib module, StumpWM complains about a FASL file being read-only 
>> > somewhere in /gnu/store/<hash>-stumpwm-lib.
>> >
>> > Any idea what has changed in stumpwm and its contrib modules?
>> >
>> > Below is my StumpWM configuration:
>> >
>> > ------------ Start of sources -----------------
>> >
>> > ;; --lisp--
>> >
>> > ;;
>> >
>> > (in-package :stumpwm)
>> >
>> > ;; * Adding modules
>> >
>> > (add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/clx-xembed")
>> >
>> > (add-to-load-path 
>> > "~/.guix-profile/share/common-lisp/sbcl/stumpwm-stumptray")
>> >
>> > (load-module "stumptray")
>> >
>> > ------------ End of sources -----------------
>>
>> This is strange, as the last change directly related to StumpWM was
>>
>> made several months ago (around 2020-12-10).
>>
>> How do you start StumpWM? Do you use a '.xsession' file?
>>
>> What are your XDG_CONFIG_DIRS and XDG_DATA_DIRS environment variables
>>
>> set to?
>
> I start Stumpwm from gdm, and I don't use an .xsession file.
>
> I manage to configure emacs and StumpWM correctly, to be able to interact 
> with StumpWM using SLY. You will find below the code I have executed in the 
> REPL and the exception generated by the last instruction.
>
> The value of the Environment variable:
> STUMPWM> (asdf:load-system :uiop)
> T
> STUMPWM> (uiop:getenv "XDG_CONFIG_DIRS")
> "/home/roland/.guix-profile/etc"
> STUMPWM> (uiop:getenv "XDG_DATA_DIRS")
> "/home/roland/.guix-profile/share:/home/roland/.guix-profile/share:/home/roland/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/"
>
>
> The code:
>
> CL-USER> (in-package stumpwm)
> #<PACKAGE "STUMPWM">
> STUMPWM> (set-module-dir "~/.guix-profile/share/common-lisp/sbcl")
> (#P"/gnu/store/yi6dypcphhjbz9gp0l8z8r3pwjr71q6v-sbcl-clx-0.7.5/share/common-lisp/sbcl/clx/"
>  
> #P"/gnu/store/lskhxlvddjjkg3c4v49ppm9y022ajzi6-sbcl-stumpwm-pass-0.0.1-2.920f8fc/share/common-lisp/sbcl/stumpwm-pass/"
>  
> #P"/gnu/store/ia41a2gd9klix8xdmhgsr16j998q7xfx-sbcl-stumpwm-ttf-fonts-0.0.1-2.920f8fc/share/common-lisp/sbcl/stumpwm-ttf-fonts/"
>  
> #P"/gnu/store/dvs3f9jrw4g3p3g17v34a71l3ccjas8b-sbcl-stumpwm-net-0.0.1-2.920f8fc/share/common-lisp/sbcl/stumpwm-net/"
>  
> #P"/gnu/store/4fjpm820912fy2rmybydncg06xb3svjx-sbcl-stumpwm-swm-gaps-0.0.1-2.920f8fc/share/common-lisp/sbcl/stumpwm-swm-gaps/"
>  
> #P"/gnu/store/y3602x94y7myl25srcghgh1fw5ldaxfj-sbcl-stumpwm-stumptray-0.0.1-2.920f8fc/share/common-lisp/sbcl/stumpwm-stumptray/"
>  
> #P"/gnu/store/7mm2idvr4jrbwidp79phkg6nm9wx5ly4-sbcl-clx-xembed-0.1-1.a5c4b84/share/common-lisp/sbcl/clx-xembed/")
> STUMPWM> (add-to-load-path 
> "~/.guix-profile/share/common-lisp/sbcl/clx-xembed")
> (add-to-load-path "~/.guix-profile/share/common-lisp/sbcl/stumpwm-stumptray")
> (#P"/gnu/store/yi6dypcphhjbz9gp0l8z8r3pwjr71q6v-sbcl-clx-0.7.5/share/common-lisp/sbcl/clx/"
>  
> #P"/gnu/store/lskhxlvddjjkg3c4v49ppm9y022ajzi6-sbcl-stumpwm-pass-0.0.1-2.920f8fc/share/common-lisp/sbcl/stumpwm-pass/"
>  
> #P"/gnu/store/ia41a2gd9klix8xdmhgsr16j998q7xfx-sbcl-stumpwm-ttf-fonts-0.0.1-2.920f8fc/share/common-lisp/sbcl/stumpwm-ttf-fonts/"
>  
> #P"/gnu/store/dvs3f9jrw4g3p3g17v34a71l3ccjas8b-sbcl-stumpwm-net-0.0.1-2.920f8fc/share/common-lisp/sbcl/stumpwm-net/"
>  
> #P"/gnu/store/4fjpm820912fy2rmybydncg06xb3svjx-sbcl-stumpwm-swm-gaps-0.0.1-2.920f8fc/share/common-lisp/sbcl/stumpwm-swm-gaps/"
>  
> #P"/gnu/store/y3602x94y7myl25srcghgh1fw5ldaxfj-sbcl-stumpwm-stumptray-0.0.1-2.920f8fc/share/common-lisp/sbcl/stumpwm-stumptray/"
>  
> #P"/gnu/store/7mm2idvr4jrbwidp79phkg6nm9wx5ly4-sbcl-clx-xembed-0.1-1.a5c4b84/share/common-lisp/sbcl/clx-xembed/")
> STUMPWM> (load-module "stumptray")
>
>
> The Backtrace:
>
> Error opening 
> #P"/gnu/store/9f98ids4s8hg306chy36d3bhk7zmyg9a-stumpwm-20.11-lib/lib/common-lisp/sbcl/stumpwm/package-tmp5GEXGEG5.fasl":
>
>   Read-only file system
>    [Condition of type SB-INT:SIMPLE-FILE-ERROR]
>
> Restarts:
>  0: [CONTINUE] Retry opening.
>  1: [USE-VALUE] Try opening a different file.
>  2: [RETRY] Retry compiling #<CL-SOURCE-FILE "stumpwm" "package">.
>  3: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "stumpwm" 
> "package"> as having been successful.
>  4: [RETRY] Retry ASDF operation.
>  5: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the 
> configuration.
>  6: [RETRY] Retry ASDF operation.
>  7: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the 
> configuration.
>  8: [RETRY] Retry SLY mREPL evaluation request.
>  9: [*ABORT] Return to SLY's top level.
>  10: [ABORT] abort thread (#<THREAD "sly-channel-1-mrepl-remote-1" RUNNING 
> {1002E8AA53}>)
>
> Backtrace:
>  0: (SB-IMPL::FILE-PERROR 
> #P"/gnu/store/9f98ids4s8hg306chy36d3bhk7zmyg9a-stumpwm-20.11-lib/lib/common-lisp/sbcl/stumpwm/package-tmp5GEXGEG5.fasl"
>  30 "Error opening ~S" #P"/gnu/store/9f98ids4s8hg306chy36d3..
>  1: (SB-IMPL::%OPEN-ERROR 
> #P"/gnu/store/9f98ids4s8hg306chy36d3bhk7zmyg9a-stumpwm-20.11-lib/lib/common-lisp/sbcl/stumpwm/package-tmp5GEXGEG5.fasl"
>  30 NIL :CREATE)
>  2: (OPEN 
> #P"/gnu/store/9f98ids4s8hg306chy36d3bhk7zmyg9a-stumpwm-20.11-lib/lib/common-lisp/sbcl/stumpwm/package-tmp5GEXGEG5.fasl"
>  :DIRECTION :IO :ELEMENT-TYPE :DEFAULT :IF-EXISTS NIL :IF-DOES-NOT-EXIST :C..
>  3: (UIOP/STREAM:CALL-WITH-TEMPORARY-FILE #<FUNCTION (FLET "BEFORE236" :IN 
> UIOP/STREAM::GET-TEMPORARY-FILE) {524DDE6B}> :WANT-STREAM-P NIL 
> :WANT-PATHNAME-P T :DIRECTION :IO :KEEP T :AFTER NIL :DIRECTORY #..
>  4: (UIOP/LISP-BUILD:COMPILE-FILE* 
> #P"/gnu/store/9f98ids4s8hg306chy36d3bhk7zmyg9a-stumpwm-20.11-lib/share/common-lisp/sbcl/stumpwm/package.lisp"
>  :OUTPUT-FILE #P"/gnu/store/9f98ids4s8hg306chy36d3bhk7zmyg9a..
>  5: (ASDF/LISP-ACTION:PERFORM-LISP-COMPILATION #<ASDF/LISP-ACTION:COMPILE-OP 
> > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "stumpwm" "package">)
>  6: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unused argument> #<unused argument> 
> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "stumpwm" 
> "package">)
>  7: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION))
>  8: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) 
> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "stumpwm" 
> "package">) [fast-method]
>  9: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN 
> {1005840B43}>) [fast-method]
> 10: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
> 11: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN 
> {1005840B43}>) [fast-method]
> 12: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION 
> ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM 
> "stumptray"> :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method]
> 13: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> 
> #<ASDF/LISP-ACTION:LOAD-OP > #<ASDF/SYSTEM:SYSTEM "stumptray">)
> 14: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
> 15: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP 
> > #<ASDF/SYSTEM:SYSTEM "stumptray">) [fast-method]
> 16: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> 
> ASDF/LISP-ACTION:LOAD-OP "stumptray")
> 17: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
> 18: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP 
> "stumptray") [fast-method]
> 19: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN 
> ASDF/OPERATE:OPERATE) {1003844D0B}> :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T 
> :OVERRIDE-FORCING NIL)
> 20: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
> 21: (ASDF/SESSION:CALL-WITH-ASDF-SESSION #<FUNCTION (LAMBDA NIL :IN 
> ASDF/OPERATE:OPERATE) {100383F36B}> :OVERRIDE NIL :KEY NIL :OVERRIDE-CACHE 
> NIL :OVERRIDE-FORCING NIL)
> 22: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP 
> "stumptray") [fast-method]
> 23: (LOAD-MODULE "stumptray")

It looks like StumpWM is trying to recompile the module (and put it in
a read-only directory) instead of using the already compiled files.

Are you using the stumpwm-with-slynk package, or the regular stumpwm
one?
What are the results of the commands 'which stumpwm'
and 'pgrep -af stumpwm'?

Could you try loading stumptray without using any 'add-to-load-path'
calls? In my config I only have '(set-module-dir ...)' and
'(load-module "stumptray")' and it works. It shouldn't make
a difference, but just in case...

Attachment: signature.asc
Description: PGP signature

Reply via email to