Subject: Emacs: error on guix-emacs-autoload-packages

From: Alexandru-Sergiu Marton <[email-masked]>
Date: Sun, 12 Jul 2020 13:11:58 +0300

Hi,

I'm having a bit of trouble with Emacs on Guix. When I do `M-x
guix-emacs-autoload-packages` I get the following error:

--8<---------------cut here---------------start------------->8---
guix-emacs-find-autoloads: Opening directory: No such file or directory, /home/brown121407/.guix-profile/share/emacs/site-lisp/contrib
--8<---------------cut here---------------end--------------->8---

This happened (this time!) after I installed Org mode from the package
interface in Emacs. I don't think that is exacly what triggered it now
but that was the last thing I did before restarting Emacs and running
into this. The other times it happened (twice before) I don't remember
what I was doing.

I'm using Doom Emacs right now. I have problems with Emacs almost since
I set it up on this laptop. I use the same config I'm using on my PC,
where everything works. Both machines use Guix System.

Besides this problem with loading Emacs packages from Guix I also
encountered problems with Org mode while trying to build my website.
Those were also not met before, on the same config, on my PC.

In case someone wants to test building the website:

1. Clone https://git.sr.ht/~brown121407/brown.121407.xyz
2. Open publish.el in Emacs
3. M-x eval-buffer RET
4. M-x b7-publish-all RET

It requires Org mode and the stuff you'd expect to publish HTML like
htmlize and also the contrib files of Org which on Guix should be in the
emacs-org-contrib package.

If all is fine (as it is on my PC) you should go through the whole site
build fine. But if it's borked as it is on my laptop it should give you
some obscure errors about setting IDs (if you check the backtrace it
should be something about `org-id-add-location` or similar things). That
is if you don't run into other errors earlier than that stage (which
happened to me).

Here's my EMACSLOADPATH:

--8<---------------cut here---------------start------------->8---
[brown121407@T420 ~]$ echo $EMACSLOADPATH
/home/brown121407/.guix-profile/share/emacs/site-lisp:/home/brown121407/.guix-profile/share/emacs/26.3/lisp:/home/brown121407/.guix-profile/share/emacs/site-lisp:/home/brown121407/.guix-profile/share/emacs/26.3/lisp:/home/brown121407/.guix-profile/share/emacs/site-lisp:/home/brown121407/.guix-profile/share/emacs/26.3/lisp
--8<---------------cut here---------------end--------------->8---

Here's the backtrace:

--8<---------------cut here---------------start------------->8---
Debugger entered--Lisp error: (file-missing "Opening directory" "No such file or directory" "/home/brown121407/.guix-profile/share/emacs/site-lisp/contrib")
  directory-files("/home/brown121407/.guix-profile/share/emacs/site-lisp/contrib" full-name ".*-autoloads\\.elc?\\'")
  guix-emacs-find-autoloads("/home/brown121407/.guix-profile/share/emacs/site-lisp/contrib")
  mapcan(guix-emacs-find-autoloads ("/home/brown121407/.guix-profile/share/emacs/site-lisp/contrib" "/home/brown121407/.guix-profile/share/emacs/site-lisp" "/home/brown121407/.guix-profile/share/emacs/site-lisp" "/home/brown121407/.guix-profile/share/emacs/site-lisp"))
  guix-emacs-autoload-packages()
  funcall-interactively(guix-emacs-autoload-packages)
  call-interactively(guix-emacs-autoload-packages record nil)
  command-execute(guix-emacs-autoload-packages record)
  counsel-M-x-action("guix-emacs-autoload-packages")
  ivy-call()
  ivy-read("M-x " ("guix-emacs-autoload-packages" "list-packages" "eval-buffer" "guix" "cd" "5x5" "amx" "arp" "dbx" "dig" "erc" "ert" "eww" "ftp" "gdb" "irc" "jdb" "lsp" "man" "mpc" "pdb" "pwd" "rsh" "sdb" "xdb" "=irc" "=rss" "calc" "diff" "dirs" "ffap" "gnus" "grep" "help" "ielm" "info" "life" "lsp!" "mail" "mpuz" "mu4e" "pass" "ping" "pong" "talk" "term" "undo" "yank" "zone" "=mu4e" ...) :predicate #f(compiled-function (x) #<bytecode 0x1cd4621>) :require-match t :history counsel-M-x-history :action counsel-M-x-action :keymap (keymap (67108908 . counsel--info-lookup-symbol) (67108910 . counsel-find-symbol)) :initial-input nil :caller counsel-M-x)
  counsel-M-x()
  funcall-interactively(counsel-M-x)
  call-interactively(counsel-M-x nil nil)
  command-execute(counsel-M-x)
--8<---------------cut here---------------end--------------->8---

Here's the output of `guix describe` and `guix system describe`:

--8<---------------cut here---------------start------------->8---
[brown121407@T420 ~]$ guix describe
Generation 3    Jul 12 2020 11:33:56    (current)
  nonguix d174095
    repository URL: https://gitlab.com/nonguix/nonguix
    branch: master
    commit: d174095d26f46fa148f540fcefbdcef52451f5ec
  brett f2e2d5c
    repository URL: https://git.sr.ht/~brettgilio/cfg
    branch: master
    commit: f2e2d5ca554049715f281b80448b868197da80e6
  evan 6eb4ede
    repository URL: https://git.sr.ht/~ev4nx99/guix-channel
    branch: master
    commit: 6eb4ede0c48502aceb681f45bda15fb28f38b990
  brown121407 7245765
    repository URL: https://git.sr.ht/~brown121407/guix.121407.xyz
    branch: master
    commit: 7245765f85a155ba03fada98cfe8270578594301
  guix 83b5ea9
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: 83b5ea9d18772334a47c3d76c6ca73a123cac12c

[brown121407@T420 ~]$ guix system describe
Generation 5    Jul 10 2020 22:27:51    (current)
  file name: /var/guix/profiles/system-5-link
  canonical file name: /gnu/store/2c7rcrqdf11cqgb797l5qfv7xa20q0pb-system
  label: GNU with Linux 5.4.51
  bootloader: grub
  root device: UUID: 792f9783-0923-4f96-a2d3-b083f69dd46c
  kernel: /gnu/store/fxg5iiy5nyvgdj5w00zhgmj9s1hv3z5v-linux-5.4.51/bzImage
  channels:
    nonguix:
      repository URL: https://gitlab.com/nonguix/nonguix
      branch: master
      commit: d174095d26f46fa148f540fcefbdcef52451f5ec
    brett:
      repository URL: https://git.sr.ht/~brettgilio/cfg
      branch: master
      commit: fa4fb6e4e5062614d2d21dfa9c64b52cdc091892
    evan:
      repository URL: https://git.sr.ht/~ev4nx99/guix-channel
      branch: master
      commit: 6eb4ede0c48502aceb681f45bda15fb28f38b990
    brown121407:
      repository URL: https://git.sr.ht/~brown121407/guix.121407.xyz
      branch: master
      commit: 7245765f85a155ba03fada98cfe8270578594301
    guix:
      repository URL: https://git.savannah.gnu.org/git/guix.git
      branch: master
      commit: ec4c404c0575b340a04b3922fb828ac5417832dd
  configuration file: /gnu/store/rsg585v5z1bia3nxgll56h1n5p1vjz2i-configuration.scm
--8<---------------cut here---------------end--------------->8---

Cheers,
Sergiu