-
Notifications
You must be signed in to change notification settings - Fork 456
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
install-info strangeness... #861
Comments
I also meet this error,how to resolve it? Debugger entered--Lisp error: (error "el-get: d:/Tools/msysgit/bin/install-info.exe el-get could not build el-get [d:/Tools/msysgit/bin/install-info.exe d:/home/.emacs.d/el-get/el-get/./el-get.info dir]")
signal(error ("el-get: d:/Tools/msysgit/bin/install-info.exe el-get could not build el-get [d:/Tools/msysgit/bin/install-info.exe d:/home/.emacs.d/el-get/el-get/./el-get.info dir]"))
error("el-get: %s %s" "d:/Tools/msysgit/bin/install-info.exe" "el-get could not build el-get [d:/Tools/msysgit/bin/install-info.exe d:/home/.emacs.d/el-get/el-get/./el-get.info dir]")
(if (eq 0 status) (message "el-get: %s" message) (set-window-buffer (selected-window) cbuf) (error "el-get: %s %s" cname errorm))
(let* ((startf (if shell (function call-process-shell-command) (function call-process))) (infile (when stdin (make-temp-file "el-get"))) (dummy (when infile (with-temp-file infile (insert (el-get-print-to-string stdin))))) (dummy (message "el-get is waiting for %S to complete" cname)) (status (apply startf program infile cbuf t args)) (message (plist-get c :message)) (errorm (plist-get c :error))) (when el-get-verbose (message "%S" (with-current-buffer cbuf (buffer-string)))) (if (eq 0 status) (message "el-get: %s" message) (set-window-buffer (selected-window) cbuf) (error "el-get: %s %s" cname errorm)) (when cbuf (kill-buffer cbuf)) (if next (let ((max-specpdl-size (+ 100 max-specpdl-size))) (el-get-start-process-list package next final-func)) (when (functionp final-func) (funcall final-func package))))
(progn (el-get-verbose-message "Running commands synchronously: %S" commands) (let* ((startf (if shell (function call-process-shell-command) (function call-process))) (infile (when stdin (make-temp-file "el-get"))) (dummy (when infile (with-temp-file infile (insert (el-get-print-to-string stdin))))) (dummy (message "el-get is waiting for %S to complete" cname)) (status (apply startf program infile cbuf t args)) (message (plist-get c :message)) (errorm (plist-get c :error))) (when el-get-verbose (message "%S" (with-current-buffer cbuf (buffer-string)))) (if (eq 0 status) (message "el-get: %s" message) (set-window-buffer (selected-window) cbuf) (error "el-get: %s %s" cname errorm)) (when cbuf (kill-buffer cbuf)) (if next (let ((max-specpdl-size (+ 100 max-specpdl-size))) (el-get-start-process-list package next final-func)) (when (functionp final-func) (funcall final-func package)))))
(if sync (progn (el-get-verbose-message "Running commands synchronously: %S" commands) (let* ((startf (if shell (function call-process-shell-command) (function call-process))) (infile (when stdin (make-temp-file "el-get"))) (dummy (when infile (with-temp-file infile (insert ...)))) (dummy (message "el-get is waiting for %S to complete" cname)) (status (apply startf program infile cbuf t args)) (message (plist-get c :message)) (errorm (plist-get c :error))) (when el-get-verbose (message "%S" (with-current-buffer cbuf (buffer-string)))) (if (eq 0 status) (message "el-get: %s" message) (set-window-buffer (selected-window) cbuf) (error "el-get: %s %s" cname errorm)) (when cbuf (kill-buffer cbuf)) (if next (let ((max-specpdl-size (+ 100 max-specpdl-size))) (el-get-start-process-list package next final-func)) (when (functionp final-func) (funcall final-func package))))) (el-get-verbose-message "Running commands asynchronously: %S" commands) (let* ((startf (if shell (function start-process-shell-command) (function start-process))) (process-connection-type nil) (proc (apply startf cname cbuf program args))) (mapc (lambda (x) (process-put proc x (plist-get c x))) c) (process-put proc :el-get-sources el-get-sources) (process-put proc :el-get-package package) (process-put proc :el-get-final-func final-func) (process-put proc :el-get-start-process-list next) (when stdin (process-send-string proc (el-get-print-to-string stdin)) (process-send-eof proc)) (set-process-sentinel proc (quote el-get-start-process-list-sentinel)) (when filter (set-process-filter proc filter))))
(let* ((c (car commands)) (next (cdr commands)) (cdir (plist-get c :default-directory)) (cname (plist-get c :command-name)) (cbuf (plist-get c :buffer-name)) (killed (when (get-buffer cbuf) (kill-buffer cbuf))) (filter (plist-get c :process-filter)) (program (plist-get c :program)) (shell (plist-get c :shell)) (args (if shell (mapcar (function shell-quote-argument) (plist-get c :args)) (plist-get c :args))) (sync (el-get-plist-get-with-default c :sync el-get-default-process-sync)) (stdin (plist-get c :stdin)) (default-directory (if cdir (file-name-as-directory (expand-file-name cdir)) default-directory))) (if sync (progn (el-get-verbose-message "Running commands synchronously: %S" commands) (let* ((startf (if shell (function call-process-shell-command) (function call-process))) (infile (when stdin (make-temp-file "el-get"))) (dummy (when infile (with-temp-file infile ...))) (dummy (message "el-get is waiting for %S to complete" cname)) (status (apply startf program infile cbuf t args)) (message (plist-get c :message)) (errorm (plist-get c :error))) (when el-get-verbose (message "%S" (with-current-buffer cbuf (buffer-string)))) (if (eq 0 status) (message "el-get: %s" message) (set-window-buffer (selected-window) cbuf) (error "el-get: %s %s" cname errorm)) (when cbuf (kill-buffer cbuf)) (if next (let ((max-specpdl-size ...)) (el-get-start-process-list package next final-func)) (when (functionp final-func) (funcall final-func package))))) (el-get-verbose-message "Running commands asynchronously: %S" commands) (let* ((startf (if shell (function start-process-shell-command) (function start-process))) (process-connection-type nil) (proc (apply startf cname cbuf program args))) (mapc (lambda (x) (process-put proc x (plist-get c x))) c) (process-put proc :el-get-sources el-get-sources) (process-put proc :el-get-package package) (process-put proc :el-get-final-func final-func) (process-put proc :el-get-start-process-list next) (when stdin (process-send-string proc (el-get-print-to-string stdin)) (process-send-eof proc)) (set-process-sentinel proc (quote el-get-start-process-list-sentinel)) (when filter (set-process-filter proc filter)))))
(if commands (let* ((c (car commands)) (next (cdr commands)) (cdir (plist-get c :default-directory)) (cname (plist-get c :command-name)) (cbuf (plist-get c :buffer-name)) (killed (when (get-buffer cbuf) (kill-buffer cbuf))) (filter (plist-get c :process-filter)) (program (plist-get c :program)) (shell (plist-get c :shell)) (args (if shell (mapcar (function shell-quote-argument) (plist-get c :args)) (plist-get c :args))) (sync (el-get-plist-get-with-default c :sync el-get-default-process-sync)) (stdin (plist-get c :stdin)) (default-directory (if cdir (file-name-as-directory (expand-file-name cdir)) default-directory))) (if sync (progn (el-get-verbose-message "Running commands synchronously: %S" commands) (let* ((startf (if shell ... ...)) (infile (when stdin ...)) (dummy (when infile ...)) (dummy (message "el-get is waiting for %S to complete" cname)) (status (apply startf program infile cbuf t args)) (message (plist-get c :message)) (errorm (plist-get c :error))) (when el-get-verbose (message "%S" (with-current-buffer cbuf ...))) (if (eq 0 status) (message "el-get: %s" message) (set-window-buffer (selected-window) cbuf) (error "el-get: %s %s" cname errorm)) (when cbuf (kill-buffer cbuf)) (if next (let (...) (el-get-start-process-list package next final-func)) (when (functionp final-func) (funcall final-func package))))) (el-get-verbose-message "Running commands asynchronously: %S" commands) (let* ((startf (if shell (function start-process-shell-command) (function start-process))) (process-connection-type nil) (proc (apply startf cname cbuf program args))) (mapc (lambda (x) (process-put proc x (plist-get c x))) c) (process-put proc :el-get-sources el-get-sources) (process-put proc :el-get-package package) (process-put proc :el-get-final-func final-func) (process-put proc :el-get-start-process-list next) (when stdin (process-send-string proc (el-get-print-to-string stdin)) (process-send-eof proc)) (set-process-sentinel proc (quote el-get-start-process-list-sentinel)) (when filter (set-process-filter proc filter))))) (when (functionp final-func) (funcall final-func package)))
(condition-case err (if commands (let* ((c (car commands)) (next (cdr commands)) (cdir (plist-get c :default-directory)) (cname (plist-get c :command-name)) (cbuf (plist-get c :buffer-name)) (killed (when (get-buffer cbuf) (kill-buffer cbuf))) (filter (plist-get c :process-filter)) (program (plist-get c :program)) (shell (plist-get c :shell)) (args (if shell (mapcar (function shell-quote-argument) (plist-get c :args)) (plist-get c :args))) (sync (el-get-plist-get-with-default c :sync el-get-default-process-sync)) (stdin (plist-get c :stdin)) (default-directory (if cdir (file-name-as-directory (expand-file-name cdir)) default-directory))) (if sync (progn (el-get-verbose-message "Running commands synchronously: %S" commands) (let* ((startf ...) (infile ...) (dummy ...) (dummy ...) (status ...) (message ...) (errorm ...)) (when el-get-verbose (message "%S" ...)) (if (eq 0 status) (message "el-get: %s" message) (set-window-buffer ... cbuf) (error "el-get: %s %s" cname errorm)) (when cbuf (kill-buffer cbuf)) (if next (let ... ...) (when ... ...)))) (el-get-verbose-message "Running commands asynchronously: %S" commands) (let* ((startf (if shell ... ...)) (process-connection-type nil) (proc (apply startf cname cbuf program args))) (mapc (lambda (x) (process-put proc x ...)) c) (process-put proc :el-get-sources el-get-sources) (process-put proc :el-get-package package) (process-put proc :el-get-final-func final-func) (process-put proc :el-get-start-process-list next) (when stdin (process-send-string proc (el-get-print-to-string stdin)) (process-send-eof proc)) (set-process-sentinel proc (quote el-get-start-process-list-sentinel)) (when filter (set-process-filter proc filter))))) (when (functionp final-func) (funcall final-func package))) ((debug error) (el-get-installation-failed package err)))
el-get-start-process-list("el-get" ((:command-name "d:/Tools/msysgit/bin/install-info.exe" :buffer-name "*el-get-build: el-get*" :default-directory "d:/home/.emacs.d/el-get/el-get/." :shell t :sync t :program "d:/Tools/msysgit/bin/install-info.exe" :args ("d:/home/.emacs.d/el-get/el-get/./el-get.info" "dir") :message "el-get-build el-get: d:/Tools/msysgit/bin/install-info.exe d:/home/.emacs.d/el-get/el-get/./el-get.info dir ok." :error "el-get could not build el-get [d:/Tools/msysgit/bin/install-info.exe d:/home/.emacs.d/el-get/el-get/./el-get.info dir]")) (lambda (package) (let ((bytecomp-files (when el-get-byte-compile (el-get-assemble-files-for-byte-compilation package)))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: el-get*" "d:/home/.emacs.d/el-get/el-get/." t bytecomp-files)) (lambda (&rest args) nil)))))
(let* ((pdir (el-get-package-directory package)) (wdir (if subdir (concat (file-name-as-directory pdir) subdir) pdir)) (buf (format "*el-get-build: %s*" package)) (default-directory (file-name-as-directory wdir)) (shell-file-name (or (and (eq system-type (quote windows-nt)) (executable-find "cmdproxy.exe")) shell-file-name)) (process-list (mapcar (lambda (c) (let* ((split ...) (c ...) (name ...) (program ...) (args ...)) (\` (:command-name ... :buffer-name ... :default-directory ... :shell t :sync ... :program ... :args ... :message ... :error ...)))) commands)) (post-build-fun (cond ((null post-build-fun) (lambda (&rest args) nil)) ((symbolp post-build-fun) (\` (lambda (&rest args) (apply ... args)))) (t (assert (functionp post-build-fun) (quote show-args)) post-build-fun))) (byte-compile-then-post-build-fun (\` (lambda (package) (let ((bytecomp-files ...)) (el-get-start-process-list package (list ...) (\, post-build-fun)))))) (build-info-then-post-build-fun (if installing-info byte-compile-then-post-build-fun (\` (lambda (package) (el-get-install-or-init-info package (quote build)) (funcall (\, byte-compile-then-post-build-fun) package)))))) (el-get-start-process-list package process-list build-info-then-post-build-fun))
el-get-build("el-get" (("d:/Tools/msysgit/bin/install-info.exe" "d:/home/.emacs.d/el-get/el-get/./el-get.info" "dir")) "." t nil t)
(progn (el-get-set-info-path package infodir-rel) (el-get-build package (list (list el-get-install-info (if (string= (substring infofile -5) ".info") infofile (concat infofile ".info")) "dir")) infodir-rel t nil t))
(if (and infodir el-get-install-info (file-directory-p infodir-abs) (not (file-exists-p info-dir))) (progn (el-get-set-info-path package infodir-rel) (el-get-build package (list (list el-get-install-info (if (string= (substring infofile -5) ".info") infofile (concat infofile ".info")) "dir")) infodir-rel t nil t)))
(when (and infodir el-get-install-info (file-directory-p infodir-abs) (not (file-exists-p info-dir))) (el-get-set-info-path package infodir-rel) (el-get-build package (list (list el-get-install-info (if (string= (substring infofile -5) ".info") infofile (concat infofile ".info")) "dir")) infodir-rel t nil t))
(cond ((eq build-or-init (quote init)) (when (file-exists-p info-dir) (el-get-set-info-path package infodir-rel))) ((eq build-or-init (quote build)) (when (and infodir el-get-install-info (file-directory-p infodir-abs) (not (file-exists-p info-dir))) (el-get-set-info-path package infodir-rel) (el-get-build package (list (list el-get-install-info (if (string= ... ".info") infofile (concat infofile ".info")) "dir")) infodir-rel t nil t))) (t (error "el-get-install-or-init-info: %s not supported" build-or-init)))
(let* ((infodir-abs-conf (concat pdir infodir)) (infodir-abs (file-name-as-directory (if (file-directory-p infodir-abs-conf) infodir-abs-conf (file-name-directory infodir-abs-conf)))) (infodir-rel (if (file-directory-p infodir-abs-conf) infodir (file-name-directory infodir))) (info-dir (concat infodir-abs "dir")) (infofile (if (and (file-exists-p infodir-abs-conf) (not (file-directory-p infodir-abs-conf))) infodir-abs-conf (concat infodir-abs pname)))) (cond ((eq build-or-init (quote init)) (when (file-exists-p info-dir) (el-get-set-info-path package infodir-rel))) ((eq build-or-init (quote build)) (when (and infodir el-get-install-info (file-directory-p infodir-abs) (not (file-exists-p info-dir))) (el-get-set-info-path package infodir-rel) (el-get-build package (list (list el-get-install-info (if ... infofile ...) "dir")) infodir-rel t nil t))) (t (error "el-get-install-or-init-info: %s not supported" build-or-init))))
(if (member method (quote (elpa apt-get fink pacman))) nil (let* ((infodir-abs-conf (concat pdir infodir)) (infodir-abs (file-name-as-directory (if (file-directory-p infodir-abs-conf) infodir-abs-conf (file-name-directory infodir-abs-conf)))) (infodir-rel (if (file-directory-p infodir-abs-conf) infodir (file-name-directory infodir))) (info-dir (concat infodir-abs "dir")) (infofile (if (and (file-exists-p infodir-abs-conf) (not (file-directory-p infodir-abs-conf))) infodir-abs-conf (concat infodir-abs pname)))) (cond ((eq build-or-init (quote init)) (when (file-exists-p info-dir) (el-get-set-info-path package infodir-rel))) ((eq build-or-init (quote build)) (when (and infodir el-get-install-info (file-directory-p infodir-abs) (not (file-exists-p info-dir))) (el-get-set-info-path package infodir-rel) (el-get-build package (list (list el-get-install-info ... "dir")) infodir-rel t nil t))) (t (error "el-get-install-or-init-info: %s not supported" build-or-init)))))
(unless (member method (quote (elpa apt-get fink pacman))) (let* ((infodir-abs-conf (concat pdir infodir)) (infodir-abs (file-name-as-directory (if (file-directory-p infodir-abs-conf) infodir-abs-conf (file-name-directory infodir-abs-conf)))) (infodir-rel (if (file-directory-p infodir-abs-conf) infodir (file-name-directory infodir))) (info-dir (concat infodir-abs "dir")) (infofile (if (and (file-exists-p infodir-abs-conf) (not (file-directory-p infodir-abs-conf))) infodir-abs-conf (concat infodir-abs pname)))) (cond ((eq build-or-init (quote init)) (when (file-exists-p info-dir) (el-get-set-info-path package infodir-rel))) ((eq build-or-init (quote build)) (when (and infodir el-get-install-info (file-directory-p infodir-abs) (not (file-exists-p info-dir))) (el-get-set-info-path package infodir-rel) (el-get-build package (list (list el-get-install-info ... "dir")) infodir-rel t nil t))) (t (error "el-get-install-or-init-info: %s not supported" build-or-init)))))
(let* ((source (el-get-package-def package)) (method (el-get-package-method source)) (infodir (plist-get source :info)) (pname (el-get-as-string package)) (pdir (el-get-package-directory package))) (unless (member method (quote (elpa apt-get fink pacman))) (let* ((infodir-abs-conf (concat pdir infodir)) (infodir-abs (file-name-as-directory (if (file-directory-p infodir-abs-conf) infodir-abs-conf (file-name-directory infodir-abs-conf)))) (infodir-rel (if (file-directory-p infodir-abs-conf) infodir (file-name-directory infodir))) (info-dir (concat infodir-abs "dir")) (infofile (if (and (file-exists-p infodir-abs-conf) (not ...)) infodir-abs-conf (concat infodir-abs pname)))) (cond ((eq build-or-init (quote init)) (when (file-exists-p info-dir) (el-get-set-info-path package infodir-rel))) ((eq build-or-init (quote build)) (when (and infodir el-get-install-info (file-directory-p infodir-abs) (not ...)) (el-get-set-info-path package infodir-rel) (el-get-build package (list ...) infodir-rel t nil t))) (t (error "el-get-install-or-init-info: %s not supported" build-or-init))))))
el-get-install-or-init-info("el-get" build)
(lambda (package) (el-get-install-or-init-info package (quote build)) (funcall (lambda (package) (let ((bytecomp-files (when el-get-byte-compile (el-get-assemble-files-for-byte-compilation package)))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: el-get*" "d:/home/.emacs.d/el-get/el-get/" t bytecomp-files)) (lambda (&rest args) (apply (lambda ... "Function to call after building the package while installing it." ... ... ... ...) args))))) package))("el-get")
funcall((lambda (package) (el-get-install-or-init-info package (quote build)) (funcall (lambda (package) (let ((bytecomp-files (when el-get-byte-compile (el-get-assemble-files-for-byte-compilation package)))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: el-get*" "d:/home/.emacs.d/el-get/el-get/" t bytecomp-files)) (lambda (&rest args) (apply (lambda ... "Function to call after building the package while installing it." ... ... ... ...) args))))) package)) "el-get")
(progn (funcall final-func package))
(if (functionp final-func) (progn (funcall final-func package)))
(when (functionp final-func) (funcall final-func package))
(if commands (let* ((c (car commands)) (next (cdr commands)) (cdir (plist-get c :default-directory)) (cname (plist-get c :command-name)) (cbuf (plist-get c :buffer-name)) (killed (when (get-buffer cbuf) (kill-buffer cbuf))) (filter (plist-get c :process-filter)) (program (plist-get c :program)) (shell (plist-get c :shell)) (args (if shell (mapcar (function shell-quote-argument) (plist-get c :args)) (plist-get c :args))) (sync (el-get-plist-get-with-default c :sync el-get-default-process-sync)) (stdin (plist-get c :stdin)) (default-directory (if cdir (file-name-as-directory (expand-file-name cdir)) default-directory))) (if sync (progn (el-get-verbose-message "Running commands synchronously: %S" commands) (let* ((startf (if shell ... ...)) (infile (when stdin ...)) (dummy (when infile ...)) (dummy (message "el-get is waiting for %S to complete" cname)) (status (apply startf program infile cbuf t args)) (message (plist-get c :message)) (errorm (plist-get c :error))) (when el-get-verbose (message "%S" (with-current-buffer cbuf ...))) (if (eq 0 status) (message "el-get: %s" message) (set-window-buffer (selected-window) cbuf) (error "el-get: %s %s" cname errorm)) (when cbuf (kill-buffer cbuf)) (if next (let (...) (el-get-start-process-list package next final-func)) (when (functionp final-func) (funcall final-func package))))) (el-get-verbose-message "Running commands asynchronously: %S" commands) (let* ((startf (if shell (function start-process-shell-command) (function start-process))) (process-connection-type nil) (proc (apply startf cname cbuf program args))) (mapc (lambda (x) (process-put proc x (plist-get c x))) c) (process-put proc :el-get-sources el-get-sources) (process-put proc :el-get-package package) (process-put proc :el-get-final-func final-func) (process-put proc :el-get-start-process-list next) (when stdin (process-send-string proc (el-get-print-to-string stdin)) (process-send-eof proc)) (set-process-sentinel proc (quote el-get-start-process-list-sentinel)) (when filter (set-process-filter proc filter))))) (when (functionp final-func) (funcall final-func package)))
(condition-case err (if commands (let* ((c (car commands)) (next (cdr commands)) (cdir (plist-get c :default-directory)) (cname (plist-get c :command-name)) (cbuf (plist-get c :buffer-name)) (killed (when (get-buffer cbuf) (kill-buffer cbuf))) (filter (plist-get c :process-filter)) (program (plist-get c :program)) (shell (plist-get c :shell)) (args (if shell (mapcar (function shell-quote-argument) (plist-get c :args)) (plist-get c :args))) (sync (el-get-plist-get-with-default c :sync el-get-default-process-sync)) (stdin (plist-get c :stdin)) (default-directory (if cdir (file-name-as-directory (expand-file-name cdir)) default-directory))) (if sync (progn (el-get-verbose-message "Running commands synchronously: %S" commands) (let* ((startf ...) (infile ...) (dummy ...) (dummy ...) (status ...) (message ...) (errorm ...)) (when el-get-verbose (message "%S" ...)) (if (eq 0 status) (message "el-get: %s" message) (set-window-buffer ... cbuf) (error "el-get: %s %s" cname errorm)) (when cbuf (kill-buffer cbuf)) (if next (let ... ...) (when ... ...)))) (el-get-verbose-message "Running commands asynchronously: %S" commands) (let* ((startf (if shell ... ...)) (process-connection-type nil) (proc (apply startf cname cbuf program args))) (mapc (lambda (x) (process-put proc x ...)) c) (process-put proc :el-get-sources el-get-sources) (process-put proc :el-get-package package) (process-put proc :el-get-final-func final-func) (process-put proc :el-get-start-process-list next) (when stdin (process-send-string proc (el-get-print-to-string stdin)) (process-send-eof proc)) (set-process-sentinel proc (quote el-get-start-process-list-sentinel)) (when filter (set-process-filter proc filter))))) (when (functionp final-func) (funcall final-func package))) ((debug error) (el-get-installation-failed package err)))
el-get-start-process-list("el-get" nil (lambda (package) (el-get-install-or-init-info package (quote build)) (funcall (lambda (package) (let ((bytecomp-files (when el-get-byte-compile (el-get-assemble-files-for-byte-compilation package)))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: el-get*" "d:/home/.emacs.d/el-get/el-get/" t bytecomp-files)) (lambda (&rest args) (apply (lambda ... "Function to call after building the package while installing it." ... ... ... ...) args))))) package)))
(let* ((pdir (el-get-package-directory package)) (wdir (if subdir (concat (file-name-as-directory pdir) subdir) pdir)) (buf (format "*el-get-build: %s*" package)) (default-directory (file-name-as-directory wdir)) (shell-file-name (or (and (eq system-type (quote windows-nt)) (executable-find "cmdproxy.exe")) shell-file-name)) (process-list (mapcar (lambda (c) (let* ((split ...) (c ...) (name ...) (program ...) (args ...)) (\` (:command-name ... :buffer-name ... :default-directory ... :shell t :sync ... :program ... :args ... :message ... :error ...)))) commands)) (post-build-fun (cond ((null post-build-fun) (lambda (&rest args) nil)) ((symbolp post-build-fun) (\` (lambda (&rest args) (apply ... args)))) (t (assert (functionp post-build-fun) (quote show-args)) post-build-fun))) (byte-compile-then-post-build-fun (\` (lambda (package) (let ((bytecomp-files ...)) (el-get-start-process-list package (list ...) (\, post-build-fun)))))) (build-info-then-post-build-fun (if installing-info byte-compile-then-post-build-fun (\` (lambda (package) (el-get-install-or-init-info package (quote build)) (funcall (\, byte-compile-then-post-build-fun) package)))))) (el-get-start-process-list package process-list build-info-then-post-build-fun))
el-get-build("el-get" nil nil t el-get-post-install-build)
(let* ((sync el-get-default-process-sync) (type (el-get-package-type package)) (hooks (el-get-method type :install-hook)) (commands (el-get-build-commands package)) (checksum (plist-get (el-get-package-def package) :checksum)) (compute-checksum (el-get-method type :compute-checksum))) (when (and checksum (not compute-checksum)) (error "Checksum verification of package %s is not supported with method %s." package type)) (when compute-checksum (let ((computed (funcall compute-checksum package))) (if checksum (if (equal computed (el-get-as-string checksum)) (el-get-verbose-message "el-get: package %s passed checksum with \"%s\"." package computed) (error "Checksum verification failed. Required: \"%s\", actual: \"%s\"." checksum computed)) (el-get-verbose-message "el-get: pakage %s checksum is %s." package computed)))) (run-hook-with-args hooks package) (el-get-build package commands nil sync (quote el-get-post-install-build)))
el-get-post-install("el-get")
(let ((el-get-default-process-sync t) (el-get-verbose t)) (el-get-post-install "el-get"))
(let* ((package "el-get") (buf (switch-to-buffer "*el-get bootstrap*")) (pdir (file-name-as-directory (concat el-get-root package))) (git (or (executable-find "git") (error "Unable to find `git'"))) (url (or (bound-and-true-p el-get-git-install-url) "http://github.com/dimitri/el-get.git")) (default-directory el-get-root) (process-connection-type nil) (status (call-process git nil (\` ((\, buf) t)) t "--no-pager" "clone" "-v" url package))) (unless (zerop status) (error "Couldn't clone el-get from the Git repository: %s" url)) (let* ((branch (cond ((bound-and-true-p el-get-install-branch)) ((boundp (quote el-get-master-branch)) "master") ((plist-get (with-temp-buffer ... ...) :branch)) ("master"))) (remote-branch (format "origin/%s" branch)) (default-directory pdir) (bstatus (if (string-equal branch "master") 0 (call-process git nil (list buf t) t "checkout" "-t" remote-branch)))) (unless (zerop bstatus) (error "Couldn't `git checkout -t %s`" branch))) (add-to-list (quote load-path) pdir) (load package) (let ((el-get-default-process-sync t) (el-get-verbose t)) (el-get-post-install "el-get")) (unless (boundp (quote el-get-install-skip-emacswiki-recipes)) (el-get-emacswiki-build-local-recipes)) (with-current-buffer buf (goto-char (point-max)) (insert "\nCongrats, el-get is installed and ready to serve!")))
(if (require (quote el-get) nil t) nil (unless (file-directory-p el-get-root) (make-directory el-get-root t)) (let* ((package "el-get") (buf (switch-to-buffer "*el-get bootstrap*")) (pdir (file-name-as-directory (concat el-get-root package))) (git (or (executable-find "git") (error "Unable to find `git'"))) (url (or (bound-and-true-p el-get-git-install-url) "http://github.com/dimitri/el-get.git")) (default-directory el-get-root) (process-connection-type nil) (status (call-process git nil (\` ((\, buf) t)) t "--no-pager" "clone" "-v" url package))) (unless (zerop status) (error "Couldn't clone el-get from the Git repository: %s" url)) (let* ((branch (cond ((bound-and-true-p el-get-install-branch)) ((boundp ...) "master") ((plist-get ... :branch)) ("master"))) (remote-branch (format "origin/%s" branch)) (default-directory pdir) (bstatus (if (string-equal branch "master") 0 (call-process git nil (list buf t) t "checkout" "-t" remote-branch)))) (unless (zerop bstatus) (error "Couldn't `git checkout -t %s`" branch))) (add-to-list (quote load-path) pdir) (load package) (let ((el-get-default-process-sync t) (el-get-verbose t)) (el-get-post-install "el-get")) (unless (boundp (quote el-get-install-skip-emacswiki-recipes)) (el-get-emacswiki-build-local-recipes)) (with-current-buffer buf (goto-char (point-max)) (insert "\nCongrats, el-get is installed and ready to serve!"))))
(unless (require (quote el-get) nil t) (unless (file-directory-p el-get-root) (make-directory el-get-root t)) (let* ((package "el-get") (buf (switch-to-buffer "*el-get bootstrap*")) (pdir (file-name-as-directory (concat el-get-root package))) (git (or (executable-find "git") (error "Unable to find `git'"))) (url (or (bound-and-true-p el-get-git-install-url) "http://github.com/dimitri/el-get.git")) (default-directory el-get-root) (process-connection-type nil) (status (call-process git nil (\` ((\, buf) t)) t "--no-pager" "clone" "-v" url package))) (unless (zerop status) (error "Couldn't clone el-get from the Git repository: %s" url)) (let* ((branch (cond ((bound-and-true-p el-get-install-branch)) ((boundp ...) "master") ((plist-get ... :branch)) ("master"))) (remote-branch (format "origin/%s" branch)) (default-directory pdir) (bstatus (if (string-equal branch "master") 0 (call-process git nil (list buf t) t "checkout" "-t" remote-branch)))) (unless (zerop bstatus) (error "Couldn't `git checkout -t %s`" branch))) (add-to-list (quote load-path) pdir) (load package) (let ((el-get-default-process-sync t) (el-get-verbose t)) (el-get-post-install "el-get")) (unless (boundp (quote el-get-install-skip-emacswiki-recipes)) (el-get-emacswiki-build-local-recipes)) (with-current-buffer buf (goto-char (point-max)) (insert "\nCongrats, el-get is installed and ready to serve!"))))
(let ((el-get-root (file-name-as-directory (or (bound-and-true-p el-get-dir) (concat (file-name-as-directory user-emacs-directory) "el-get"))))) (when (file-directory-p el-get-root) (add-to-list (quote load-path) el-get-root)) (unless (require (quote el-get) nil t) (unless (file-directory-p el-get-root) (make-directory el-get-root t)) (let* ((package "el-get") (buf (switch-to-buffer "*el-get bootstrap*")) (pdir (file-name-as-directory (concat el-get-root package))) (git (or (executable-find "git") (error "Unable to find `git'"))) (url (or (bound-and-true-p el-get-git-install-url) "http://github.com/dimitri/el-get.git")) (default-directory el-get-root) (process-connection-type nil) (status (call-process git nil (\` (... t)) t "--no-pager" "clone" "-v" url package))) (unless (zerop status) (error "Couldn't clone el-get from the Git repository: %s" url)) (let* ((branch (cond (...) (... "master") (...) ("master"))) (remote-branch (format "origin/%s" branch)) (default-directory pdir) (bstatus (if (string-equal branch "master") 0 (call-process git nil ... t "checkout" "-t" remote-branch)))) (unless (zerop bstatus) (error "Couldn't `git checkout -t %s`" branch))) (add-to-list (quote load-path) pdir) (load package) (let ((el-get-default-process-sync t) (el-get-verbose t)) (el-get-post-install "el-get")) (unless (boundp (quote el-get-install-skip-emacswiki-recipes)) (el-get-emacswiki-build-local-recipes)) (with-current-buffer buf (goto-char (point-max)) (insert "\nCongrats, el-get is installed and ready to serve!")))))
eval((let ((el-get-root (file-name-as-directory (or (bound-and-true-p el-get-dir) (concat (file-name-as-directory user-emacs-directory) "el-get"))))) (when (file-directory-p el-get-root) (add-to-list (quote load-path) el-get-root)) (unless (require (quote el-get) nil t) (unless (file-directory-p el-get-root) (make-directory el-get-root t)) (let* ((package "el-get") (buf (switch-to-buffer "*el-get bootstrap*")) (pdir (file-name-as-directory (concat el-get-root package))) (git (or (executable-find "git") (error "Unable to find `git'"))) (url (or (bound-and-true-p el-get-git-install-url) "http://github.com/dimitri/el-get.git")) (default-directory el-get-root) (process-connection-type nil) (status (call-process git nil (\` (... t)) t "--no-pager" "clone" "-v" url package))) (unless (zerop status) (error "Couldn't clone el-get from the Git repository: %s" url)) (let* ((branch (cond (...) (... "master") (...) ("master"))) (remote-branch (format "origin/%s" branch)) (default-directory pdir) (bstatus (if (string-equal branch "master") 0 (call-process git nil ... t "checkout" "-t" remote-branch)))) (unless (zerop bstatus) (error "Couldn't `git checkout -t %s`" branch))) (add-to-list (quote load-path) pdir) (load package) (let ((el-get-default-process-sync t) (el-get-verbose t)) (el-get-post-install "el-get")) (unless (boundp (quote el-get-install-skip-emacswiki-recipes)) (el-get-emacswiki-build-local-recipes)) (with-current-buffer buf (goto-char (point-max)) (insert "\nCongrats, el-get is installed and ready to serve!"))))) nil)
eval-last-sexp-1(t)
eval-last-sexp(t)
eval-print-last-sexp()
(save-current-buffer (set-buffer (url-retrieve-synchronously "https://raw.github.com/dimitri/el-get/master/el-get-install.el")) (end-of-buffer) (previous-line) (unless (string= (current-word) "closed") (end-of-line)) (eval-print-last-sexp))
(with-current-buffer (url-retrieve-synchronously "https://raw.github.com/dimitri/el-get/master/el-get-install.el") (end-of-buffer) (previous-line) (unless (string= (current-word) "closed") (end-of-line)) (eval-print-last-sexp))
(if (require (quote el-get) nil t) nil (with-current-buffer (url-retrieve-synchronously "https://raw.github.com/dimitri/el-get/master/el-get-install.el") (end-of-buffer) (previous-line) (unless (string= (current-word) "closed") (end-of-line)) (eval-print-last-sexp)))
(unless (require (quote el-get) nil t) (with-current-buffer (url-retrieve-synchronously "https://raw.github.com/dimitri/el-get/master/el-get-install.el") (end-of-buffer) (previous-line) (unless (string= (current-word) "closed") (end-of-line)) (eval-print-last-sexp)))
eval-buffer(#<buffer *load*<2>> nil "d:/home/.emacs.d/personal/10-el-get.el" nil t) ; Reading at buffer position 590
load-with-code-conversion("d:/home/.emacs.d/personal/10-el-get.el" "d:/home/.emacs.d/personal/10-el-get.el" nil nil)
load("d:/home/.emacs.d/personal/10-el-get.el")
mapc(load ("d:/home/.emacs.d/personal/0-double-type.el" "d:/home/.emacs.d/personal/08-defun.el" "d:/home/.emacs.d/personal/09-packages.el" "d:/home/.emacs.d/personal/10-el-get.el" "d:/home/.emacs.d/personal/15-base.el" "d:/home/.emacs.d/personal/15-osx.el" "d:/home/.emacs.d/personal/15-windows.el" "d:/home/.emacs.d/personal/20-misc.el" "d:/home/.emacs.d/personal/20-ui.el" "d:/home/.emacs.d/personal/30-editor.el" "d:/home/.emacs.d/personal/35-program.el" "d:/home/.emacs.d/personal/40-auto-complete.el" "d:/home/.emacs.d/personal/60-binding.el" "d:/home/.emacs.d/personal/90-twitter.el"))
(progn (mapc (quote load) (directory-files prelude-personal-dir (quote t) "^[^#].*el$")))
(if (file-exists-p prelude-personal-dir) (progn (mapc (quote load) (directory-files prelude-personal-dir (quote t) "^[^#].*el$"))))
(when (file-exists-p prelude-personal-dir) (mapc (quote load) (directory-files prelude-personal-dir (quote t) "^[^#].*el$")))
eval-buffer(#<buffer *load*> nil "d:/home/.emacs.d/init.el" nil t) ; Reading at buffer position 2986
load-with-code-conversion("d:/home/.emacs.d/init.el" "d:/home/.emacs.d/init.el" t t)
load("d:/home/.emacs.d/init" t t)
#[0 "�\205\262
|
So, I'm getting this when I try to install on Windows 7. My error is identical to the original poster's (just with my username instead). I don't know much about elisp, but what I can say is that on my system, cygwin's bash can find the file "C:/Users/Matt/.emacs.d/el-get/el-get/./el-get.info" but not the file "/Users/Matt/.emacs.d/el-get/el-get/./el-get.info". So it seems like there's an issue with the drive letter being left out. |
On a quick glance over it looks like the drive letter is present in the command line (see the debug traces) but not in the install info provided error message. So the problem is elsewhere. Could you try running the command in your shell, either cmd.exe or cygwin's bash, and report any error or success? |
It looks to me like the command being run is: install-info.exe C:/Users/Matt/.emacs.d/el-get/el-get.info dir Is the literal quoted "dir" in the args list supposed to be a variable named dir? When I run that command in cygwin's bash, it gives the exact same error: "install-info: No such file or directory for /Users/Matt/.emacs.d/el-get/el-get.info" |
The second argument is meant to be the literal "dir", that's the way install-info works. Is install info known to work at all on windows, is there an alternative (in elisp I would then guess) to use on that OS? |
I ran the command again with a version of install-info from GnuWin32, and it worked fine. I'm not sure what el-get should do, though. But users can download texinfo (which contains install-info) here: http://gnuwin32.sourceforge.net/packages/texinfo.htm If GnuWin32 is installed in the default location, the executable for install-info lands at: C:/Program Files (x86)/GnuWin32/bin/install-info.exe (or C:/Program Files on a 32 bit machine). Don't know if that's easier than asking people to install it and then place it in front of Cygwin's /bin in their PATH. |
If there's a way to tell which version of install-info you have and to assert that you have the one that doesn't work, we could try and do that automatically, raising a WARNING when it's the wrong version, with some instructions. We could improve the error message of the current install-info call when on windows, too, but that'd be too late. With the Assert idea we could transform the ERROR into a WARNING and avoid a failure (you'd just miss the Info book). Want to try finding clues so that we can assert things? |
The version that fails and the version that succeeds seem incredibly similar - they report the same version number and identical help text. It's not a problem with permissions, either, because I've run them both as administrator. Here's the logs for what I tested; long story short there's no difference except that one craps out and the other doesn't. The debug flag was no help, it just gives the same error. At any rate, in the logs below, ./install-info.exe is the one I installed from GnuWin32's website and install-info.exe is the one included in Cygwin. Working version from GnuWin32MattAd@X230t /cygdrive/c/Program Files (x86)/GnuWin32/bin MattAd@X230t /cygdrive/c/Program Files (x86)/GnuWin32/bin Copyright (C) 2008 Free Software Foundation, Inc. MattAd@X230t /cygdrive/c/Program Files (x86)/GnuWin32/bin Add or remove entries in INFO-FILE from the Info directory DIR-FILE. Options: Email bug reports to [email protected], MattAd@X230t /cygdrive/c/Program Files (x86)/GnuWin32/bin Non-Working version from CygwinMattAd@X230t /cygdrive/c/Program Files (x86)/GnuWin32/bin MattAd@X230t /cygdrive/c/Program Files (x86)/GnuWin32/bin Copyright (C) 2008 Free Software Foundation, Inc. MattAd@X230t /cygdrive/c/Program Files (x86)/GnuWin32/bin Add or remove entries in INFO-FILE from the Info directory DIR-FILE. Options: Email bug reports to [email protected], MattAd@X230t /cygdrive/c/Program Files (x86)/GnuWin32/bin |
A thought: maybe the cygwin version expects a unix-style path like |
Ah! That did it. I never use the /cygdrive/c/ style path, and it's never On Tue, Dec 11, 2012 at 5:04 AM, Ryan Thompson [email protected]:
|
Does the unix style path work with both versions? How do we know that we have to expand into that format and what the prefix is? Are there cases where expanding to that format could actually break situations that work now, in case we would want to make it more general than just |
I think the answer is that cygwin utils are not meant to be used outside of cygwin, so adding them to your windows path is just going to break things. |
Just tested: the Unix-style path doesn't work with the GnuWin32 version. As for making the conversion, I Googled around and found out about Is it reasonable to run As far as I understand, all Cygwin utilities should be able to understand Unix-style paths. Nothing should break that currently works for Cygwin users, if you were to start using the Re: DarwinAwardWinner, el-get already relies on a lot of Unix utilities that are easiest to get through Cygwin. Here's the instructions that I had to follow in order to discover the Native versions of all those tools might be available elsewhere, but I think Cygwin is the path most people take. |
I thought that with cygwin, you also have to use the cygwin version of emacs as well, in which case everything is just unix and there's no problem. Or am I wrong? |
I did setup el-get once with some recipes that needs make, autoconf, instal-info and the like, and I remember having installed Portable version of all those tools from GnuWin32. I'm not eager to do that again anytime soon, but it worked well in the end and I have an USB drive with a Portable Emacs And Tools that I can use as a survival kit. So I think that @DarwinAwardWinner is right to advice using the cygwin Emacs when using the cygwin tools in the path. Also I note that we have;
So it should be possible to have cygwin specific variants of build commands in the recipes and in the way we call |
Well, I use the GNU binary of Emacs, and have Cygwin providing various utilities like diff without any trouble. So my system (and the few other people who have reported this problem) would show up as windows-nt, even though we have a Cygwin Also, I should note that I've been using el-get for days now simply by cloning the repository. So if the install script doesn't work for some users, it's not the end of the world - they just need to clone the repository instead. |
For a moment I did forget that installing el-get itself will call into
Does that manage to describe the situation correctly? |
Yeah, that's perfect. Is it worth putting in a link to the GnuWin32 version On Wed, Dec 12, 2012 at 9:19 AM, Dimitri Fontaine
|
Fixed in 6f9f14c. |
The installation fails on windows due to paths not specified for the dir-file (?). This is the message I get in the Message buffer. It should explain the case:
I suspect it id due to the path to "dir" is not specified but the path to el-get.info is specified (both resides in the same folder according to the files in this git-project).
Running install-info on the side with full pathnames works
The text was updated successfully, but these errors were encountered: