Hi all,
Lately (and on multiple machines) my Geiser repl has been complaining about u-boot-sifive-prevent-reloc-initrd-fdt.patch
being missing. The workaround for me has been to search in /gnu/store
for the patch and add the corresponding folder to geiser-guile-load-path
. Has anyone else seen this?
Thanks!
-Bionicbabelfish
That patch file was deleted on November 27 it looks like: guix.git - GNU Guix and GNU Guix System
I’ve had issues with this happening while trying to upgrade my packages because one of the channels I use didn’t update a package description that still referenced a patch. But I don’t know why it would show up every time you start your Geiser repl 
2 Likes
Thanks @ryuslash! I don’t completely understand how this works… I have a fork of crafted-guix (with a guix deploy patch that I still have to submit upstream). (crafted config) references (gnu bootloader) and, indeed, when I ,use (crafted config)
in geiser the missing module problem pops up. What puzzels me is that crafted-guix doesn’t reference any “particular” version of the (gnu bootloader) module as far as I can tell. I also have my ’geiser-guile-load-path
set to “~/.config/guix/share/guile/site/3.0” (typing this from memory so I might have the subfolder order mixed up). In my naive reasoning that would mean that geiser should reference the version of the modules/channels that was pulled with guix pull
right? What could still be referring to the older module?
Thanks again!
I haven’t looked at crafted-guix, so I’m not sure what’s in there. I’m guessing the path you meant is actually ~/.config/guix/current/share/guile/site/3.0
and yes that would be what guix pull
pulled in as far as I know 
A package definition in either crafted-guix, one of the channels you’ve added, or in your configuration might still have (search-patch "u-boot-sifive-prevent-reloc-initrd-fdt.patch")
. This might be because it was copied and modified for some reason, for example. That’s the only thing I can think of right now.
To be clear, this doesn’t happen when you try to do guix pull
, guix package -u
, sudo guix reconfigure ...
, or guix home reconfigure ...
? Because the only time I ran into it it was preventing me from upgrading my packages and home configuration. So it might be something completely different for you.
1 Like
Ok, I’m a bit further down this rabbit hole now… a ripgrep in the …/guile/site/3.0 dir doesn’t show anything referencing that patch. And indeed, as you say, the issue doesn’t occur when I do guix pull, etc.
In fact, the issue doesn’t even occur if I run guix repl
or even when I run guix repl --listen=tcp:12345
and then run geiser-connect
from within emacs. This is a viable workaround for now, but I’d still like to know where this patch is referenced… I cleared the .cache/guile folder so that can’t be it. To me, the one remaining possibility is that it’s in one of the compiled .go
files that comes with emacs-guix and emacs-geiser, but I would expect other people to be running into the same issue in that case… I’ll update this thread if I have an epiphany 
EDIT: oh and thanks very much for your input @ryuslash !
1 Like
How did you install Geiser? Have you:
- Run
guix package -u
recently, if you used guix package -i emacs-geiser
or guix install emacs-geiser
?
- Run
guix home reconfigure ...
if you installed it through guix home?
- Run
sudo guix reconfigure ...
if you installed it through a Guix system configuration?
These may just be blind alleys, I just wanted to make sure that your Geiser and current guix were both from the same version of Guix.
right so I tracked down the reference to the patch in /run/current-system/profile/share/guile/site/3.0/...
if I adapt the GUILE_LOADPATH and the GUILE_LOAD_COMPILED_PATH to have the /run/current/system references right at the end of the path (instead of somewhere in the middle) the geiser repl behaves well again. The bizarre thing is that even after a guix system reconfigure
and guix package -u
the “old” gnu version (referencing the deleted path) remains in /run/current-system/profile
even though the channels.scm
file (and guix system describe
) list the most recent commit for the guix
channel. Still don’t understand… 