Subject: bug#57309: 29.0.50; Build error "trying to dump non fixed-up eln file"

From: Andrea Corallo <[email-masked]>
Date: Mon, 22 Aug 2022 08:43:38 +0000

Eli Zaretskii <[email-masked]> writes:

>> From: Gerd Möllmann <[email-masked]>
>> Cc: [email-masked],  [email-masked],  [email-masked]
>> Date: Sun, 21 Aug 2022 12:45:05 +0200
>> 
>> Eli Zaretskii <[email-masked]> writes:
>> 
>> > I've removed src/emacs and src/bootstrap-emacs, and said "make".  That
>> > succeeded, but most of the preloaded files were loaded as *.elc.  Then
>> > I touch'ed every .el file that is preloaded, and said "make" again.
>> > This ELC+ELN-compiled all of them, and then successfully loaded and
>> > dumped them.
>> >
>> > Not sure what that means, but maybe try the same recipe?
>> 
>> That it succeeds is kind of what I'm afraid of :-).
>> 
>> I think Lars mentioned that a simple second make run made things work
>> for him, and now I'm afraid if I leave the debugger or touch anything, I
>> won't be able to reproduce the error again.
>> 
>> BTW, I think I've seen the same bug with the last change to Makefile.in,
>> only with a different error message "...incoherent something...", where
>> Lars mentioned he had seen that sort of error ca. once per month or so.
>> 
>> Something is really fishy here.
>
> The *.eln files aren't regenerated unless the corresponding *.el files
> are newer than their *.elc files.  This is a basic snafu we are living
> with since the development of Emacs 28, and it still isn't resolved.
> This happens even when Emacs changes in a way that requires a new
> subdirectory under native-lisp/, which is a clear sign that the *.eln
> files need to be regenerated.
>
> So yes, something is definitely "fishy".  I suspect that the changes
> Andrea did recently required a bump in the ABI_VERSION value, which
> would then prevent Emacs from trying to load the old *.eln files.  But
> maybe I'm missing something.  I hope Andrea chimes in soon.

Sorry for being late to the party, I'm back.  I don't think (or at least
so far I don't see why) my change should have required a new
ABI_VERSION.

I'm trying to read all this long thread searching for a recipe to
reproduce and understand better what is going on.

Thanks

   Andrea