GNU bug report logs -
#24974
CANNOT_DUMP build assumes Emacs is already installed
Previous Next
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.
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):
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):
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):
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):
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.