2

I am using org mode to organize my various Emacs settings. Within my init.el file I just have (taking out initial comments):

;;; Code:
(package-initialize)
(eval-when-compile
  (require 'use-package))
(org-babel-load-file
 (expand-file-name "settings.org"
           user-emacs-directory))

My settings.org file is too long to post here, but if the details of it are pertinent I put the whole thing into a pastebin: http://pastebin.com/STkz1ADQ (The section about ein is at the bottom)

Recently (I don't know when this issue cropped up, I hadn't touched my settings.org in a while), any time I edit my settings.org file I get the following error message upon re-loading Emacs:

Warning (initialization): An error occurred while loading `/home/dan/.emacs.d/init.el':

File error: Cannot open load file, no such file or directory, cl-generic

The full debug message:

Debugger entered--Lisp error: (file-error "Cannot open load file" "no such file or directory" "cl-generic")
  require(cl-generic)
  eval-buffer(#<buffer  *load*-973163> nil "/home/dan/.emacs.d/elpa/ein-20160107.455/ein-cell-output.el" nil t)  ; Reading at buffer position 1010
  load-with-code-conversion("/home/dan/.emacs.d/elpa/ein-20160107.455/ein-cell-output.el" "/home/dan/.emacs.d/elpa/ein-20160107.455/ein-cell-output.el" nil t)
  require(ein-cell-output)
  eval-buffer(#<buffer  *load*-288601> nil "/home/dan/.emacs.d/elpa/ein-20160107.455/ein-notebook.el" nil t)  ; Reading at buffer position 1628
  load-with-code-conversion("/home/dan/.emacs.d/elpa/ein-20160107.455/ein-notebook.el" "/home/dan/.emacs.d/elpa/ein-20160107.455/ein-notebook.el" nil t)
  require(ein-notebook)
  eval-buffer(#<buffer  *load*-347368> nil "/home/dan/.emacs.d/elpa/ein-20160107.455/ein-notebooklist.el" nil t)  ; Reading at buffer position 1026
  load-with-code-conversion("/home/dan/.emacs.d/elpa/ein-20160107.455/ein-notebooklist.el" "/home/dan/.emacs.d/elpa/ein-20160107.455/ein-notebooklist.el" nil t)
  require(ein-notebooklist)
  eval-buffer(#<buffer  *load*-648891> nil "/home/dan/.emacs.d/elpa/ein-20160107.455/ein-org.el" nil t)  ; Reading at buffer position 896
  load-with-code-conversion("/home/dan/.emacs.d/elpa/ein-20160107.455/ein-org.el" "/home/dan/.emacs.d/elpa/ein-20160107.455/ein-org.el" nil t)
  ein:org-store-link()
  #[(f) "\302   \205\f

Reading through this the issue seemed to be that something weird was going on with EIN (Emacs Ipython Notebook). So I removed ein, and reinstalled it, and the issue went away.

I have to do this (remove ein, re-install ein) any time I edit settings.org.

I have no idea why this is happening - whether it's something with my setup, or with ein, or what. What is cl-generic (brief googling hasn't turned up much information)?

The compile log for ein also makes mention of cl-generic: http://pastebin.com/1zgQXvsx

Any light anyone can shed on this would be appreciated.

  • 1
    I guess it's a bug in ein that it doesn't declare a dependency on cl-generic? – npostavs Jan 12 '16 at 19:05
  • can you elaborate a bit? I'm not sure what I'm looking at, and don't want to bring this to the ein dev if it's something with how i have emacs set up – user3014097 Jan 13 '16 at 0:56
  • Library ein-cell-output apparently requires library cl-generic. Do you have a library named cl-generic in your load-path? If not, then that's why it cannot be found. Some recent versions of Emacs have library cl-generic, but older versions do not have it. Presumably ein requires such a recent version of Emacs. – Drew Jan 13 '16 at 1:23
  • cl-generic says it "provides (a subset of) the features ... introduced in Emacs-25" so ein should have (cl-generic "0.2") (or (emacs "25") if the subset is not sufficient) listed as a dependency in its ein-pkg.el file. – npostavs Jan 13 '16 at 3:08
  • I didn't realize cl-generic was a package (was under the impression it was included). Manually installing it seems to have fixed the issue. Still would love to know why this cropped up all of the sudden. I'm also using the most up to date stable release of Emacs (24.5.1) – user3014097 Jan 13 '16 at 4:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.