Closed Martinsos closed 4 years ago
Given that 26 to 27 is a major version update, wouldn't it be safe to assume that byte-compiled files cannot be used, i.e., shouldn't you make sure that all *.elc
files are removed before launching 27?
@emacs18 I wasn't aware of that! But, as I mentioned above, I did remove the whole spacemacs repo and it did not help -> I believe if there were any .elc files, those would be inside it?
I think it depends. Could you check the value of package-user-dir
for you? If that points to a sub-directory within spacemacs clone, then you are right that wiping spacemacs repo would also wipe your installed pacakges. However if package-user-dir
points to a directory outside of spacemacs clone, then you would need to manually wipe that directory.
@emacs18 thanks for the hint! I checked the value of package-user-dir
, and it is inside my spacemacs repo clone -> it is <spacemacs-repo>/elpa/27.1/develop
. So that would mean I indeed wiped it out, and it did not help.
I was not able to reproduce your failure using my build of emacs 27 on ubuntu 20.04. My steps were
rm ~/.spacemacs
user-emacs-directory
points to this spacemacs clone~/.spacemacs
would be created~/.spacemacs
to change the layers to exactly the ones mentioned at the top of this pagerm -rf spacemacs/elpa/*
to remove all installed packagesTreemacs worked fine. Helm worked fine. I saw no treemacs errors in *Messages*
buffer.
@emacs18 thanks for taking the time! Hmmm, well that poses question as to what is different on my side. Archlinux? But how would that affect it hm. Btw. I merely have a symbolic link from .emacs.d toward spacemacs repo clone dir, that is how I set it up, but I believe that should not be a problem, or could it be?
Btw. you can check out my exact init.el here: https://github.com/Martinsos/dotfiles/blob/master/.spacemacs.d/init.el .
If this is only error on my side, then it certainly doesn't make much sense to pursue this. But I see that @MarcusE1W reacted with thumbs up emoji -> @MarcusE1W, did you have the same issue?
Hi, yes. I have freshly installed emacs 27.1 and spacemacs and got a lot of errors for helm. Could it have been a timing problem that something was misaligned only for a while? I have to admit I did not investigate too much as I am using Ivy.
I use Manjaro ARM btw
@MarcusE1W I tried your init.el
. I still don't see any problem, i.e., there is no "error" within *Messages*
buffer.
One brute force method of debugging could be for you to save away your ~/.spacemacs
, then let emacs recreate it. If this works, then you can introduce your customizations one by one starting with layer stuff.
I examined the changes you made in your init.el
file compared with ~/.spacemacs
file that is generated. Following seems to be the only change that could impact your issue although I don't see any problem either way.
- dotspacemacs-use-spacelpa nil
+ dotspacemacs-use-spacelpa t
Can't reproduce your issue, I have removed my elpa folder and reinstalled all 500+ packages, apart from some compile warnings all worked well. I am on Manjaro Gnome.
@Martinsos I would suggest the same, try to reproduce the issue with a standard config and report back here. Also make sure you have no OS level packages installed which may be incompatible or would need a recompile.
Here is my system config:
((lsp :variables lsp-navigation 'peek)
dap helm
(scala :variables scala-backend 'scala-metals)
(nim :variables nim-backend 'company-nim)
spacemacs-purpose elasticsearch
(yang :variables yang-pyang-rules "ietf")
ietf scheme
(auto-completion :variables auto-completion-return-key-behavior 'complete auto-completion-tab-key-behavior 'cycle auto-completion-complete-with-key-sequence nil auto-completion-complete-with-key-sequence-delay 0.1 auto-completion-minimum-prefix-length 1 auto-completion-idle-delay 0.0 auto-completion-private-snippets-directory nil auto-completion-enable-snippets-in-popup nil auto-completion-enable-help-tooltip t auto-completion-use-company-box nil auto-completion-enable-sort-by-usage t)
syntax-checking better-defaults
(clojure :variables clojure-enable-fancify-symbols t clojure-enable-sayid t clojure-enable-clj-refactor t clojure-enable-linters
'(clj-kondo joker))
gpu graphviz
(plantuml :variables plantuml-jar-path "~/.plantuml/plantUml.jar" org-plantuml-jar-path "~/.plantuml/plantUml.jar")
salt ipython-notebook ibuffer emacs-lisp pdf
(org :variables org-enable-org-journal-support t org-want-todo-bindings t org-enable-github-support t org-enable-bootstrap-support t org-enable-reveal-js-support t org-enable-hugo-support t org-enable-trello-support t org-enable-epub-support t org-enable-sticky-header nil)
(shell :variables shell-enable-smart-eshell nil shell-default-shell 'vterm shell-default-height 30 shell-default-position 'bottom shell-default-full-span nil shell-default-term-shell "/usr/bin/fish")
version-control import-js
(cmake :variables cmake-enable-cmake-ide-support t cmake-backend 'company-cmake)
(c-c++ :variables c-c++-default-mode-for-headers 'c++-mode c-c++-backend 'lsp-clangd c-c++-lsp-enable-semantic-highlight 'rainbow c++-enable-organize-includes-on-save t c-c++-enable-clang-format-on-save t c-c++-adopt-subprojects t)
web-beautify semantic templates epub themes-megapack git github sml bm
(copy-as-format :variables copy-as-format-default "markdown" copy-as-format-asciidoc-include-file-name t)
pass common-lisp
(python :variables python-backend 'lsp python-lsp-server 'pyls python-test-runner 'pytest python-formatter 'lsp python-format-on-save t python-save-before-test t python-sort-imports-on-save t)
windows-scripts jr
(shell-scripts :variables shell-scripts-backend 'lsp)
prodigy emoji
(markdown :variables markdown-live-preview-engine 'vmd)
bibtex
(json :variables json-fmt-tool 'web-beautify json-fmt-on-save t)
debug
(latex :variables latex-enable-auto-fill t latex-enable-magic nil latex-enable-folding t)
lua
(html :variables web-fmt-tool 'web-beautify css-enable-lsp t less-enable-lsp t scss-enable-lsp t html-enable-lsp t)
(javascript :variables javascript-import-tool 'import-js javascript-backend 'lsp javascript-fmt-tool 'web-beautify javascript-repl 'nodejs js2-basic-offset 2 js-indent-level 2)
react
(yaml :variables yaml-enable-lsp t)
prettier
(multiple-cursors :variables multiple-cursors-backend 'evil-mc)
nginx
(docker :variables docker-dockerfile-backend 'lsp)
csv search-engine
(restclient :variables restclient-use-org t)
restructuredtext selectric octave purescript
(kotlin :variables kotlin-backend 'lsp kotlin-lsp-jar-path "~/.kotlin-lsp/install/server/bin/kotlin-language-server")
speed-reading systemd imenu-list
(java :variables java-backend 'lsp)
(groovy :variables groovy-backend 'lsp groovy-lsp-jar-path "~/.groovy-lsp/groovy-lsp-all.jar")
(go :variables go-backend 'lsp go-use-golangci-lint t gofmt-command "goimports" go-tab-width 4 go-format-before-save t go-use-gocheck-for-testing t go-use-test-args "-race -timeout 10s" godoc-at-point-function 'godoc-gogetdoc)
coq django
(elm :variables elm-backend 'lsp elm-sort-imports-on-save t elm-format-on-save t)
kubernetes idris
(haskell :variables haskell-completion-backend 'lsp haskell-enable-hindent t haskell-process-type 'stack-ghci)
pandoc sphinx parinfer asciidoc
(treemacs :variables treemacs-use-follow-mode t treemacs-use-filewatch-mode t treemacs-collapse-dirs 3 treemacs-use-icons-dired t treemacs-use-all-the-icons-theme nil treemacs-use-git-mode 'deferred)
ansible puppet rust xkcd typography
(vimscript :variables vimscript-backend 'lsp)
(terraform :variables terraform-auto-format-on-save t terraform-backend 'lsp)
(ruby :variables ruby-enable-enh-ruby-mode t ruby-backend 'lsp)
ruby-on-rails asm
(sql :variables sql-capitalize-keywords t)
autohotkey faust vagrant erlang games meson php helpful nginx racket
(colors :variables colors-colorize-identifiers 'all)
d unicode-fonts
(typescript :variables typescript-backend 'lsp typescript-fmt-tool 'tide typescript-lsp-linter t typescript-linter 'tslint typescript-fmt-on-save t))
Ok, so I followed the suggestion and managed to reproduce it in the following manner:
dotspacemacs-use-spacelpa
to t
.So basically, setting spacelpa to t
and having freshly cloned spacemacs repo (develop branch) -> I get an error.
Interesting: Deleting elpa
dir from spacemacs repo is not enough to reproduce the error, I have to delete the whole spacemacs repo and clone it again (I could try deleting more stuff though until I figure out which dirs from spacemacs exactly have to be deleted to reproduce the error, if you think that might help).
I retested. I see no problem with freshly generated ~/.spacemacs file whose only change was to set dotspacemacs-use-spacelpa to t. I also used freshly cloned spacemacs repo.
I did run into startup problem where a stack trace was thrown with "unknown symbol This" while loading org-loaddefs.el. However exiting emacs and then restarting seemed to get over this problem even if I had to try 3 or 4 times. Other than this problem I observed no other problem. Treemacs started up fine. Helm seem to work fine as well.
I was able to duplicate the problem with the following shell script:
#!/bin/bash
cd
rm -f ~/.spacemacs
rm -rf ~/.emacs.d
# Clone spacemacs develop branch into ~/.emacs.d
git clone -b develop --depth 50 https://github.com/syl20bnr/spacemacs .emacs.d
# Create a default ~/.spacemacs but set dotspacemacs-use-spacelpa as t
sed 's/dotspacemacs-use-spacelpa nil/dotspacemacs-use-spacelpa t/' \
~/.emacs.d/core/templates/.spacemacs.template > ~/.spacemacs
# Launch emacs 27
~/emacs27/bin/emacs -q --eval '(progn (setq user-emacs-directory "~/.emacs.d/") (load "~/.emacs.d/init.el"))'
@emacs18 Yes that is it! It is obviously important that some cache from spacemacs is removed, probably both elpa/ and .cache/.
Btw I don't remember personally setting dotspacemacs-use-spacelpa to t
, I wonder how that got set to that value in my settings hm.
The default value of this variable is nil, and it appears have been nil since it was created in 2017. So my guess is that you changed it in your own file at some point.
I'm not sure what to do with this problem. It indeed seems to be a problem. However it seems to be a problem that only those
who changed dotspacemacs-use-spacelpa
to t
would face. My guess is that there is some package version compatibility problem among packages in this spacelpa repository wherever this may be located. Since I have never used this spacelpa repo, and I don't even know where it is located, I'm not so inclined to look into this any further.
@emacs18 thanks for taking the time to look into this. I have to admit I also don't know much about spacelpa, and wonder why I put that to t
. I guess this is not really a big problem since situation in which it does reproduce seems pretty unique. However, maybe it hides some serious cause? I wouldn't know. Let's see, maybe somebody else (@smile13241324 ?) will have more interest in this, if not I am ok with closing it.
I was just watching from afar guys, still being interested.
Basically Spacelpa is an open project of @syl20bnr where you fetch a tar of packages which you can then install offline. The idea is to be less dependent on external package sources like elpa. However I am not sure what the status of this package repo is right now, maybe it is still in test and has not been updated so that simply packages are missing or the version is too old for emacs 27.
:thinking: I will push a message to the maintainers thread lets see if we can update package lists there. If not we may have to remove the variable form the dotfile or add a more meaningful message to the var something among the lines of "only use for testing".
Please keep the ticket open, I'll assign it to me and post more information when I have it.
@Martinsos it looks like the packages are pretty outdated, I have added a warning to the dotfile to avoid others using this in production for now. There is an open ticket #12656 which is about implementing this feature which is not yet finished.
I think we can close this ticket now, questions about spacelpa can be moved to the related ticket.
Description :octocat:
After updating emacs from v26 to v27, I got error
Error (use-package): treemacs-persp/:catch: Given parent class treemacs-scope is not a class
while spacemacs was installing packages (which it started doing automatically on start).I then run
update-packages
hoping to fix this, saw no errors reported and restarted emacs, thinking that is it, I fixed it.However, now I was getting different error any time helm was supposed to open:
Symbol’s value as variable is void: helm-buffer-list-reorder-fn
. Note that helm was working ok before I restarted emacs, after updating packages.I then run
update-packages
again (using SPC f e U since helm did not work) and after this helm started working.To figure out if this was caused by some weird state I got my emacs/spacemacs into, I deleted the whole spacemacs repo, cloned it again, and again everything happened in the same way.
All this is happening on latest develop branch (59f72709b8c2863bb9182095fbdbc71eba56040f).
Reproduction guide :beetle:
treemacs
error.Observed behaviour: :eyes: :broken_heart: errors on startup
Expected behaviour: :heart: :smile: When freshly installed, there should be no errors.
System Info :computer:
Backtrace :paw_prints:
N/A