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 #62 received at 47558 <at> debbugs.gnu.org (full text, mbox):

From: Alan Third <alan <at> idiocy.org>
To: Andrea Corallo <akrl <at> sdf.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, 6 Apr 2021 22:33:35 +0100
On Tue, Apr 06, 2021 at 09:22:57PM +0000, Andrea Corallo wrote:
> Alan Third <alan <at> idiocy.org> writes:
> 
> > On Tue, Apr 06, 2021 at 07:26:16PM +0000, Andrea Corallo wrote:
> >> 
> >> 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/
> >
> > OK, I think I see what's going on. The binary is installed in
> > Emacs.app/Contents/MacOS, but the bindir is
> > Emacs.app/Contents/MacOS/bin, so we're going one level too far up when
> > generating the eln path.
> >
> > "../../Resources/native-lisp/28.0.50-0f05d3d3/preloaded/misc-lang-7cb33d20-db3eb4ae.eln"
> >
> >> 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.
> >
> > I've attached the new bootstrap log in case I'm wrong and you can see
> > something else.
> 
> I think your analysis is correct.
> 
> ATM we form BIN_DESTDIR as '$(DESTDIR)${bindir}/' (Makefile.in:419),
> maybe we should use 'ns_appbindir' to form it?

Yup, that seems to have solved it. I'm doing this:

modified   Makefile.in
@@ -420,8 +420,13 @@ lib lib-src lisp nt:
 dirstate = .git/logs/HEAD
 VCSWITNESS = $(if $(wildcard $(srcdir)/$(dirstate)),$$(srcdir)/../$(dirstate))
 src: Makefile
+ifeq (${ns_self_contained},no)
 	$(MAKE) -C $@ VCSWITNESS='$(VCSWITNESS)' BIN_DESTDIR='$(DESTDIR)${bindir}/' \
 		 ELN_DESTDIR='$(ELN_DESTDIR)' all
+else
+	$(MAKE) -C $@ VCSWITNESS='$(VCSWITNESS)' BIN_DESTDIR='${ns_appbindir}/' \
+		 ELN_DESTDIR='$(ELN_DESTDIR)' all
+endif
 
 blessmail: Makefile src
 	$(MAKE) -C lib-src maybe-blessmail


which works, but I don't know much about makefiles so there may be a
neater way to do it.

-- 
Alan Third




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.