GNU bug report logs - #24974
CANNOT_DUMP build assumes Emacs is already installed

Previous Next

Package: emacs;

Reported by: Paul Eggert <eggert <at> cs.ucla.edu>

Date: Sun, 20 Nov 2016 21:39:02 UTC

Severity: normal

Fixed in version 26.1

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 24974 in the body.
You can then email your comments to 24974 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#24974; Package emacs. (Sun, 20 Nov 2016 21:39:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Paul Eggert <eggert <at> cs.ucla.edu>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 20 Nov 2016 21:39:02 GMT) Full text and rfc822 format available.

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

From: Paul Eggert <eggert <at> cs.ucla.edu>
To: Emacs bug reports and feature requests <bug-gnu-emacs <at> gnu.org>
Subject: CANNOT_DUMP build assumes Emacs is already installed
Date: Sun, 20 Nov 2016 13:38:27 -0800
The CANNOT_DUMP build procedure is confused: it assumes that the current version 
of Emacs is already installed, and Emacs builds can fail (or be subtly wrong) 
when this assumption is not true. To reproduce the problem, pick a directory 
that doesn't exist ("/tmp/prefix" in the example below) and configure and build 
this way:

./configure --prefix=/tmp/prefix CANNOT_DUMP=yes
make bootstrap

On my platform (Ubuntu 16.04 x86-64) the build fails as follows:

ln -f temacs bootstrap-emacs
make -C ../lisp compile-first EMACS="../src/bootstrap-emacs"
make[3]: Entering directory '/home/eggert/src/gnu/emacs/static-checking/lisp'
  ELC      emacs-lisp/macroexp.elc
Warning: Lisp directory '/tmp/prefix/share/emacs/26.0.50/lisp': No such file or 
directory
Cannot open load file: No such file or directory, loadup.el
Makefile:282: recipe for target 'emacs-lisp/macroexp.elc' failed

The full command that fails (abbreviated "ELC emacs-lisp/macrorexp.elc above) is:

EMACSLOADPATH= '../src/bootstrap-emacs' -batch --no-site-file --no-site-lisp -l 
autoload \
   --eval "(setq generate-autoload-cookie \";;;###cal-autoload\")" \
   --eval "(setq generated-autoload-file (expand-file-name (unmsys--file-name 
\"calendar/cal-loaddefs.el\")))" \
   -f batch-update-autoloads ./calendar

Running strace on this command reveals that it attempts to open only:

/tmp/prefix/share/emacs/26.0.50/lisp/loadup.el.elc
/tmp/prefix/share/emacs/26.0.50/lisp/loadup.el.el
/tmp/prefix/share/emacs/26.0.50/lisp/loadup.el

and it never attempts to open loadup.el in the current directory, which is 
what's needed here.

By the way, why does Emacs try to open ".../loadup.el.elc"? Isn't that a waste 
of time?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#24974; Package emacs. (Thu, 01 Dec 2016 00:37:01 GMT) Full text and rfc822 format available.

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

From: Glenn Morris <rgm <at> gnu.org>
To: Paul Eggert <eggert <at> cs.ucla.edu>
Cc: 24974 <at> debbugs.gnu.org
Subject: Re: bug#24974: CANNOT_DUMP build assumes Emacs is already installed
Date: Wed, 30 Nov 2016 19:36:29 -0500
How about:

--- a/src/lread.c
+++ b/src/lread.c
@@ -4296,6 +4296,8 @@ BUFFER is the buffer to evaluate (nil means use current buffer),
 #endif
 
   normal = PATH_LOADSEARCH;
+  if (!NILP (Vinstallation_directory)) normal = PATH_DUMPLOADSEARCH;
+
 #ifdef HAVE_NS
   lpath = decode_env_path (0, loadpath ? loadpath : normal, 0);
 #else




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#24974; Package emacs. (Thu, 01 Dec 2016 01:04:02 GMT) Full text and rfc822 format available.

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

From: Daniel Colascione <dancol <at> dancol.org>
To: Glenn Morris <rgm <at> gnu.org>
Cc: Paul Eggert <eggert <at> cs.ucla.edu>, 24974 <at> debbugs.gnu.org
Subject: Re: bug#24974: CANNOT_DUMP build assumes Emacs is already installed
Date: Wed, 30 Nov 2016 17:03:44 -0800
On Wed, Nov 30 2016, Glenn Morris wrote:
> How about:
>
> --- a/src/lread.c
> +++ b/src/lread.c
> @@ -4296,6 +4296,8 @@ BUFFER is the buffer to evaluate (nil means use current buffer),
>  #endif
>  
>    normal = PATH_LOADSEARCH;
> +  if (!NILP (Vinstallation_directory)) normal = PATH_DUMPLOADSEARCH;
> +
>  #ifdef HAVE_NS
>    lpath = decode_env_path (0, loadpath ? loadpath : normal, 0);
>  #else

I changed a lot of this code in my portable dumper patch.  The new code
works fine for me with CANNOT_DUMP uninstalled. We can split this change
(and the corresponding loadup.el changes) out from the rest of the patch
pretty easily, I think.




Reply sent to Glenn Morris <rgm <at> gnu.org>:
You have taken responsibility. (Mon, 19 Dec 2016 18:36:01 GMT) Full text and rfc822 format available.

Notification sent to Paul Eggert <eggert <at> cs.ucla.edu>:
bug acknowledged by developer. (Mon, 19 Dec 2016 18:36:01 GMT) Full text and rfc822 format available.

Message #16 received at 24974-done <at> debbugs.gnu.org (full text, mbox):

From: Glenn Morris <rgm <at> gnu.org>
To: 24974-done <at> debbugs.gnu.org
Subject: Re: bug#24974: CANNOT_DUMP build assumes Emacs is already installed
Date: Mon, 19 Dec 2016 13:35:47 -0500
Version: 26.1

Daniel Colascione wrote:

>>    normal = PATH_LOADSEARCH;
>> +  if (!NILP (Vinstallation_directory)) normal = PATH_DUMPLOADSEARCH;
>> +
>>  #ifdef HAVE_NS
>>    lpath = decode_env_path (0, loadpath ? loadpath : normal, 0);
>>  #else
>
> I changed a lot of this code in my portable dumper patch.  The new code
> works fine for me with CANNOT_DUMP uninstalled. We can split this change
> (and the corresponding loadup.el changes) out from the rest of the patch
> pretty easily, I think.

I look forward to those changes, but in the meantime I installed my
one-liner as 504e384, since it seems like an improvement, and can't eg
make merging any harder.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 17 Jan 2017 12:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 8 years and 157 days ago.

Previous Next


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