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

Problem when installing el-get on emacs 29.1 #2912

Closed renatocan closed 1 month ago

renatocan commented 1 year ago

Hi everyone,

I'm following the procedure for "The lazy installer" and I'm getting a Debugger error: https://gist.github.com/renatocan/0d8cf809520ab00976b6bb06e865705b

I'm testing on a fresh installed emacs on Archlinux: GNU Emacs 29.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.38,

Thanks you for your assistance,

Renato.

7kilobytes commented 1 year ago

Have the same issue

Pitometsu commented 10 months ago

The same error. Any updates?

Could that help? https://github.com/dimitri/el-get/pull/2890 or that https://github.com/dimitri/el-get/pull/2895 ?

@dimitri FYI

renatocan commented 9 months ago

Any updates on this issue? I have tried a fresh install again and it seems to be happening the same error...

I tried to fix as suggested in https://github.com/dimitri/el-get/pull/2890/files but it didn't solve either.

I would be glad to help fixing this, appreciate it if someone can guide me how :-)

Thanks!

Pitometsu commented 9 months ago
+++ b/site-lisp/getelget.el
@@ -72,8 +74,14 @@ PKG - accepted package name in hook."
       ;; bootstrap
       (url-retrieve-synchronously
        "https://raw.github.com/dimitri/el-get/master/el-get-install.el")
-    (let (el-get-master-branch
-          el-get-install-skip-emacswiki-recipes)
+    (let ((el-get-install-skip-emacswiki-recipes t)
+         (el-get-install-branch "emacs-29-patch")
+         ;; (el-get-master-branch t)
+         )
+      ;; workaround https://github.com/dimitri/el-get/issues/2912
+      (while (search-forward "https://github.com/dimitri/el-get.git" nil t)
+       (replace-match "https://github.com/nevsan/el-get.git" nil nil))
+      

As a workaround for me helped.


UPD: FIY, this workaround lead to stucking with old recipes this way

lispstudent commented 8 months ago

This is affecting me as well. I rely on el-get since ages, but now I am stuck. I do not want to use other systems, but I can't help fixing it, I have written a plea to the developers.

okkez commented 6 months ago

Have the same issue.

I don't have .status.el and got the error error: (wrong-type-argument listp t).

I created .status.el with followings:

()

And execute (el-get 'sync). Then generated imcomplete .status.el and got errors.

Debugger entered--Lisp error: (void-variable el-get-bundle-init-count-alist)
  el-get-bundle-clear-init-count("/home/kenji/.emacs.d/el-get/el-get/el-get-core.elc")
  do-after-load-evaluation("/home/kenji/.emacs.d/el-get/el-get/el-get-core.elc")
  require(el-get-core)
  byte-code("\303\304!\210\303\305!\210\303\306!\210\303\307!\210\303\310!\210\303\311!\210\303\312!\210\303\313!\210\303\314!\210\303\315!\210\303\316!\210\303\317!\210\320\10..." [load-file-name el-get-dir bundle require cl-lib el-get-core el-get-custom el-get-methods el-get-recipes el-get-status el-get-build el-get-byte-compile el-get-dependencies el-get-notify el-get-list-packages el-get-autoloading file-name-directory expand-file-name "el-get-bundle" autoload el-get-bundle-el-get el-get-bundle nil macro el-get-bundle!] 6)
  require(el-get)
  (progn (message "Deleting melpa bootstrap el-get") (unless package--initialized (package-initialize t)) (when (package-installed-p 'el-get) (let ((feats (delete-dups (el-get-package-features (el-get-elpa-package-directory ...))))) (el-get-elpa-delete-package 'el-get) (dolist (feat feats) (unload-feature feat t)))) (require 'el-get))
  (if (memq 'el-get (bound-and-true-p package-activated-list)) (progn (message "Deleting melpa bootstrap el-get") (unless package--initialized (package-initialize t)) (when (package-installed-p 'el-get) (let ((feats (delete-dups (el-get-package-features ...)))) (el-get-elpa-delete-package 'el-get) (dolist (feat feats) (unload-feature feat t)))) (require 'el-get)))
  (when (memq 'el-get (bound-and-true-p package-activated-list)) (message "Deleting melpa bootstrap el-get") (unless package--initialized (package-initialize t)) (when (package-installed-p 'el-get) (let ((feats (delete-dups (el-get-package-features (el-get-elpa-package-directory ...))))) (el-get-elpa-delete-package 'el-get) (dolist (feat feats) (unload-feature feat t)))) (require 'el-get))
  eval((when (memq 'el-get (bound-and-true-p package-activated-list)) (message "Deleting melpa bootstrap el-get") (unless package--initialized (package-initialize t)) (when (package-installed-p 'el-get) (let ((feats (delete-dups (el-get-package-features ...)))) (el-get-elpa-delete-package 'el-get) (dolist (feat feats) (unload-feature feat t)))) (require 'el-get)) nil)
  el-get-run-package-support((when (memq 'el-get (bound-and-true-p package-activated-list)) (message "Deleting melpa bootstrap el-get") (unless package--initialized (package-initialize t)) (when (package-installed-p 'el-get) (let ((feats (delete-dups (el-get-package-features ...)))) (el-get-elpa-delete-package 'el-get) (dolist (feat feats) (unload-feature feat t)))) (require 'el-get)) "post-init" el-get)
  el-get-do-init(el-get)
  el-get-post-install-build(el-get)
  el-get-start-process-list(el-get ((:command-name "byte-compile" :buffer-name "*el-get-build: el-get*" :default-directory "/home/kenji/.emacs.d/el-get/el-get/" :shell t :stdin (:load-path ("." "/home/kenji/.emacs.d/elpa/yasnippet-snippets-20240..." "/home/kenji/.emacs.d/elpa/org-modern-20240316.1109" "/home/kenji/.emacs.d/elpa/poly-erb-20200316.1314" "/home/kenji/.emacs.d/elpa/poly-ruby-20180905.929" "/home/kenji/.emacs.d/elpa/poly-markdown-20230202.1..." "/home/kenji/.emacs.d/elpa/polymode-20230317.1218" "/home/kenji/.emacs.d/elpa/yaml-mode-20240317.1602" "/home/kenji/.emacs.d/elpa/vue-mode-20240101.333" "/home/kenji/.emacs.d/elpa/ssass-mode-20200211.132" "/home/kenji/.emacs.d/elpa/vue-html-mode-20180428.2..." "/home/kenji/.emacs.d/elpa/edit-indirect-20240128.1..." "/home/kenji/.emacs.d/elpa/mmm-mode-20240222.428" "/home/kenji/.emacs.d/elpa/typescript-mode-20230116..." "/home/kenji/.emacs.d/elpa/slim-mode-20170728.1348" "/home/kenji/.emacs.d/elpa/scss-mode-20180123.1708" "/home/kenji/.emacs.d/elpa/svelte-mode-20211016.652" "/home/kenji/.emacs.d/elpa/rustic-20230130.912" "/home/kenji/.emacs.d/elpa/rust-mode-20240313.157" "/home/kenji/.emacs.d/elpa/markdown-mode-20240318.1..." "/home/kenji/.emacs.d/elpa/spinner-1.7.4" "/home/kenji/.emacs.d/elpa/rhtml-mode-20130422.1311" "/home/kenji/.emacs.d/elpa/inf-ruby-20240310.1803" "/home/kenji/.emacs.d/elpa/ruby-end-20230205.115" "/home/kenji/.emacs.d/elpa/json-mode-20240228.1443" "/home/kenji/.emacs.d/elpa/json-snatcher-20200916.1..." "/home/kenji/.emacs.d/elpa/js2-mode-20240310.1755" "/home/kenji/.emacs.d/elpa/vcl-mode-1.1" "/home/kenji/.emacs.d/elpa/lua-mode-20231023.947" "/home/kenji/.emacs.d/elpa/nginx-mode-20170612.437" "/home/kenji/.emacs.d/elpa/terraform-mode-20240321...." "/home/kenji/.emacs.d/elpa/hcl-mode-20240220.1534" "/home/kenji/.emacs.d/elpa/haml-mode-20230608.1833" "/home/kenji/.emacs.d/elpa/go-mode-20230823.2304" "/home/kenji/.emacs.d/elpa/dockerfile-mode-20240324..." "/home/kenji/.emacs.d/elpa/magit-delta-20220125.50" "/home/kenji/.emacs.d/elpa/magit-20240320.2336" "/home/kenji/.emacs.d/elpa/git-commit-20240320.2311" "/home/kenji/.emacs.d/elpa/magit-section-20240311.1..." "/home/kenji/.emacs.d/elpa/dash-20240103.1301" "/home/kenji/.emacs.d/elpa/transient-20240321.2209" "/home/kenji/.emacs.d/elpa/with-editor-20240101.222..." "/home/kenji/.emacs.d/elpa/xterm-color-20230321.3" "/home/kenji/.emacs.d/elpa/atomic-chrome-20230304.1..." "/home/kenji/.emacs.d/elpa/websocket-20230809.305" "/home/kenji/.emacs.d/elpa/editorconfig-20240318.20..." "/home/kenji/.emacs.d/elpa/wgrep-20230203.1214" "/home/kenji/.emacs.d/elpa/amx-20230413.1210" "/home/kenji/.emacs.d/elpa/consult-ghq-20231111.130..." "/home/kenji/.emacs.d/elpa/affe-20240102.331" ...) :compile-files ("/home/kenji/.emacs.d/el-get/el-get/methods/" "el-get.el" "el-get-status.el" "el-get-recipes.el" "el-get-notify.el" "el-get-methods.el" "el-get-list-packages.el" "el-get-install.el" "el-get-dependencies.el" "el-get-custom.el" "el-get-core.el" "el-get-check.el" "el-get-byte-compile.el" "el-get-bundle.el" "el-get-build.el" "el-get-autoloading.el") :clean-directory "/home/kenji/.emacs.d/el-get/el-get/") :sync sync :program "/usr/bin/emacs" :args ("-Q" "-batch" "-f" "toggle-debug-on-error" "-l" "/home/kenji/.emacs.d/elpa/el-get-20230618.1453/el-..." "-f" "el-get-byte-compile-from-stdin") :message "el-get-build el-get: byte-compile ok." :error "el-get could not byte-compile el-get")) el-get-post-install-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: el-get*" "/home/kenji/.emacs.d/el-get/el-get/" sync bytecomp-files)) #'el-get-post-install-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: el-get*" "/home/kenji/.emacs.d/el-get/el-get/" sync bytecomp-files)) #'el-get-post-install-build)))(el-get)
  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*" "/home/kenji/.emacs.d/el-get/el-get/" sync bytecomp-files)) #'el-get-post-install-build))) el-get)
  (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: el-get*" "/home/kenji/.emacs.d/el-get/el-get/" sync bytecomp-files)) #'el-get-post-install-build))) package))(el-get)
  el-get-start-process-list(el-get 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: el-get*" "/home/kenji/.emacs.d/el-get/el-get/" sync bytecomp-files)) #'el-get-post-install-build))) package)))
  el-get-build(el-get nil nil sync el-get-post-install-build)
  el-get-post-install(el-get)
  el-get-start-process-list(el-get (nil (:command-name "*git submodule update*" :buffer-name "*git clone el-get*" :default-directory "/home/kenji/.emacs.d/el-get/el-get/" :program "/usr/bin/git" :args ("--no-pager" "submodule" "update" "--init" "--recursive") :message "git submodule update ok" :error "Could not update git submodules")) el-get-post-install)
  el-get-start-process-list(el-get ((:command-name "*git clone el-get*" :buffer-name "*git clone el-get*" :default-directory "/home/kenji/.emacs.d/el-get" :program "/usr/bin/git" :args ("--no-pager" "clone" "-b" "master" "https://github.com/dimitri/el-get.git" "el-get") :message "Package el-get installed." :error "Could not install package el-get.") nil (:command-name "*git submodule update*" :buffer-name "*git clone el-get*" :default-directory "/home/kenji/.emacs.d/el-get/el-get/" :program "/usr/bin/git" :args ("--no-pager" "submodule" "update" "--init" "--recursive") :message "git submodule update ok" :error "Could not update git submodules")) el-get-post-install)
  el-get-git-clone(el-get "https://github.com/dimitri/el-get.git" el-get-post-install)
  el-get-github-clone(el-get nil el-get-post-install)
  el-get-do-install(el-get)
  el-get-init-and-install(nil)
  el-get(sync)
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  command-execute(eval-last-sexp)

.status.el is below.

((el-get status "installed" recipe
         (:name el-get :website "https://github.com/dimitri/el-get#readme" :description "Manage the external elisp bits and pieces you depend upon." :type github :branch "master" :pkgname "dimitri/el-get" :info "." :compile
                ("el-get.*\\.el$" "methods/")
                :features el-get :post-init
                (when
                    (memq 'el-get
                          (bound-and-true-p package-activated-list))
                  (message "Deleting melpa bootstrap el-get")
                  (unless package--initialized
                    (package-initialize t))
                  (when
                      (package-installed-p 'el-get)
                    (let
                        ((feats
                          (delete-dups
                           (el-get-package-features
                            (el-get-elpa-package-directory 'el-get)))))
                      (el-get-elpa-delete-package 'el-get)
                      (dolist
                          (feat feats)
                        (unload-feature feat t))))
                  (require 'el-get)))))
saffroy commented 1 month ago

Last year I also faced problems with el-get on Emacs 29 (I think it was 29.1), today I found that a fresh check-out of el-get worked well with Emacs 29.3, no fix or workaround needed. So you people may want to give it a try.

lispstudent commented 1 month ago

Thank you very much for letting us know, it works again on my side as well.

One wonders, how was it fixed? I can't see any commit relating to this issue?

PS: I like el-get very much, still my favourite package manager. But it does not seem an easy task to have feedback from maintainers. To non-skilled users like me, this does not give much confidence.

saffroy commented 1 month ago

One wonders, how was it fixed? I can't see any commit relating to this issue?

The only fix I could find in el-get logs is #2890, I am not sure it explains everything. Maybe there were also changes in Emacs between 29.1 and 29.3, or in the distribution patches and scripts.

renatocan commented 1 month ago

Since it was confirmed to work with emacs 29.3, I'll close this issue.

I have been using el-get for over 10 years and I am very grateful to the contributors. However, since I ran into this issue, I switched to straight (https://github.com/radian-software/straight.el) and it has proven to be a great alternative.

Thank you!

lispstudent commented 1 month ago

@saffroy Thank you for pointing to that MR. @renatocan Thanks. I hear elpaca is also worth a try, perhaps closer to el-get spirit. Personally, for now, I will stick to el-get. Let us see where it will lead us.