Package `eieio-1.3' is unavailable #55

chreekat opened this Issue Jan 26, 2013 · 13 comments


None yet
3 participants

When run with "--debug-init", the debugger pauses once, saying this:

load-with-code-conversion("/home/b/.emacs.d/init-elpa.el" "/home/b/.emacs.d/init-elpa.el" nil t)
eval-buffer(#<buffer  *load*> nil "/home/b/.emacs.d/init.el" nil t)  ; Reading at buffer position 875
load-with-code-conversion("/home/b/.emacs.d/init.el" "/home/b/.emacs.d/init.el" t t)
load("/home/b/.emacs.d/init" t t)
#[nil "^H\205\264^@   \306=\203^Q^@\307^H\310Q\2027^@ \311=\2033^@\312\307\313\314#\203#^@\315\2027^@\312\307\313\316#\203/^@\317\2027^@\315\20[... continuing off page]

and then, after i hit 'c' it continues with this:

Debugger entered--Lisp error: (error "Cannot return from the debugger in an error")
  signal(error ("Package `eieio-1.3' is unavailable"))
  error("Package `%s-%s' is unavailable" "eieio" "1.3")
  package-compute-transaction((gist) ((eieio (1 3)) (gh (0 6 0)) (tabulated-list (0))))
    (if (or (assoc package package-archive-contents) no-refresh) (package-install package) (progn (package-refresh-contents) (require-package package min-version t)))
  (if (package-installed-p package min-version) t (if (or ... no-refresh) (package-install package) (progn ... ...)))
  eval-buffer(#<buffer  *load*<2>> nil "/home/b/.emacs.d/init-elpa.el" nil t)  ; Reading at buffer position 5191
  [...earlier bit reproduced here]

I could make it happen again by rmdir'ing ~/.emacs.d/elpa, which may or may not be useful information.

Further info: fresh install of emacs-nox on Ubuntu 12.04 (emacs --version --> GNU Emacs 23.3.1)

purcell added a commit that referenced this issue Jan 27, 2013

Replace gist with yagist (see #55)
gist's chain of dependencies breaks with eieio 1.4; yagist requires no
such workaround.

purcell commented Jan 27, 2013

Hi Brian!

Hmm... eieio.el version 1.3 is normally available in the Emacs standard library, but unlike Emacs 24, Emacs 23 doesn't seem to report the bundled version as an installed package.

I was able to reproduce the issue, and fix it by replacing the gist package (and its chain of dependencies which break with eieio 1.4 but not 1.3...) with yagist.

The fix is in 00be89e, and you should remove the logito, gh, pcache and gist subdirs under ~/.emacs.d/elpa... but there is then at least one more start-up issue specific to Emacs 23: lunaryorn/git-modes#10.

I'll do what I can to get things working, but I would strongly advise moving to Emacs 24 if at all possible. It has been the latest stable Emacs release for some time now.




purcell commented Jan 27, 2013

BTW, thanks for taking the time to file such a comprehensive bug report!

Ah, thanks! It looks like there's a relatively painless method of acquiring emacs 24 on Ubuntu, so I'll give it a shot.

This is in no way crucial to me - I am a relatively-satisfied Vimmer just looking to try things out. I gave Emacs a shot a few years ago and found the lack of "batteries" overwhelming, compared to Vim's defaults. But I am still oh so tempted by Emac's alluring possibilities...


purcell commented Jan 27, 2013

I used vim for many years, but switched to Emacs about 12 years ago and haven't looked back. But only in the last 2 years have I started using the Emacs keybindings for regular editing -- prior to that, I used viper-mode. If you want to try a similar approach, "evil" is the vim emulator package to use these days.


purcell commented Jan 27, 2013

I think I even wrote about it a few years ago:

Yup, somehow stumbled upon that article and decided to give this repo a shot. :)

I have 10 years of Vim experience and regularly use nearly every single motion command. Pretty sure I could never transition without keeping those around!...


purcell commented Jan 27, 2013

I'm afraid I might have removed all the vim-related code from the repo at this stage... sorry!


purcell commented Jan 27, 2013

A good starting point would be to edit init-elpa.el in order to add (require-package 'evil). Then M-x evil-mode should do the job, or you can put (evil-mode 1) at the end of init.el.

Cool, thanks again. Emacs 24 is installed and everything works.

I'm already thinking evil would be a bad idea anyway, for reasons I probably don't have to explain.

@purcell purcell closed this Mar 3, 2013

laynor commented Jul 20, 2013

Hi, having the same problem here, with pcache.
Emacs version:, built on 2013-06-18.
eieio 1.4 is reported as builtin in list-packages


purcell commented Jul 20, 2013

@laynor So that's an Emacs snapshot, as of 2 days ago? I can't reproduce that in my (slightly older) snapshot, or a stable Emacs. My Emacs reports eieio 1.3 as being built-in; sounds like things have changed upstream. Let me know if you figure out what's going on. I'll have to wait until I encounter this myself.

laynor commented Jul 23, 2013

@purcell It seems the problem was with emacs itself.
You can take a look at this:

All I had to do was upgrade to a newer snapshot :-)


purcell commented Jul 24, 2013

Aha, super. Thanks for following up.

qioixiy pushed a commit to qioixiy/emacs.d that referenced this issue Aug 5, 2017

le-clojure.el (lispy--clojure-lax): Use `lispy--read'
Regular Elisp `read' can't handle #() forms.

Fixes #55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment