> > Since nobody has said this is obviously wrong, and I haven’t yet seen > > the error again, I’ve pushed this to master. > > That was premature, IMO. I was waiting for Daniel to chime in. One > day is definitely not enough to give up on waiting for responses > around here. Apologies. I should have waited longer. > Anyway, is this really TRT? Both emacs$(EXEEXT) and > bootstrap-emacs$(EXEEXT) are (or should be) identical, so why do you > need to copy one over the other? It should be a no-op. The existing code copies the pdmp file. In Makefile.in, just above the code I added is the comment: ## The dumped Emacs is as functional and more efficient than ## bootstrap-emacs, so we replace the latter with the former. I can see the unexec code path replacing bootstrap-emacs, but the pdumper code doesn’t. Then below that is this: ifeq ($(DUMPING),pdumper) $(pdmp): emacs$(EXEEXT) LC_ALL=C $(RUN_TEMACS) -batch $(BUILD_DETAILS) -l loadup --temacs=pdump cp -f $@ $(bootstrap_pdmp) endif which looks very much to me like bootstrap-emacs.pdmp is being replaced with the new one, which was built using the new temacs. Here’s the output: Dumping under the name emacs.pdmp dumping fingerprint: bc058dbc261d383930761d6e2df83fee5bba2b36bab3d69333b2f5c09c6bfc64 Dump complete Byte counts: header=80 hot=10523232 discardable=117216 cold=4485912 Reloc counts: hot=587886 discardable=4552 Adding name emacs-27.0.50.71 Adding name emacs-27.0.50.71.pdmp cp -f emacs.pdmp bootstrap-emacs.pdmp There is no corresponding copy of (t)emacs over bootstrap-emacs, even though bootstrap-emacs.pdmp has now been built by temacs. > I guess I'm saying we should step back and understand better why you > have a mismatch of the fingerprint. Can you show the last part of the > build, starting from "CCLD temacs" and all the way till the end, > without this change? I'd like to understand better how the > fingerprints come out different (they are identical on my system). Here’s the output (the whole thing is in the attachment in the first email I sent): CCLD temacs ld: warning: option -prebind is obsolete and being ignored ld: warning: text-based stub file /System/Library/Frameworks//AppKit.framework/AppKit.tbd and library file /System/Library/Frameworks//AppKit.framework/AppKit are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks//IOKit.framework/IOKit.tbd and library file /System/Library/Frameworks//IOKit.framework/IOKit are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation.tbd and library file /System/Library/Frameworks//CoreFoundation.framework/CoreFoundation are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation.tbd and library file /System/Library/PrivateFrameworks/UIFoundation.framework/Versions/A/UIFoundation are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks//ApplicationServices.framework/Versions/A/ApplicationServices.tbd and library file /System/Library/Frameworks//ApplicationServices.framework/Versions/A/ApplicationServices are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks//Foundation.framework/Versions/C/Foundation.tbd and library file /System/Library/Frameworks//Foundation.framework/Versions/C/Foundation are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox.tbd and library file /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks//CoreGraphics.framework/Versions/A/CoreGraphics.tbd and library file /System/Library/Frameworks//CoreGraphics.framework/Versions/A/CoreGraphics are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks//CoreText.framework/Versions/A/CoreText.tbd and library file /System/Library/Frameworks//CoreText.framework/Versions/A/CoreText are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks//ImageIO.framework/Versions/A/ImageIO.tbd and library file /System/Library/Frameworks//ImageIO.framework/Versions/A/ImageIO are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ATS.framework/Versions/A/ATS are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks//CoreServices.framework/Versions/A/CoreServices.tbd and library file /System/Library/Frameworks//CoreServices.framework/Versions/A/CoreServices are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis.tbd and library file /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/SpeechSynthesis.framework/Versions/A/SpeechSynthesis are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork.tbd and library file /System/Library/Frameworks//CFNetwork.framework/Versions/A/CFNetwork are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/Metadata.framework/Versions/A/Metadata are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/LaunchServices are out of sync. Falling back to library file for linking. ld: warning: text-based stub file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList.tbd and library file /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/SharedFileList.framework/Versions/A/SharedFileList are out of sync. Falling back to library file for linking. ../build-aux/install-sh -c -d ../etc rm -f emacs && cp -f temacs emacs LC_ALL=C ./temacs -batch -l loadup --temacs=pdump Loading loadup.el (source)... dump mode: pdump Using load-path (/Users/alan/src/emacs/master/lisp) Loading emacs-lisp/byte-run... Loading emacs-lisp/backquote... Loading subr... Loading version... Loading widget... Loading custom... Loading emacs-lisp/map-ynp... Loading international/mule... Loading international/mule-conf... Loading env... Loading format... Loading bindings... Loading window... Loading files... Loading emacs-lisp/macroexp... Loading cus-face... Loading faces... Loading button... Loading loaddefs.el (source)... Loading emacs-lisp/nadvice... Loading emacs-lisp/cl-preloaded... Loading minibuffer... Loading obarray... Loading abbrev... Loading simple... Loading help... Loading jka-cmpr-hook... Loading epa-hook... Loading international/mule-cmds... Loading case-table... Loading international/charprop.el (source)... Loading international/characters... Loading international/charscript... Loading composite... Loading language/chinese... Loading language/cyrillic... Loading language/indian... Loading language/sinhala... Loading language/english... Loading language/ethiopic... Loading language/european... Loading language/czech... Loading language/slovak... Loading language/romanian... Loading language/greek... Loading language/hebrew... Loading international/cp51932... Loading international/eucjp-ms... Loading language/japanese... Loading language/korean... Loading language/lao... Loading language/tai-viet... Loading language/thai... Loading language/tibetan... Loading language/vietnamese... Loading language/misc-lang... Loading language/utf-8-lang... Loading language/georgian... Loading language/khmer... Loading language/burmese... Loading language/cham... Loading indent... Loading emacs-lisp/cl-generic... Loading frame... Loading startup... Loading term/tty-colors... Loading font-core... Loading facemenu... Loading emacs-lisp/syntax... Loading font-lock... Loading jit-lock... Loading mouse... Loading scroll-bar... Loading select... Loading emacs-lisp/timer... Loading isearch... Loading rfn-eshadow... Loading menu-bar... Loading emacs-lisp/lisp... Loading textmodes/page... Loading register... Loading textmodes/paragraphs... Loading progmodes/prog-mode... Loading emacs-lisp/lisp-mode... Loading progmodes/elisp-mode... Loading textmodes/text-mode... Loading textmodes/fill... Loading newcomment... Loading replace... Loading emacs-lisp/tabulated-list... Loading buff-menu... Loading fringe... Loading emacs-lisp/regexp-opt... Loading image... Loading international/fontset... Loading dnd... Loading tool-bar... Loading term/common-win... Loading international/mule-util... Loading international/ucs-normalize... Loading term/ns-win... Loading mwheel... Loading emacs-lisp/float-sup... Loading vc/vc-hooks... Loading vc/ediff-hook... Loading uniquify... Loading electric... Loading emacs-lisp/eldoc... Loading cus-start... Loading tooltip... Loading leim/leim-list.el (source)... Waiting for git... Waiting for git... Finding pointers to doc strings... Finding pointers to doc strings...done Pure-hashed: 15224 strings, 4202 vectors, 39604 conses, 4035 bytecodes, 176 others Dumping under the name emacs.pdmp dumping fingerprint: bc058dbc261d383930761d6e2df83fee5bba2b36bab3d69333b2f5c09c6bfc64 Dump complete Byte counts: header=80 hot=10523232 discardable=117216 cold=4485912 Reloc counts: hot=587886 discardable=4552 Adding name emacs-27.0.50.71 Adding name emacs-27.0.50.71.pdmp cp -f emacs.pdmp bootstrap-emacs.pdmp /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../nextstep all /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../src emacs ../build-aux/install-sh -c -d /Users/alan/src/emacs/master/nextstep/Emacs.app/Contents/MacOS cp -f ../src/emacs.pdmp /Users/alan/src/emacs/master/nextstep/Emacs.app/Contents/MacOS/emacs.pdmp make[3]: Circular bootstrap-emacs <- temacs dependency dropped. /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../admin/unidata all EMACS="../../src/bootstrap-emacs" /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../admin/charsets all /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../admin/unidata charscript.el make[4]: Nothing to be done for `charscript.el'. /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../admin/unidata all EMACS="../../src/bootstrap-emacs" make[4]: Nothing to be done for `all'. /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../admin/charsets cp51932.el make[4]: Nothing to be done for `cp51932.el'. /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../admin/charsets eucjp-ms.el make[4]: Nothing to be done for `all'. make[4]: Nothing to be done for `eucjp-ms.el'. make[4]: Nothing to be done for `all'. ../build-aux/install-sh -c -d /Users/alan/src/emacs/master/nextstep/Emacs.app/Contents/MacOS cp -f ../src/emacs /Users/alan/src/emacs/master/nextstep/Emacs.app/Contents/MacOS/Emacs /Applications/Xcode.app/Contents/Developer/usr/bin/make -C lisp all /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../leim all EMACS="../src/emacs" /Applications/Xcode.app/Contents/Developer/usr/bin/make -C ../admin/grammars all EMACS="../../src/emacs" make[2]: Nothing to be done for `all'. make[2]: Nothing to be done for `all'. make[2]: Nothing to be done for `compile-targets'. The error from the following build where nothing had changed: GEN loaddefs.el desired fingerprint: 9085c29485c3842b30a84ab3d55121be1b04f8aea81a5273ff244956164833a5 found fingerprint: bc058dbc261d383930761d6e2df83fee5bba2b36bab3d69333b2f5c09c6bfc64 emacs: could not load dump file "../src/bootstrap-emacs.pdmp": not built for this Emacs executable The ‘found fingerprint’ matches the fingerprint from the dump made in the previous build. > Also, what does "ls -ltri src/emacs*" show on your system? Output attached. This doesn’t happen on every build, and I can’t see any connection between the ones where it does happen. Things that do appear to cause it to happen consistently are when I change branch using git, and possibly when I make any change to src/Makefile.in. Perhaps successful builds are simply ones where it doesn’t need to use bootstrap-emacs? I don’t edit .el files very often, if that makes a difference? -- Alan Third