syl20bnr / spacemacs

A community-driven Emacs distribution - The best editor is neither Emacs nor Vim, it's Emacs *and* Vim!
http://spacemacs.org
GNU General Public License v3.0
23.68k stars 4.89k forks source link

Can't load persp-mode #5100

Closed bennigoetz closed 4 years ago

bennigoetz commented 8 years ago

Minimal Emacs experience, new to Spacemacs.

I installed Spacemacs on top of Emacs 24.5.1, and got the error listed below. Running emacs --insecure didn't make any difference to the error. I have no idea what else to try to resolve the issue.

Otherwise Spacemacs seems to operate fine, but having this error and extra buffer pop up every time is annoying.

Error (use-package): persp-mode :init: Symbol's function definition is void: persp-mode
StreakyCobra commented 8 years ago

I suppose you are on windows? Can you check you have git and tar installed and that both are in exec-path (M-: exec-path RET)?

bennigoetz commented 8 years ago

Thanks for the quick reply!

I'm actually on CentOS 6.7, running on the Stampede cluster at TACC. git and tar are both installed on the system, and are available on my system path (I double-checked by running them at a prompt).

Benni

On Tue, Feb 16, 2016 at 5:25 PM, Fabien Dubosson notifications@github.com wrote:

I suppose you are on windows? Can you check you have git and tar installed and that both are in exec-path (M-: exec-path RET)?

— Reply to this email directly or view it on GitHub https://github.com/syl20bnr/spacemacs/issues/5100#issuecomment-184918092 .

StreakyCobra commented 8 years ago

Being on the system path and accessible from a terminal doesn't mean Spacemacs can find it. Can you check within emacs with M-: exec-path RET? Also, can you try by adding exec-path-from-shell to dotspacemacs-excluded-packages in your .spacemacs?

bennigoetz commented 8 years ago

OK, I think I did as you suggested.

which git returns /usr/bin/git, and /usr/bin is in exec-path. which tar returns /bin/tar, and /bin is in exec-path.

Forgive my ignorance of elisp, I hope this was correct: dotspacemacs-excluded-packages '() to dotspacemacs-excluded-packages '(exec-path-from-shell)

Same error message about persp-mode after that adjustment. All the other packages downloaded just fine after I first installed Spacemacs. (Actually, I think three of them had errors, but all but persp-mode installed after running emacs --insecure.)

StreakyCobra commented 8 years ago

All what you did seems correct, I'm clueless then. Just to be sure can you try again with exec-path-from-shell excluded, but before starting Spacemacs deleting these two folders:

bennigoetz commented 8 years ago

Just tried what you suggested, but I couldn't delete

.emacs.d/elpa/persp-mode-[version]

because it wasn't in the .emacs.d/elpa directory. I don't know whether that's useful information.

Same error after starting up Spacemacs.

Sounds like this is a rare bug, of mysterious origin. Perhaps it will just as mysteriously vanish with 105.10. Thanks for the help!

StreakyCobra commented 8 years ago

So I really don't know, sorry :-(

syl20bnr commented 8 years ago

Since you did not have any persp-mode folder in the elpa directory it seems to be an issue with Git because this particular package is cloned from github directly via quelpa.

What is your git version and tar version ? CentOS 6 should have pretty old packages.

bennigoetz commented 8 years ago

My git version is 1.7.1, and my tar version is 1.23. So yeah, they're both pretty old. I'll try installing new versions in my own bin directory, and see if that fixes things. Unfortunately it'll have to wait a day or two to test it out, as I have to prepare for a lecture tomorrow.

BTW, awesome project, I'm very happy to see this approach. And I'm floored by all the personal attention for such a small problem. Thank you!

tyuownu commented 8 years ago

For me, I just copy the persp-mode to elpa/ directory, it solve the problem.

shtwzrd commented 8 years ago

Just chiming in to say I'm also experiencing this issue with persp-mode.

git --version
git version 2.7.1
tar --version
tar (GNU tar) 1.28

persp-mode folder doesn't show up under elpa/, and the output from emacs every startup outputs:

(Spacemacs) --> installing package: persp-mode@spacemacs-layouts... [1/1]
Fetcher: github
Source: syl20bnr/persp-mode.el

Updating /home/man/.emacs.d/.cache/quelpa/build/persp-mode/
Error (use-package): persp-mode :init: Symbol's function definition is void: persp-mode

I tried clearing out the .cache folder but that did not change anything.

bennigoetz commented 8 years ago

Huh. So I went to the persp-mode Github page, and followed the directions to install persp-mode. Specifically, I ran: M-x: package-install RET persp-mode RET

That seems to have fixed the problem. After quitting Spacemacs and then opening it again, no warning, and I see the persp-mode directory in the .emacs.d/elpa directory.

edengzv commented 8 years ago

thx @bennigoetz, I follow your instructions and it works! I install persp-mode with the second method :

Alternatively you can download the persp-mode.el from persp-mode Github page, and install it as a package: M-x: package-install-file RET 'path_to_where_you_saved_persp-mode.el' RET

remd commented 8 years ago

I'm also experiencing this problem after installing spacemacs on Windows 7 64-bit over the emacs-24.5-bin-i686-mingw32 prebuilt binaries.

I am using runemacs.exe --insecure or emacs.exe --insecure and in the minibuffer I get the following errors when following @bennigoetz instructions to manually install persp-mode.

Contacting host: melpa.org:443
Opening TLS connection to `melpa.org'...
Opening TLS connection with `gnutls-cli --insecure -p 443 melpa.org'...failed
Opening TLS connection with `gnutls-cli --insecure -p 443 melpa.org --protocols ssl3'...failed
Opening TLS connection with `openssl s_client -connect melpa.org:443 -no_ssl2 -ign_eof'...failed
Opening TLS connection to `melpa.org'...failed
url-http: Could not create connection to melpa.org:443

Should it be connecting over TLS if I am using emacs --insecure?

I will try installing persp-mode manully (it worked).

bmag commented 8 years ago

@remd just for the record, I recommend the 64bit binaries of Emacs from https://sourceforge.net/projects/emacsbinw64/files/. It is compiled with GnuTLS and image support built-in.

remd commented 8 years ago

@bmag I was able to install all other packages other than persp-mode under emacs --insecure on the binaries I was using previously. I'm now using the 64-bit build you linked and I'm still encountering the original issue:

Error (use-package): persp-mode :init: Symbol's function definition is void: persp-mode

EDIT: git needed to be available on my PATH environment variable. The persp-mode install worked fine on spacemacs start after doing this. This may have been part of my original problem on the other binaries.

braineo commented 8 years ago

@bennigoetz Thank you that solves the problem!

aBathologist commented 8 years ago

A tip for those who might run into a similar hangup: On Windows 7, I tried adding git to my Path variable. While I could then run git from the Windows shell, but, when I launched the application via file explorer, Emacs still wasn't installing persp-mode on startup. When I launched emacs from the shell, it registered the update to the Path variable and installed persp-mode as expected! Thanks, to all for working this out.

mikavilpas commented 8 years ago

For me on Windows 7, installing emacs-bin-w64-25.0.92-O2 solved this issue.

github-actions[bot] commented 4 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Please let us know if this issue is still valid!