Roland Everaert skribis: > Le lundi 22 février 2021 à 10:41, Guillaume Le Vaillant 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/-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) > # > 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 #. > 3: [ACCEPT] Continue, treating compiling # 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 (#) > > 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 # :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 # #) > 6: ((SB-PCL::EMF ASDF/ACTION:PERFORM) # # # #) > 7: ((LAMBDA NIL :IN ASDF/ACTION:CALL-WHILE-VISITING-ACTION)) > 8: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) # #) [fast-method] > 9: ((:METHOD ASDF/PLAN:PERFORM-PLAN (T)) #) [fast-method] > 10: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)) > 11: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #) [fast-method] > 12: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) # # :PLAN-CLASS NIL :PLAN-OPTIONS NIL) [fast-method] > 13: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) # # # #) > 14: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE)) > 15: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) # #) [fast-method] > 16: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) # # 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 # :OVERRIDE T :KEY NIL :OVERRIDE-CACHE T :OVERRIDE-FORCING NIL) > 20: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE)) > 21: (ASDF/SESSION:CALL-WITH-ASDF-SESSION # :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...