GNU bug report logs - #49864
28.0.50; Fails to start after "make install"

Previous Next

Package: emacs;

Reported by: Wilhelm Kirschbaum <wkirschbaum <at> gmail.com>

Date: Wed, 4 Aug 2021 06:07:02 UTC

Severity: normal

Found in version 28.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #26 received at 49864 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Wilhelm Kirschbaum <wkirschbaum <at> gmail.com>
Cc: 49864 <at> debbugs.gnu.org
Subject: Re: bug#49864: 28.0.50; Fails to start after "make install"
Date: Thu, 05 Aug 2021 10:58:56 +0300
> From: Wilhelm Kirschbaum <wkirschbaum <at> gmail.com>
> Date: Thu, 5 Aug 2021 09:14:10 +0200
> Cc: 49864 <at> debbugs.gnu.org
> 
> Yes, of course, but I will only be able to do it a bit later today. I am not too familiar with GDB though. 

Thanks.  The instructions are below:

  $ cd /home/wilhelm/src/tools/emacs/src
  $ gdb /usr/local/bin/emacs-28.0.50
  ...
  (gdb) source ./.gdbinit
  (gdb) break pdumper.c:5315
  (gdb) r -Q

When GDB announces that the breakpoint at pdumper.c:5315 breaks, do
this:

  (gdb) p cu_file1
  (gdb) xstring
  (gdb) p cu_file2
  (gdb) xstring

and show the results of these commands.  Then step through the code,
one line at a time, with the "n" ("next") command.  Eventually, you
should get to line 5321:

  5321                if (file_access_p (fndata, F_OK))

Then show the value of fndata, which should be a file name:

  (gdb) p fndata

Type "next" again.  If the file_access_p call fails (returns 'false'),
show the value of errno immediately after stepping past the line that
calls file_access_p:

  (gdb) p errno

In that case (if file_access_p fails), the "next" command will land
you in this block:

	    else
	      {
		eln_fname = make_uninit_string (execdir_len + fn2_len);
		fndata = SSDATA (eln_fname);
		memcpy (fndata, emacs_execdir, execdir_len);
		memcpy (fndata + execdir_len, SSDATA (cu_file2), fn2_len);
		installation_state = LOCAL_BUILD;
	      }

Please type "n" ("next") repeatedly until you get to the last line,
which starts with "installation_state =", and show the value of
fndata:

  (gdb) p fndata

Finally, keep stepping with "n" until you come to this line:

	comp_u->handle = dynlib_open (SSDATA (eln_fname));

and type the following commands:

  (gdb) p eln_fname
  (gdb) xstring

and show their results.

You can then terminate the GDB session:

  (gdb) q

(Answer "y" if it asks whether to quit.)

I hope the data you collect and report will explain what happens, or
at least give us a direction in which to look for the explanation.

Thanks again for your help in this matter.




This bug report was last modified 3 years and 288 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.