Subject: Re: bug#77520: 30.1.50; Installed emacs is loading loadup.el from source

From: Lynn Winebarger <[email-masked]>
Date: Fri, 4 Apr 2025 22:14:28 -0400

On Fri, Apr 4, 2025 at 8:54 PM Lynn Winebarger <[email-masked]> wrote:
>
> On Fri, Apr 4, 2025 at 3:24 PM Lynn Winebarger <[email-masked]> wrote:
> >
> > On Fri, Apr 4, 2025 at 3:34 AM Eli Zaretskii <[email-masked]> wrote:
> > >
> > > > From: Lynn Winebarger <[email-masked]>
> > > > Date: Thu, 3 Apr 2025 21:28:05 -0400
> > > >
> > > > When I run './src/emacs-30.1.50 -Q' from the build directory, I get the
> > > > expected behavior.  I install the built emacs using "make install" into
> > > > /usr/local with some version-specific directories configured (see the
> > > > options) so I can have multiple major versions of emacs installed.  When
> > > > I run '/usr/local/bin/emacs-30.1.50 -Q', the following is displayed in
> > > > the terminal window:
> > > > ------
> > > > Loading loadup.el (source)...
> > > > Dump mode: nil
> > >
> > > This means Emacs cannot find its pdumper file.  You need to figure out
> > > why.  Crystal ball says you used some non-standard procedure for
> > > installing the built Emacs, so the pdumper file is either not
> > > installed or is installed under the name different from what EMacs
> > > looks for.
> >
> > Other than specifying version-specific paths in the configure (details
> > in bug report), I just used "make -j $(nproc)" and "sudo make
> > install".
> > I've used this approach for a while to maintain separate lisp
> > libraries and documentation while installing multiple versions of
> > emacs. (newlines added to shell output for visual clarity).
> >
> > ----------------------
> > owinebar@dev1:~/projects/emacs/emacs-30> ls /usr/local/bin/emacs*
> > /usr/local/bin/emacs        /usr/local/bin/emacs-28.3
> > /usr/local/bin/emacs-29.3.50  /usr/local/bin/emacs-30.1.50
> > /usr/local/bin/emacsclient  /usr/local/bin/emacs-29.0.91
> > /usr/local/bin/emacs-30.0.50
> >
> > owinebar@dev1:~/projects/emacs/emacs-30> ls /usr/local/lib/emacs/
> > 28.3/    29.0.91/ 29.3.50/ 30.0.50/ 30.1.50/
> >
> > owinebar@dev1:~/projects/emacs/emacs-30> ls /usr/local/lib/emacs/30.1.50/
> > x86_64-pc-linux-gnu
> >
> > owinebar@dev1:~/projects/emacs/emacs-30> ls
> > /usr/local/lib/emacs/30.1.50/x86_64-pc-linux-gnu/
> > emacs-915e4e5cb8d283f00a79086d479910f292af5fe7b2430c3eaae2631e73dab0d7.pdmp
> >  hexl      rcs2log
> > emacs-d016b46c0511d7b5a01304258481021fb366397c719be76601044696239ac9cf.pdmp
> >  movemail  update-game-score
> >
> > owinebar@dev1:~/projects/emacs/emacs-30> /usr/local/bin/emacs-30.1.50
> > --fingerprint
> > Not initialized
> >
> > owinebar@dev1:~/projects/emacs/emacs-30> ./BUILD/src/emacs-30.1.50.1
> > --fingerprint
> > d016b46c0511d7b5a01304258481021fb366397c719be76601044696239ac9cf
> > ----------------------
> > For comparison, I tried a previously installed copy of 30.0.50:
> > ----------------------
> > owinebar@dev1:~/projects/emacs/emacs-30> ls
> > /usr/local/lib/emacs/30.0.50/x86_64-pc-linux-gnu/
> > emacs-4c6b60663e1157be3085c73f1e2ac7187bc745455a7531f00d78a41d2fd1dbbd.pdmp
> >  emacs-bc4b7834c0e05bc2b531ab001a62a6546f5bde655069f59b363e75b428b1dde6.pdmp
> >  update-game-score
> > emacs-104460d468e0a372d127c340258407e60ce36cf166d4e182cfe9f46f70c6f5f9.pdmp
> >  hexl
> > emacs-a93e06357fd60c362c6a3db9e95355a96eb59830d567f7d01bb22c4ffb81bcad.pdmp
> >  rcs2log
> >
> > owinebar@dev1:~/projects/emacs/emacs-30> /usr/local/bin/emacs-30.0.50
> > --fingerprint
> > 104460d468e0a372d127c340258407e60ce36cf166d4e182cfe9f46f70c6f5f9
> > ----------------------
>
> I'm just going to see what's happening with gdb.  The last time I
> fiddled with emacs source was 28.x, and the dump file fingerprint
> logic wasn't part of it.

Ok, it is setting PATH_EXEC to
"/usr/local/lib/emacs/31.0.50/x86_64-pc-linux-gnu", but the install is
to "/usr/local/lib/emacs/30.1.50/x86_64-pc-linux-gnu".
I'm building from the emacs-30 branch, so the version shouldn't be
31.0.50, I think.

Lynn