Subject: bug#55109: Emacs build fails: Symbol’s function definition is void: byte-compile-set-symbol-position

From: Vincent Lefevre <[email-masked]>
Date: Mon, 25 Apr 2022 15:52:43 +0200

On 2022-04-25 15:40:12 +0200, Lars Ingebrigtsen wrote:
> Eli Zaretskii <[email-masked]> writes:
> 
> > We don't really have any dependency tracking for Emacs Lisp files.  It
> > would be a great addition, if someone develops that, I think, because
> > such problems are quite frequent during active development.
> 
> It's a complicated problem, though -- basically if any file that defines
> a macro/variable changes, then all .elc files that depend on it should
> be recompiled.  Which means that if you make a trivial edit in files.el,
> then that would trigger a compilation of absolutely all .elc files,
> which would make development pretty much impossible.

How about putting these explanations about the .elc files in
"Makefile.in" (together with the other comments)?

> We would have to arrange the Lisp sources in a very different way to
> dependency tracking to be practical.
> 
> So instead people who pull Emacs have to say "make bootstrap" once in a
> while.  It'd be nice if it were possible to have the makefile output
> "Did you try 'make boostrap'?" if it fails, but that's apparently not
> something make allows.

It seems that "make boostrap" will do a rebuild with a default
configure, thus shouldn't be used if one needs configure options
(I find a configure variable impractical due to quoting and working
poorly with various shell advanced features). I suppose that
"make maintainer-clean" or "make extraclean" should be sufficient.

-- 
Vincent Lefèvre <[email-masked]> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)