Subject: bug#49864: 28.0.50; Fails to start after "make install"

From: Eli Zaretskii <[email-masked]>
Date: Thu, 05 Aug 2021 16:33:53 +0300

> From: Wilhelm Kirschbaum <[email-masked]>
> Date: Thu, 5 Aug 2021 14:44:00 +0200
> Cc: [email-masked]
> 
> 5321    if (file_access_p (fndata, F_OK))
> (gdb) p fndata
> $5 = <optimized out>
> (gdb) next

Here, instead of "next", please say "step" to step into
file_access_p.  Then you should see something like this:

  (gdb) step
  file_access_p (file=0x67e768c "/usr/local/libexec/emacs/28.0.50/x86_64-pc-linux-gnu/../../../../bin/../lib/emacs/28.0.50/native-lisp/28.0.50-864bf4e5/preloaded/window-0d1b8b93-dcb2375f.eln", amode=0) at fileio.c:162
  162       if (faccessat (AT_FDCWD, file, amode, AT_EACCESS) == 0)

That shows the file name it is trying to access in the list of
arguments of the function.  As far as I understand from the other
information you posted, that file does exist on your system, is that
right?  Because you said the file below does exist:

  /usr/local/lib/emacs/28.0.50/native-lisp/28.0.50-864bf4e5/preloaded/window-0d1b8b93-dcb2375f.eln

But for some reason, the faccessat call fails.  We need to understand
why.

> (gdb) p errno
> 'errno' has unknown type; cast it to its declared type

To work around the problem with errno's type, try this:

  (gdb) p (int)errno

The value of errno will hopefully tell us what's wrong.  I'm guessing
it's some problem with accessing those files, perhaps related to the
value of umask you reported.

Thanks.