GNU bug report logs - #47558
28.0.50; dlopen 'image not found' gccemacs native-lisp macos

Previous Next

Package: emacs;

Reported by: Bryan O'Brien <bryan.m.obrien <at> gmail.com>

Date: Fri, 2 Apr 2021 03:08:01 UTC

Severity: normal

Found in version 28.0.50

Done: Andrea Corallo <akrl <at> sdf.org>

Bug is archived. No further changes may be made.

Full log


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

From: Andrea Corallo <akrl <at> sdf.org>
To: Alan Third <alan <at> idiocy.org>
Cc: bryan.m.obrien <at> gmail.com, Eli Zaretskii <eliz <at> gnu.org>,
 47558 <at> debbugs.gnu.org
Subject: Re: bug#47558: 28.0.50; dlopen 'image not found' gccemacs
 native-lisp macos
Date: Tue, 06 Apr 2021 19:26:16 +0000
[Message part 1 (text/plain, inline)]
Alan Third <alan <at> idiocy.org> writes:

> On Tue, Apr 06, 2021 at 02:51:46PM +0000, Andrea Corallo wrote:
>> Alan Third <alan <at> idiocy.org> writes:
>> 
>> > On Tue, Apr 06, 2021 at 07:56:46AM +0000, Andrea Corallo wrote:
>> >> Alan Third <alan <at> idiocy.org> writes:
>> >> > emacs:
>> >> > dlopen(/Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/../native-lisp/28.0.50-24e3df15/window-0d1b8b93-513ac8ca.eln,
>> >> > 1): image not found
>> >> 
>> >> Hi Alan,
>> >> 
>> >> Okay the value of ELN_DESTDIR is used during dump to inform Emacs where
>> >> the eln will be located (src/Makefile.in:570) so redumping is necessary.
>> >> Have you tried redumping or rebuilding from scratch?
>> >
>> > Yes, I've tried 'make bootstrap' to no avail.
>> 
>> could you share the output of like "make bootstrap V=1"? (go parallel if
>> you like)
>
> Attached.

Okay the log looks good AFAICT.

We are suggesting the eln to go in:
/Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/MacOS/bin/

and the eln in:
/Users/alan/src/emacs/native/nextstep/Emacs.app/Contents/Resources/

For each compilation unit being dumped we modify the filename in a pair
in the form of (rel-filename-from-install-bin
. rel-filename-from-local-bin) in loadup.el:467 so we'll be able to
locate those compilation units when resurecting.

So either we compute wrongly the 'rel-filename-from-install-bin' there
or something goes wrong in pdumper.c:5277 (where we use it to to
identify if Emacs was installed or not).

On this subject I just realized that there we used concat in place of
`expand-file-name' and fixed that with 6568198213.

If this does not help I suggest we apply the attached and re-bootstrap
to see if the 'rel-filename-from-install-bin' we are constructing is
correct.

Thanks!

  Andrea

[loadup.patch (text/x-diff, inline)]
diff --git a/lisp/loadup.el b/lisp/loadup.el
index 650288f9f8..3331445ff8 100644
--- a/lisp/loadup.el
+++ b/lisp/loadup.el
@@ -475,15 +475,17 @@
                                             eln-dest-dir)))
                    (native-comp-unit-set-file
                     cu
-	            (cons
-                     ;; Relative filename from the installed binary.
-                     (file-relative-name (expand-file-name
-                                          (file-name-nondirectory
-                                           file)
-                                          eln-dest-dir-eff)
-                                         bin-dest-dir)
-                     ;; Relative filename from the built uninstalled binary.
-                     (file-relative-name file invocation-directory)))))
+	            (let ((tmp (cons
+                                ;; Relative filename from the installed binary.
+                                (file-relative-name (expand-file-name
+                                                     (file-name-nondirectory
+                                                      file)
+                                                     eln-dest-dir-eff)
+                                                    bin-dest-dir)
+                                ;; Relative filename from the built uninstalled binary.
+                                (file-relative-name file invocation-directory))))
+                      (print tmp)
+                      tmp))))
 	       h))))
 
 (when (hash-table-p purify-flag)

This bug report was last modified 4 years and 43 days ago.

Previous Next


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