From mboxrd@z Thu Jan 1 00:00:00 1970 From: myglc2 Subject: bug#22550: (require 'magit) produces error: "no such file or directory" "dash" Date: Thu, 04 Feb 2016 10:16:46 -0500 Message-ID: <87lh7033q9.fsf@gmail.com> References: <87egctdsb0.fsf@gmail.com> <87lh70vclr.fsf@gmail.com> Mime-Version: 1.0 Content-Type: text/plain Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44811) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRLee-00041f-AO for bug-guix@gnu.org; Thu, 04 Feb 2016 10:17:09 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aRLeY-0006JY-BS for bug-guix@gnu.org; Thu, 04 Feb 2016 10:17:08 -0500 Received: from debbugs.gnu.org ([208.118.235.43]:51782) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aRLeY-0006JU-83 for bug-guix@gnu.org; Thu, 04 Feb 2016 10:17:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84) (envelope-from ) id 1aRLeX-0008OW-L7 for bug-guix@gnu.org; Thu, 04 Feb 2016 10:17:01 -0500 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <87lh70vclr.fsf@gmail.com> (Alex Kost's message of "Thu, 04 Feb 2016 16:17:36 +0300") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org To: Alex Kost Cc: 22550@debbugs.gnu.org Alex Kost writes: > myglc2 (2016-02-04 07:15 +0300) wrote: > >> with magit installed on guixSD following the config shown further below. >> >> With init.el containing ... >> >> VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV >> (add-to-list 'load-path "/run/current-system/profile/share/emacs/site-lisp") >> (require 'guix-init nil t) >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > You don't need to add these lines to your init file. On GuixSD this > code is executed by "/etc/emacs/site-start.el" (it is a default value of > EMACSLOADPATH which is honored by Emacs). > I added these lies because, without them, '(require 'magit)' produced ... VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV Debugger entered--Lisp error: (file-error "Cannot open load file" "no such file or directory" "magit") require(magit) eval((require (quote magit)) nil) eval-last-sexp-1(nil) eval-last-sexp(nil) call-interactively(eval-last-sexp nil nil) command-execute(eval-last-sexp) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... my EMACSLOADPATH ... glc4@g1 ~$ echo $EMACSLOADPATH :/etc/emacs If I set it to match what you say ... glc4@g1 ~$ EMACSLOADPATH=/etc/emacs/site-start.el glc4@g1 ~$ emacs ... produces *Messages* VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV Warning: Lisp directory `/etc/emacs/site-start.el': Not a directory timer-set-idle-time: Cannot open load file: not a directory, time-date Error in post-command-hook (global-font-lock-mode-check-buffers): (file-error "Cannot open load file" "not a directory" "time-date") ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ If I set it to match what I think you mean ... glc4@g1 ~$ EMACSLOADPATH=:/etc/emacs/site-start.el glc4@g1 ~$ emacs ... I get ... VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV Warning: Lisp directory `/etc/emacs/site-start.el': Not a directory Directory '/home/glc4/.guix-profile/share/emacs/site-lisp' does not exist. For information about GNU Emacs and the GNU system, type C-h C-a. ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... If I look in /etc/emacs I see ... VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV /etc/emacs: total used in directory 684 available 225716120 dr-xr-xr-x 2 root root 4096 Dec 31 1969 . drwxrwxr-t 992 root guixbuild 692224 Feb 3 23:33 .. lrwxrwxrwx 2 root root 57 Dec 31 1969 site-start.el -> /gnu/store/3jkv4favm6q2vphkm3m4wmpr8p75d6vx-site-start.el ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Note: below, I have EMACSLOADPATH=:/etc/emacs >> (require 'magit) >> >> ... generates this traceback ... >> >> VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV >> Debugger entered--Lisp error: (file-error "Cannot open load file" "no such file or directory" "dash") >> require(dash) >> byte-code("\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\300\307!\210\300\310!\210\300\311!\210\300\312\313\314#\207" [require cl-lib dash with-editor git-commit magit-core magit-diff magit-apply magit-log format-spec package nil t] 4) >> require(magit) >> eval((require (quote magit)) nil) >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ > > Yes, the problem is: currently only a user profile is "inspected" for > emacs packages, but not a system profile. I didn't realize people could > install emacs packages globally, but apparently we should also check the > system profile as well. Thanks for reporting! > >> Adding emac-dash to config.h.scm does not change the behavior. > > There is no need to install emacs-dash explicitly, as magit "propagates" > this library. You can do "M-x guix-edit magit" to see that "dash" is in > "propagated-inputs". When I do "M-x guix-edit" I get ... M-x guix-edit [No match] ... which is what lead me to believe I needed to fix load-path > > Now could you try this after starting Emacs: > > M-: (guix-emacs-load-autoloads "/run/current-system/profile") > > and check that "M-x magit-status" works after that? YES! That makes everything work. So, should I put ... '(guix-emacs-load-autoloads "/run/current-system/profile")' ... in init.el, in which case guix INFO should say so. Or, is there something wrong with EMACSLOADPATH?