Subject: bug#61174: error compiling emacs

From: Ugo Tomei <[email-masked]>
Date: Mon, 30 Jan 2023 11:59:16 +0100

Hi all,

i have always compile succesfully emacs with this command:

git clone https://github.com/emacs-mirror/emacs.git
cd /app/emacs
git reset --hard
git pull
sudo make uninstall
sudo make clean
git checkout default
git submodule update --init --recursive
./autogen.sh
./configure
make bootstrap -j 32
sudo make install

but now i have this error:

[code]

Loading /app/emacs/lisp/isearch.el (source)...
Loading /app/emacs/lisp/rfn-eshadow.el (source)...
Loading /app/emacs/lisp/menu-bar.el (source)...
Loading /app/emacs/lisp/tab-bar.el (source)...
Loading /app/emacs/lisp/emacs-lisp/lisp.el (source)...
Loading /app/emacs/lisp/textmodes/page.el (source)...
Loading /app/emacs/lisp/register.el (source)...
Loading /app/emacs/lisp/textmodes/paragraphs.el (source)...
Loading /app/emacs/lisp/progmodes/prog-mode.el (source)...

Error: error ("Eager macro-expansion failure: (void-function 
treesit-parser-list)")
   mapbacktrace((closure ((prin1 . cl-prin1) t) (evald func args _flags) 
(let ((args args)) (if evald (progn (princ "  ") (funcall prin1 func) 
(princ "(")) (progn (princ "  (") (setq args (cons func args)))) (if 
args (while (progn (funcall prin1 (car args)) (setq args (cdr args))) 
(princ " "))) (princ ")\n"))))
   (let ((print-escape-newlines t) (print-escape-control-characters t) 
(print-escape-nonascii t) (prin1 (if (and (fboundp 'cl-prin1) (require 
'cl-print nil t)) #'cl-prin1 #'prin1))) (mapbacktrace #'(lambda (evald 
func args _flags) (let ((args args)) (if evald (progn (princ "  ") 
(funcall prin1 func) (princ "(")) (progn (princ "  (") (setq args (cons 
func args)))) (if args (while (progn (funcall prin1 (car args)) (setq 
args (cdr args))) (princ " "))) (princ ")\n")))))
   debug-early-backtrace()
   debug-early(error (error "Eager macro-expansion failure: 
(void-function treesit-parser-list)"))
   signal(error ("Eager macro-expansion failure: (void-function 
treesit-parser-list)"))
   error("Eager macro-expansion failure: %S" (void-function 
treesit-parser-list))
   (condition-case err (let ((macroexp--pending-eager-loads (cons 
load-file-name macroexp--pending-eager-loads))) (if full-p 
(macroexpand--all-toplevel form) (macroexpand form))) (error (error 
"Eager macro-expansion failure: %S" err) form))
   (cond ((eq 'skip (car macroexp--pending-eager-loads)) form) ((and 
load-file-name (member load-file-name macroexp--pending-eager-loads)) 
(let* ((bt (delq nil (mapcar #'macroexp--trim-backtrace-frame 
(macroexp--backtrace)))) (elem (list 'load (file-name-nondirectory 
load-file-name))) (tail (member elem (cdr (member elem bt))))) (if tail 
(setcdr tail (list '…))) (if (eq (car-safe (car bt)) 'macroexpand-all) 
(setq bt (cdr bt))) (if macroexp--debug-eager (debug 
'eager-macroexp-cycle) (error "Eager macro-expansion skipped due to 
cycle:\n  %s" (mapconcat #'prin1-to-string (nreverse bt) " => "))) (setq 
macroexp--pending-eager-loads (cons 'skip 
macroexp--pending-eager-loads)) form)) (t (condition-case err (let 
((macroexp--pending-eager-loads (cons load-file-name 
macroexp--pending-eager-loads))) (if full-p (macroexpand--all-toplevel 
form) (macroexpand form))) (error (error "Eager macro-expansion failure: 
%S" err) form))))
   (let ((symbols-with-pos-enabled t) (print-symbols-bare t)) (cond ((eq 
'skip (car macroexp--pending-eager-loads)) form) ((and load-file-name 
(member load-file-name macroexp--pending-eager-loads)) (let* ((bt (delq 
nil (mapcar #'macroexp--trim-backtrace-frame (macroexp--backtrace)))) 
(elem (list 'load (file-name-nondirectory load-file-name))) (tail 
(member elem (cdr (member elem bt))))) (if tail (setcdr tail (list '…))) 
(if (eq (car-safe (car bt)) 'macroexpand-all) (setq bt (cdr bt))) (if 
macroexp--debug-eager (debug 'eager-macroexp-cycle) (error "Eager 
macro-expansion skipped due to cycle:\n  %s" (mapconcat 
#'prin1-to-string (nreverse bt) " => "))) (setq 
macroexp--pending-eager-loads (cons 'skip 
macroexp--pending-eager-loads)) form)) (t (condition-case err (let 
((macroexp--pending-eager-loads (cons load-file-name 
macroexp--pending-eager-loads))) (if full-p (macroexpand--all-toplevel 
form) (macroexpand form))) (error (error "Eager macro-expansion failure: 
%S" err) form)))))
   internal-macroexpand-for-load((eval-when-compile (require 'cl-lib) 
(require 'subr-x) (require 'treesit)) nil)
   eval-buffer(#<buffer  *load*> nil 
"/app/emacs/lisp/progmodes/prog-mode.el" nil t)
   (if eval-function (funcall eval-function buffer (if dump-mode file 
fullname)) (eval-buffer buffer nil (if dump-mode file fullname) nil t))
   (let ((read-symbol-shorthands shorthands)) (if eval-function (funcall 
eval-function buffer (if dump-mode file fullname)) (eval-buffer buffer 
nil (if dump-mode file fullname) nil t)))
   (let ((load-true-file-name fullname) (load-file-name fullname) 
(set-auto-coding-for-load t) (inhibit-file-name-operation nil) 
shorthands) (with-current-buffer buffer (set-buffer-multibyte t) (let 
(deactivate-mark) (insert-file-contents fullname)) (setq shorthands (and 
hack-read-symbol-shorthands-function (funcall 
hack-read-symbol-shorthands-function))) (if (and 
enable-multibyte-characters (or (eq (coding-system-type 
last-coding-system-used) 'raw-text))) (set-buffer-multibyte nil)) 
(set-buffer-modified-p nil)) (let ((read-symbol-shorthands shorthands)) 
(if eval-function (funcall eval-function buffer (if dump-mode file 
fullname)) (eval-buffer buffer nil (if dump-mode file fullname) nil t))))
   (unwind-protect (let ((load-true-file-name fullname) (load-file-name 
fullname) (set-auto-coding-for-load t) (inhibit-file-name-operation nil) 
shorthands) (with-current-buffer buffer (set-buffer-multibyte t) (let 
(deactivate-mark) (insert-file-contents fullname)) (setq shorthands (and 
hack-read-symbol-shorthands-function (funcall 
hack-read-symbol-shorthands-function))) (if (and 
enable-multibyte-characters (or (eq (coding-system-type 
last-coding-system-used) 'raw-text))) (set-buffer-multibyte nil)) 
(set-buffer-modified-p nil)) (let ((read-symbol-shorthands shorthands)) 
(if eval-function (funcall eval-function buffer (if dump-mode file 
fullname)) (eval-buffer buffer nil (if dump-mode file fullname) nil 
t)))) (let (kill-buffer-hook kill-buffer-query-functions) (kill-buffer 
buffer)))
   (let ((buffer (generate-new-buffer " *load*")) (load-in-progress t) 
(source (string-suffix-p ".el" fullname))) (unless nomessage (if source 
(message "Loading %s (source)..." file) (message "Loading %s..." file))) 
(when purify-flag (push (purecopy file) preloaded-file-list)) 
(unwind-protect (let ((load-true-file-name fullname) (load-file-name 
fullname) (set-auto-coding-for-load t) (inhibit-file-name-operation nil) 
shorthands) (with-current-buffer buffer (set-buffer-multibyte t) (let 
(deactivate-mark) (insert-file-contents fullname)) (setq shorthands (and 
hack-read-symbol-shorthands-function (funcall 
hack-read-symbol-shorthands-function))) (if (and 
enable-multibyte-characters (or (eq (coding-system-type 
last-coding-system-used) 'raw-text))) (set-buffer-multibyte nil)) 
(set-buffer-modified-p nil)) (let ((read-symbol-shorthands shorthands)) 
(if eval-function (funcall eval-function buffer (if dump-mode file 
fullname)) (eval-buffer buffer nil (if dump-mode file fullname) nil 
t)))) (let (kill-buffer-hook kill-buffer-query-functions) (kill-buffer 
buffer))) (do-after-load-evaluation fullname) (unless (or nomessage 
noninteractive) (if source (message "Loading %s (source)...done" file) 
(message "Loading %s...done" file))) t)
   (if (null (file-readable-p fullname)) (and (null noerror) (signal 
'file-error (list "Cannot open load file" file))) (let ((buffer 
(generate-new-buffer " *load*")) (load-in-progress t) (source 
(string-suffix-p ".el" fullname))) (unless nomessage (if source (message 
"Loading %s (source)..." file) (message "Loading %s..." file))) (when 
purify-flag (push (purecopy file) preloaded-file-list)) (unwind-protect 
(let ((load-true-file-name fullname) (load-file-name fullname) 
(set-auto-coding-for-load t) (inhibit-file-name-operation nil) 
shorthands) (with-current-buffer buffer (set-buffer-multibyte t) (let 
(deactivate-mark) (insert-file-contents fullname)) (setq shorthands (and 
hack-read-symbol-shorthands-function (funcall 
hack-read-symbol-shorthands-function))) (if (and 
enable-multibyte-characters (or (eq (coding-system-type 
last-coding-system-used) 'raw-text))) (set-buffer-multibyte nil)) 
(set-buffer-modified-p nil)) (let ((read-symbol-shorthands shorthands)) 
(if eval-function (funcall eval-function buffer (if dump-mode file 
fullname)) (eval-buffer buffer nil (if dump-mode file fullname) nil 
t)))) (let (kill-buffer-hook kill-buffer-query-functions) (kill-buffer 
buffer))) (do-after-load-evaluation fullname) (unless (or nomessage 
noninteractive) (if source (message "Loading %s (source)...done" file) 
(message "Loading %s...done" file))) t))
load-with-code-conversion("/app/emacs/lisp/progmodes/prog-mode.el" 
"/app/emacs/lisp/progmodes/prog-mode.el" nil nil)
   load("progmodes/prog-mode")
   load("loadup.el")
Eager macro-expansion failure: (void-function treesit-parser-list)
make[1]: *** [Makefile:916: bootstrap-emacs.pdmp] Errore 255
make[1]: uscita dalla directory «/app/emacs/src»
make: *** [Makefile:544: src] Errore 2

[/code]

how can i solve it?

best regards