Subject: bug#44128: #44128: [feature/native-comp] When invoking a symlink to the 'emacs' binary Emacs fails to start

From: Eli Zaretskii <[email-masked]>
Date: Fri, 16 Apr 2021 09:41:13 +0300

> Cc: [email-masked]
> From: Phil Sainty <[email-masked]>
> Date: Fri, 16 Apr 2021 17:41:52 +1200
> 
> On 16/04/21 3:08 am, Eli Zaretskii wrote (on bug 47800):
> > Does the untested patch below fix the problem?
> 
> That didn't change the outcomes for me.

But it moves one step closer, AFAICT: the real file name of the Emacs
executable is now correctly identified.

> I've just tried some very basic debugging with the attached patch
> (yours plus some debug output) which gives me the following outputs:
> 
> 
> $ cd /tmp
> 
> $ ls emacs
> ls: cannot access 'emacs': No such file or directory
> 
> 
> $ emacs --version
> load_pdump_find_executable: candidate: /home/phil/bin/emacs
> => file: /home/phil/bin/emacs
> => (link) realpath: /home/phil/emacs/native-comp/usr/local/bin/emacs-28.0.50
> load_pdump: /home/phil/emacs/native-comp/usr/local/bin/emacs-28.0.50
> real_filename( /home/phil/emacs/native-comp/usr/local/bin/emacs-28.0.50 )
> => realpath: /home/phil/emacs/native-comp/usr/local/bin/emacs-28.0.50
> set_invocation_vars: emacs
> real_filename( emacs )
> => realpath: (null)
> emacs: could not resolve realpath of "emacs": No such file or directory
> 
> 
> $ mkdir emacs
> 
> $ emacs --version
> load_pdump_find_executable: candidate: /home/phil/bin/emacs
> => file: /home/phil/bin/emacs
> => (link) realpath: /home/phil/emacs/native-comp/usr/local/bin/emacs-28.0.50
> load_pdump: /home/phil/emacs/native-comp/usr/local/bin/emacs-28.0.50
> real_filename( /home/phil/emacs/native-comp/usr/local/bin/emacs-28.0.50 )
> => realpath: /home/phil/emacs/native-comp/usr/local/bin/emacs-28.0.50
> set_invocation_vars: emacs
> real_filename( emacs )
> => realpath: /tmp/emacs
> emacs: /tmp/../native-lisp/28.0.50-abd7aa58/preloaded/window-0d1b8b93-581f9fcd.eln: cannot open shared object file: No such file or directory
> 
> 
> $ /home/phil/emacs/native-comp/usr/local/bin/emacs --version
> load_pdump: /home/phil/emacs/native-comp/usr/local/bin/emacs
> real_filename( /home/phil/emacs/native-comp/usr/local/bin/emacs )
> => realpath: /home/phil/emacs/native-comp/usr/local/bin/emacs-28.0.50
> set_invocation_vars: /home/phil/emacs/native-comp/usr/local/bin/emacs
> real_filename( /home/phil/emacs/native-comp/usr/local/bin/emacs )
> => realpath: /home/phil/emacs/native-comp/usr/local/bin/emacs-28.0.50
> GNU Emacs 28.0.50

Thanks, but this doesn't provide enough information to understand how
this Emacs was configured and installed, and AFAICS you didn't supply
that information up-thread.  So:

  . how was Emacs configured? with what value of --prefix (or other
    related directory variables, like libdir etc)?
  . was Emacs installed, and if so, with what command?
  . what is the full absolute file name of the native-lisp/ directory
    that this Emacs binary was supposed to find and load?
  . what is the full absolute file name of the pdumper file for this
    Emacs binary?

P.S. To avoid confusion, please use the Subject line I used, not the
one which mentions bug#48700.