dimitri / el-get

Manage the external elisp bits and pieces upon which you depend!
http://tapoueh.org/emacs/el-get.html
1.65k stars 456 forks source link

el-get-update-all fails with wrong-number-of-arguments error #2806

Closed Jdogzz closed 3 years ago

Jdogzz commented 3 years ago

Attempting to run el-get-update-all ends with the error:

cl-lib failed to install: (wrong-number-of-arguments (3 . 3) 11)

I ran git pull in my el-get directory (and patching as discussed in #2805), and am running a freshly compiled copy of emacs from the development branch (GNU Emacs 28.0.50).

The debugger reports:

Debugger entered--Lisp error: (wrong-number-of-arguments (3 . 3) 11)
  start-process-shell-command("byte-compile" "*el-get-build: cl-lib*" "/home/username/emacs-latest/src/emacs" "-Q" "-batch" "-f" "toggle-debug-on-error" "-l" "/home/username/emacs/el-get/el-get/el-get-byte-c..." "-f" "el-get-byte-compile-from-stdin")
  apply(start-process-shell-command "byte-compile" "*el-get-build: cl-lib*" "/home/username/emacs-latest/src/emacs" ("-Q" "-batch" "-f" "toggle-debug-on-error" "-l" "/home/username/emacs/el-get/el-get/el-get-byte-c..." "-f" "el-get-byte-compile-from-stdin"))
  el-get-start-process-list(cl-lib ((:command-name "byte-compile" :buffer-name "*el-get-build: cl-lib*" :default-directory "/home/username/emacs/el-get/cl-lib/" :shell t :stdin (:load-path ("." "/usr/local/share/emacs/site-lisp/mu4e" "/home/username/emacs/emacs-application-framework..." "/home/username/emacs/emacs-application-framework..." "~/emacs/emacs-application-framework/" "~/emacs/custom/org-annotate/" "~/emacs/custom/bookmark-plus/" "/home/username/emacs/packages/auctex-13.0.4/" "/home/username/emacs/packages/auctex-13.0.4" "/home/username/emacs/packages/conda-20210114.123" "/home/username/emacs/packages/csv-mode-1.14" "/home/username/emacs/packages/cyberpunk-theme-20..." "/home/username/emacs/packages/deft-20210101.1519" "/home/username/emacs/packages/doom-themes-202101..." "/home/username/emacs/packages/emacsql-sqlite3-20..." "/home/username/emacs/packages/emacsql-20200714.2..." "/home/username/emacs/packages/epc-20140610.534" "/home/username/emacs/packages/ctable-20210128.62..." "/home/username/emacs/packages/concurrent-2016122..." "/home/username/emacs/packages/deferred-20170901...." "/home/username/emacs/packages/git-commit-2021012..." "/home/username/emacs/packages/helm-20210131.1946" "/home/username/emacs/packages/helm-core-20210128..." "/home/username/emacs/packages/async-20210117.718" "/home/username/emacs/packages/hydra-20201115.105..." "/home/username/emacs/packages/link-hint-20201127..." "/home/username/emacs/packages/avy-20201226.1734" "/home/username/emacs/packages/lv-20200507.1518" "/home/username/emacs/packages/m-buffer-20170407...." "/home/username/emacs/packages/mu4e-alert-2019041..." "/home/username/emacs/packages/ht-20210119.741" "/home/username/emacs/packages/alert-20200303.211..." "/home/username/emacs/packages/log4e-20200420.745" "/home/username/emacs/packages/gntp-20141025.250" "/home/username/emacs/packages/nov-20201207.3" "/home/username/emacs/packages/esxml-20201226.214..." "/home/username/emacs/packages/org-caldav-2020051..." "/home/username/emacs/packages/org-mime-20201224...." "/home/username/emacs/packages/pdf-tools-20200512..." "/home/username/emacs/packages/perspective-202101..." "/home/username/emacs/packages/popup-20210108.182..." "/home/username/emacs/packages/pythonic-20210122...." "/home/username/emacs/packages/f-20191110.1357" "/home/username/emacs/packages/s-20180406.808" "/home/username/emacs/packages/tablist-20200427.2..." "/home/username/emacs/packages/use-package-202101..." "/home/username/emacs/packages/bind-key-20200805...." "/home/username/emacs/el-get/org-board" "/home/username/emacs/el-get/magit/lisp/" "/home/username/emacs/el-get/with-editor" ...) :compile-files ("/home/username/emacs/el-get/cl-lib") :clean-directory "/home/username/emacs/el-get/cl-lib/") :sync nil :program "/home/username/emacs-latest/src/emacs" :args ("-Q" "-batch" "-f" "toggle-debug-on-error" "-l" "/home/username/emacs/el-get/el-get/el-get-byte-c..." "-f" "el-get-byte-compile-from-stdin") :message "el-get-build cl-lib: byte-compile ok." :error "el-get could not byte-compile cl-lib")) el-get-post-update-build)
  (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: cl-lib*" "/home/username/emacs/el-get/cl-lib/" nil bytecomp-files)) #'el-get-post-update-build))
  (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: cl-lib*" "/home/username/emacs/el-get/cl-lib/" nil bytecomp-files)) #'el-get-post-update-build)))(cl-lib)
  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: cl-lib*" "/home/username/emacs/el-get/cl-lib/" nil bytecomp-files)) #'el-get-post-update-build))) cl-lib)
  (lambda (package) (el-get-install-or-init-info package 'build) (funcall (lambda (package) (let ((bytecomp-files (when el-get-byte-compile ...))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: cl-lib*" "/home/username/emacs/el-get/cl-lib/" nil bytecomp-files)) #'el-get-post-update-build))) package))(cl-lib)
  el-get-start-process-list(cl-lib nil (lambda (package) (el-get-install-or-init-info package 'build) (funcall (lambda (package) (let ((bytecomp-files (when el-get-byte-compile ...))) (el-get-start-process-list package (list (el-get-byte-compile-process package "*el-get-build: cl-lib*" "/home/username/emacs/el-get/cl-lib/" nil bytecomp-files)) #'el-get-post-update-build))) package)))
  el-get-build(cl-lib nil nil nil el-get-post-update-build)
  (let* ((sync el-get-default-process-sync) (type (el-get-package-type package)) (hooks (el-get-method type :update-hook)) (commands (el-get-build-commands package))) (run-hook-with-args hooks package) (el-get-build package commands nil sync 'el-get-post-update-build))
  el-get-post-update(cl-lib)
  el-get-builtin-install(cl-lib nil el-get-post-update)
  funcall(el-get-builtin-install cl-lib nil el-get-post-update)
  (let* ((package (el-get-as-symbol package)) (source (el-get-package-def package)) (method (el-get-package-method source)) (update (el-get-method method :update)) (url (plist-get source :url))) (progn (or (null (remove-if 'el-get-package-is-installed (el-get-dependencies package))) (cl--assertion-failed '(null (remove-if 'el-get-package-is-installed (el-get-dependencies package))) "Dependencies of package %s should already be insta..." (list) (list package))) nil) (funcall update package url 'el-get-post-update) (message "el-get update %s" package))
  el-get-do-update(cl-lib)
  (if new-dependencies (progn (setq el-get-next-packages new-dependencies) (add-hook 'el-get-post-init-hooks 'el-get-install-next-packages) (if el-get-update-post-dependency-fun (progn (remove-hook 'el-get-post-init-hooks el-get-update-post-dependency-fun))) (setq el-get-update-post-dependency-fun (list 'lambda '(&rest ignored) (list 'when '(null el-get-next-packages) '(remove-hook 'el-get-post-init-hooks el-get-update-post-dependency-fun) '(setq el-get-update-post-dependency-fun nil) (list 'el-get-do-update (list 'quote package))))) (add-hook 'el-get-post-init-hooks el-get-update-post-dependency-fun 'append) (el-get-install-next-packages)) (el-get-do-update package))
  (if (plist-get source :checksum) (error "el-get: remove checksum from package %s to update ..." package) (if new-dependencies (progn (setq el-get-next-packages new-dependencies) (add-hook 'el-get-post-init-hooks 'el-get-install-next-packages) (if el-get-update-post-dependency-fun (progn (remove-hook 'el-get-post-init-hooks el-get-update-post-dependency-fun))) (setq el-get-update-post-dependency-fun (list 'lambda '(&rest ignored) (list 'when '(null el-get-next-packages) '(remove-hook ... el-get-update-post-dependency-fun) '(setq el-get-update-post-dependency-fun nil) (list 'el-get-do-update (list ... package))))) (add-hook 'el-get-post-init-hooks el-get-update-post-dependency-fun 'append) (el-get-install-next-packages)) (el-get-do-update package)))
  (let* ((package (el-get-as-symbol package)) (new-dependencies (remove-if 'el-get-package-is-installed (el-get-dependencies package))) (source (el-get-package-def package))) (if (plist-get source :checksum) (error "el-get: remove checksum from package %s to update ..." package) (if new-dependencies (progn (setq el-get-next-packages new-dependencies) (add-hook 'el-get-post-init-hooks 'el-get-install-next-packages) (if el-get-update-post-dependency-fun (progn (remove-hook 'el-get-post-init-hooks el-get-update-post-dependency-fun))) (setq el-get-update-post-dependency-fun (list 'lambda '(&rest ignored) (list 'when '... '... '... (list ... ...)))) (add-hook 'el-get-post-init-hooks el-get-update-post-dependency-fun 'append) (el-get-install-next-packages)) (el-get-do-update package))))
  (if (el-get-update-requires-reinstall package) (el-get-reinstall package) (let* ((package (el-get-as-symbol package)) (new-dependencies (remove-if 'el-get-package-is-installed (el-get-dependencies package))) (source (el-get-package-def package))) (if (plist-get source :checksum) (error "el-get: remove checksum from package %s to update ..." package) (if new-dependencies (progn (setq el-get-next-packages new-dependencies) (add-hook 'el-get-post-init-hooks 'el-get-install-next-packages) (if el-get-update-post-dependency-fun (progn (remove-hook ... el-get-update-post-dependency-fun))) (setq el-get-update-post-dependency-fun (list 'lambda '... (list ... ... ... ... ...))) (add-hook 'el-get-post-init-hooks el-get-update-post-dependency-fun 'append) (el-get-install-next-packages)) (el-get-do-update package)))))
  el-get-update("cl-lib")
  mapc(el-get-update ("cl-lib" "dash" "el-get" "elfeed" "magit" "org-board" "org-mode" "org-noter" "org-superstar" "package" "transient" "tron-legacy-theme" "with-editor"))
  (let ((el-get-elpa-do-refresh 'once)) (mapc 'el-get-update (el-get-list-package-names-with-status "installed")))
  (progn (let ((el-get-elpa-do-refresh 'once)) (mapc 'el-get-update (el-get-list-package-names-with-status "installed"))))
  (if (or no-prompt (yes-or-no-p "Do you really want to update all installed package...")) (progn (let ((el-get-elpa-do-refresh 'once)) (mapc 'el-get-update (el-get-list-package-names-with-status "installed")))))
  el-get-update-all()
  funcall-interactively(el-get-update-all)
  call-interactively(el-get-update-all record nil)
  command-execute(el-get-update-all record)
  execute-extended-command(nil "el-get-update-all" nil)
  funcall-interactively(execute-extended-command nil "el-get-update-all" nil)
  call-interactively(execute-extended-command nil nil)
  command-execute(execute-extended-command)
cmstrickland commented 3 years ago

I saw similar errors calling start-process-shell-command on a 28.x build and added this workaround which fixed things enough for me to continue https://github.com/cmstrickland/el-get/commit/e35ec12dcfd2f907e76e9f5e309b3a4aafb15b04

Jdogzz commented 3 years ago

@cmstrickland Thanks, that seemed to allow my install to proceed but it failed later with more errors of a similar kind. I think in my case it moved the errors to when the remove function was called, but I got around that too by just manually deleting the package directories blocking it.

vedang commented 3 years ago

@Jdogzz @cmstrickland : The changes in #2801 should ideally fix the problem in the remove path as well. (I faced these errors too)

tomrtc commented 3 years ago

I have fixed the issue in my el-get package : File el-get-status.el:line 176 (define-obsolete-function-alias 'el-get-package-status 'el-get-read-package-status "21.1" "tomrtc") define-obsolete-function-alias has 3 mandatory arguments and the last one optional but only two are provided.

tarao commented 3 years ago

This should have been fixed by #2801. Please reopen if it's not.