From: Lynn Winebarger <owinebar@gmail.com>
To: Stefan Monnier <monnier@iro.umontreal.ca>
Cc: Eli Zaretskii <eliz@gnu.org>,
Michael Albinus <michael.albinus@gmx.de>,
emacs-devel <emacs-devel@gnu.org>
Subject: Re: Loading tramp for dump goes into infinite regress
Date: Mon, 25 Jul 2022 20:28:47 -0400 [thread overview]
Message-ID: <CAM=F=bCXKPLzqEj6E0mRN1chyv1T5LTJ6+vn_e+Bfq-aKAym9A@mail.gmail.com> (raw)
In-Reply-To: <jwvwnc1tbx3.fsf-monnier+emacs@gnu.org>
[-- Attachment #1: Type: text/plain, Size: 2390 bytes --]
On Mon, Jul 25, 2022, 12:54 PM Stefan Monnier <monnier@iro.umontreal.ca>
wrote:
> > Otherwise, I was able to resolve the various issues (including some
> > extensive surgery on vc/ediff-X files to stamp out the circular loading).
> > I am going to have to do a real bootstrap to avoid the "incoherent eln"
> > error, though, and somehow force native compilation for all the libraries
> > loaded in the dump (that are not on the compiler's "forbidden" list,
> > anyway).
>
> BTW, I don't really understand why you're bumping into circularity issue
> with things like ediff. I do know it has circularity issues, but they
> only affect compilation, AFAIK.
>
The C code for the require form hits the panic button if it has to load
something when dump-mode is non-nil. Something similar happens when an
autoload is invoked during dump-mode, but I haven't looked for the exact
piece of code that does it so I don't know if it's C or lisp.
So, I'm wondering: do you include "the world" in both dumps (the
> first, done to build `src/bootstrap-emacs.pdmp`, and the second to
> build the final `src/emacs.pdmp`) or do you include it only
> in the second dump?
>
I initially was trying to just run the second one, but I got the
"incoherent ELN" error. So I set up a new build directory, did a fresh
configure followed by "make bootstrap". I had to further refine the
site-load.el to explicitly load everything required at compile time, wrap
every instance of any expression requiring a generated file with "unless
dump-mode" (since in dump-mode the site-load or loadup file must load all
the required files to work anyway). That fails when site-load starts
loading bits of cc-mode for the second dump since none of the files in
site-load are even byte-compiled with the bootstrap emacs. So I generated
a list of .elc targets from site-load (same method used for lisp.mk), then
put together a hacked Makefile in BUILD/lisp that ran the bootstrap-emacs
executable with the suffix rule from the standard Makefile. That also
failed with the incoherent ELN message. Then I noticed the rule that uses
the "byte-compile-refresh-preloaded" function, so I'm trying that in the
Makefile. However, I'm still waiting for the preloaded files to finish
native compiling.
I'd be happy to follow the 3 step path to dumping, but I thought the whole
"no redumping support" prevented that approach.
Lynn
[-- Attachment #2: Type: text/html, Size: 3285 bytes --]
next prev parent reply other threads:[~2022-07-26 0:28 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-07-24 0:47 Loading tramp for dump goes into infinite regress Lynn Winebarger
2022-07-24 7:55 ` Michael Albinus
2022-07-24 12:05 ` Lynn Winebarger
2022-07-24 12:23 ` Eli Zaretskii
2022-07-24 13:30 ` Lynn Winebarger
2022-07-24 13:34 ` Eli Zaretskii
2022-07-24 14:05 ` Lynn Winebarger
2022-07-24 14:09 ` Eli Zaretskii
2022-07-24 14:28 ` Lynn Winebarger
2022-07-24 16:00 ` Lynn Winebarger
2022-07-24 16:20 ` Lynn Winebarger
2022-07-24 16:31 ` Eli Zaretskii
2022-07-25 12:49 ` Lynn Winebarger
2022-07-25 13:56 ` Eli Zaretskii
2022-07-26 11:24 ` Lynn Winebarger
2022-07-27 0:58 ` Lynn Winebarger
2022-07-27 2:48 ` Lynn Winebarger
2022-07-27 8:31 ` Lynn Winebarger
2022-08-09 12:29 ` Lynn Winebarger
2022-08-09 12:36 ` Po Lu
2022-08-09 13:22 ` Lynn Winebarger
2022-08-09 13:42 ` Po Lu
2022-08-09 15:55 ` Lynn Winebarger
2022-07-25 16:54 ` Stefan Monnier
2022-07-25 17:05 ` Stefan Monnier
2022-07-26 0:28 ` Lynn Winebarger [this message]
2022-07-26 1:10 ` Lynn Winebarger
2022-08-06 6:07 ` Lynn Winebarger
2022-08-06 12:57 ` Lynn Winebarger
2022-08-06 15:39 ` Lynn Winebarger
2022-08-06 20:23 ` Working fully native-compiled "mega dump" (was Re: Loading tramp for dump goes into infinite regress) Lynn Winebarger
2022-08-06 20:52 ` Lynn Winebarger
2022-07-25 20:11 ` Loading tramp for dump goes into infinite regress Andrea Corallo
2022-07-31 20:22 ` Lynn Winebarger
2022-08-03 9:58 ` Lynn Winebarger
2022-08-03 12:22 ` Eli Zaretskii
2022-08-03 14:53 ` Native-compilation build process (was Re: Loading tramp for dump goes into infinite regress) Lynn Winebarger
2022-08-03 16:15 ` Eli Zaretskii
2022-08-04 3:33 ` Lynn Winebarger
2022-08-05 1:57 ` Lynn Winebarger
2022-07-24 16:23 ` Loading tramp for dump goes into infinite regress Eli Zaretskii
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAM=F=bCXKPLzqEj6E0mRN1chyv1T5LTJ6+vn_e+Bfq-aKAym9A@mail.gmail.com' \
--to=owinebar@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=michael.albinus@gmx.de \
--cc=monnier@iro.umontreal.ca \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).