GNU bug report logs - #58267
29.0.50; Native-compiling the same files at every start

Previous Next

Package: emacs;

Reported by: Holger Schurig <holgerschurig <at> gmail.com>

Date: Mon, 3 Oct 2022 07:12:01 UTC

Severity: normal

Found in version 29.0.50

Done: Eli Zaretskii <eliz <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 58267 in the body.
You can then email your comments to 58267 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#58267; Package emacs. (Mon, 03 Oct 2022 07:12:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Holger Schurig <holgerschurig <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 03 Oct 2022 07:12:01 GMT) Full text and rfc822 format available.

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

From: Holger Schurig <holgerschurig <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 29.0.50; Native-compiling the same files at every start
Date: Mon, 3 Oct 2022 00:11:38 -0700
* I compiled Emacs from GIT by myself (version emacs-28.2-159399-g2973f91fb3)
* installed it via GNU Stow into /usr/local/emacs
* whenever I now run "emacs -Q" the same files will always be
byte-compiled according to "*Async-native-compile-log*":

Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-loaddefs.el.gz...
uncompressing cl-loaddefs.el.gz...
uncompressing cl-loaddefs.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-lib.el.gz...
uncompressing cl-lib.el.gz...
uncompressing cl-lib.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-extra.el.gz...
uncompressing cl-extra.el.gz...
uncompressing cl-extra.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/help-mode.el.gz...
uncompressing help-mode.el.gz...
uncompressing help-mode.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/gv.el.gz...
uncompressing gv.el.gz...
uncompressing gv.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-macs.el.gz...
uncompressing cl-macs.el.gz...
uncompressing cl-macs.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-seq.el.gz...
uncompressing cl-seq.el.gz...
uncompressing cl-seq.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/rx.el.gz...
uncompressing rx.el.gz...
uncompressing rx.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/subr-x.el.gz...
uncompressing subr-x.el.gz...
uncompressing subr-x.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/icons.el.gz...
uncompressing icons.el.gz...
uncompressing icons.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/warnings.el.gz...
uncompressing warnings.el.gz...
uncompressing warnings.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/display-line-numbers.el.gz...
uncompressing display-line-numbers.el.gz...
uncompressing display-line-numbers.el.gz...done
Compilation finished.
Compilation finished.
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/mail-utils.el.gz...
uncompressing mail-utils.el.gz...
uncompressing mail-utils.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/ietf-drums.el.gz...
uncompressing ietf-drums.el.gz...
uncompressing ietf-drums.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/gnus/mm-util.el.gz...
uncompressing mm-util.el.gz...
uncompressing mm-util.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/rfc2045.el.gz...
uncompressing rfc2045.el.gz...
uncompressing rfc2045.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/rfc2047.el.gz...
uncompressing rfc2047.el.gz...
uncompressing rfc2047.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/sendmail.el.gz...
uncompressing sendmail.el.gz...
uncompressing sendmail.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/mailheader.el.gz...
uncompressing mailheader.el.gz...
uncompressing mailheader.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/gnus/gmm-utils.el.gz...
uncompressing gmm-utils.el.gz...
uncompressing gmm-utils.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/mailabbrev.el.gz...
uncompressing mailabbrev.el.gz...
uncompressing mailabbrev.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/rfc2231.el.gz...
uncompressing rfc2231.el.gz...
uncompressing rfc2231.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/mail-parse.el.gz...
uncompressing mail-parse.el.gz...
uncompressing mail-parse.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/gnus/mm-encode.el.gz...
uncompressing mm-encode.el.gz...
uncompressing mm-encode.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/gnus/mm-decode.el.gz...
uncompressing mm-decode.el.gz...
uncompressing mm-decode.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/gnus/mm-bodies.el.gz...
uncompressing mm-bodies.el.gz...
uncompressing mm-bodies.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/calendar/time-date.el.gz...
uncompressing time-date.el.gz...
uncompressing time-date.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/text-property-search.el.gz...
uncompressing text-property-search.el.gz...
uncompressing text-property-search.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/gnus/gnus-util.el.gz...
uncompressing gnus-util.el.gz...
uncompressing gnus-util.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/epg-config.el.gz...
uncompressing epg-config.el.gz...
uncompressing epg-config.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/rfc6068.el.gz...
uncompressing rfc6068.el.gz...
uncompressing rfc6068.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/epg.el.gz...
uncompressing epg.el.gz...
uncompressing epg.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/derived.el.gz...
uncompressing derived.el.gz...
uncompressing derived.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/epa.el.gz...
uncompressing epa.el.gz...
uncompressing epa.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/password-cache.el.gz...
uncompressing password-cache.el.gz...
uncompressing password-cache.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/gnus/mml-sec.el.gz...
uncompressing mml-sec.el.gz...
uncompressing mml-sec.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/gnus/mml.el.gz...
uncompressing mml.el.gz...
uncompressing mml.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/rfc822.el.gz...
uncompressing rfc822.el.gz...
uncompressing rfc822.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/dired.el.gz...
uncompressing dired.el.gz...
uncompressing dired.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/net/puny.el.gz...
uncompressing puny.el.gz...
uncompressing puny.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/yank-media.el.gz...
uncompressing yank-media.el.gz...
uncompressing yank-media.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/net/mailcap.el.gz...
uncompressing mailcap.el.gz...
uncompressing mailcap.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/gnus/message.el.gz...
uncompressing message.el.gz...
uncompressing message.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/emacsbug.el.gz...
uncompressing emacsbug.el.gz...
uncompressing emacsbug.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/mail/mail-extr.el.gz...
uncompressing mail-extr.el.gz...
uncompressing mail-extr.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/sort.el.gz...
uncompressing sort.el.gz...
uncompressing sort.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/shadow.el.gz...
uncompressing shadow.el.gz...
uncompressing shadow.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/pp.el.gz...
uncompressing pp.el.gz...
uncompressing pp.el.gz...done
Compilation finished.

So, when I stop Emacs and start it again, I get the same behavior.

I think the underlying problem is that /usr/local/share is root owned,
and my running Emacs as a user don't have write access. So no *.eln
files end up in this path. And this makes Emacs trying to byte-compile
them again.

Couldn't Emacs byte-compile them at "make" or "make install" steps?


In GNU Emacs 29.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version
 3.24.34, cairo version 1.16.0) of 2022-10-03 built on holger
Repository revision: 2973f91fb3de824cd21399dc5cd298d4b8be4022
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101003
System Description: Debian GNU/Linux bookworm/sid

Configured using:
 'configure -C --with-cairo --with-dbus --with-file-notification=inotify
 --with-gnutls --with-gpm=no --with-harfbuzz --with-imagemagick
 --with-json --with-modules --with-native-compilation --with-rsvg
 --with-small-ja-dic --with-sound=alsa --with-threads
 --with-toolkit-scroll-bars --with-x-toolkit=gtk3 --with-xml2
 --with-xwidgets --without-gconf --without-gpm --without-gsettings
 --without-hesiod --without-imagemagick --without-kerberos
 --without-kerberos5 --without-ns --without-pop --without-selinux
 --without-wide-int --without-xft --without-xim 'CFLAGS=-g -O2
 -march=native -ffile-prefix-map=/home/holger=. -fstack-protector-strong
 -Wformat -Werror=format-security -Wall -fno-omit-frame-pointer''

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS HARFBUZZ JPEG JSON LCMS2
LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NATIVE_COMP NOTIFY INOTIFY
PDUMPER PNG RSVG SECCOMP SOUND SQLITE3 THREADS TIFF TOOLKIT_SCROLL_BARS
X11 XDBE XIM XINPUT2 XPM XWIDGETS GTK3 ZLIB

Important settings:
  value of $LANG: C.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: (only . t)
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader sendmail
rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
display-line-numbers comp comp-cstr warnings icons subr-x rx cl-seq
cl-macs gv cl-extra help-mode cl-loaddefs cl-lib bytecomp byte-compile
cconv rmc iso-transl tooltip eldoc paren electric uniquify ediff-hook
vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list replace newcomment text-mode lisp-mode prog-mode register
page tab-bar menu-bar rfn-eshadow isearch easymenu timer select
scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors
frame minibuffer nadvice seq simple cl-generic indonesian philippine
cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao
korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech
european ethiopic indian cyrillic chinese composite emoji-zwj charscript
charprop case-table epa-hook jka-cmpr-hook help abbrev obarray oclosure
cl-preloaded button loaddefs faces cus-face macroexp files window
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget keymap hashtable-print-readable backquote threads
xwidget-internal dbusbind inotify lcms2 dynamic-setting
font-render-setting cairo move-toolbar gtk x-toolkit xinput2 x multi-tty
make-network-process native-compile emacs)

Memory information:
((conses 16 81135 9949)
 (symbols 48 7182 0)
 (strings 32 23229 3214)
 (string-bytes 1 738678)
 (vectors 16 19025)
 (vector-slots 8 332533 13684)
 (floats 8 43 20)
 (intervals 56 316 0)
 (buffers 1000 12))




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#58267; Package emacs. (Mon, 03 Oct 2022 16:52:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Holger Schurig <holgerschurig <at> gmail.com>
Cc: 58267 <at> debbugs.gnu.org
Subject: Re: bug#58267: 29.0.50; Native-compiling the same files at every start
Date: Mon, 03 Oct 2022 19:51:46 +0300
> From: Holger Schurig <holgerschurig <at> gmail.com>
> Date: Mon, 3 Oct 2022 00:11:38 -0700
> 
> So, when I stop Emacs and start it again, I get the same behavior.
> 
> I think the underlying problem is that /usr/local/share is root owned,
> and my running Emacs as a user don't have write access. So no *.eln
> files end up in this path. And this makes Emacs trying to byte-compile
> them again.

But Emacs is not supposed to write the *.eln files into
/usr/local/share, it's supposed to write them to your
.emacs.d/eln-cache directory under your home directory.  Is your home
directory writable?  What is the value of native-comp-eln-load-path in
that session?

> Couldn't Emacs byte-compile them at "make" or "make install" steps?

How would that help if Emacs is unable to write the *.eln files for
some reason?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#58267; Package emacs. (Tue, 04 Oct 2022 19:21:02 GMT) Full text and rfc822 format available.

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

From: Holger Schurig <holgerschurig <at> gmail.com>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 58267 <at> debbugs.gnu.org
Subject: Re: bug#58267: 29.0.50; Native-compiling the same files at every start
Date: Tue, 4 Oct 2022 21:20:36 +0200
[Message part 1 (text/plain, inline)]
Hi Eli,

> What is the value of native-comp-eln-load-path in
that session?

Thanks for looking into it. native-comp-eln-load-path is:

("/home/holger/.emacs.d/eln-cache/"
"/usr/local/stow/emacs/lib/emacs/29.0.50/native-lisp/")

And the first directory is certainly writable:

holger <at> holger:~$ ll ~/.emacs.d/eln-cache/
total 4
drwxr-xr-x 2 holger holger 4096 Oct  4 21:08 29.0.50-aee1894c/
holger <at> holger:~$ ll ~/.emacs.d/eln-cache/29.0.50-aee1894c/
total 4724
-rwxr-xr-x 1 holger holger 108536 Oct  3 09:04
cl-extra-d7051cba-954d0113.eln*
-rwxr-xr-x 1 holger holger  61192 Oct  3 09:04 cl-lib-8b938900-c76f14d9.eln*
-rwxr-xr-x 1 holger holger 333328 Oct  3 09:05
cl-macs-7ae82f81-7195f6d0.eln*
-rwxr-xr-x 1 holger holger  61032 Oct  4 21:07
cl-print-79bf9fb1-c759fffb.eln*
-rwxr-xr-x 1 holger holger 128112 Oct  3 09:04 cl-seq-f464c4e2-41e7a709.eln*
-rwxr-xr-x 1 holger holger  46168 Oct  3 09:05
derived-381801a7-44101f77.eln*
-rwxr-xr-x 1 holger holger 314336 Oct  3 09:06 dired-6a3ae2bc-a97b899d.eln*
-rwxr-xr-x 1 holger holger  39168 Oct  3 09:05
display-line-numbers-1d060f2e-ac11bdb2.eln*
-rwxr-xr-x 1 holger holger  50896 Oct  3 09:06
emacsbug-2b184f71-463477ae.eln*
-rwxr-xr-x 1 holger holger 109760 Oct  3 09:05 epa-bdd8ea1c-902eeb9e.eln*
-rwxr-xr-x 1 holger holger  34696 Oct  3 09:05
epg-config-78240760-6b96d0a3.eln*
-rwxr-xr-x 1 holger holger 414104 Oct  3 09:05 epg-de089247-f5f7c3c5.eln*
-rwxr-xr-x 1 holger holger  22304 Oct  3 09:05
gmm-utils-3a9b481d-ca3307d0.eln*
-rwxr-xr-x 1 holger holger 154784 Oct  3 09:05
gnus-util-b645aa9c-09000edd.eln*
-rwxr-xr-x 1 holger holger 211592 Oct  3 09:04 gv-e0cf7478-70e05b9c.eln*
-rwxr-xr-x 1 holger holger 182992 Oct  4 21:07
help-fns-d233c6e8-a099ac59.eln*
-rwxr-xr-x 1 holger holger  73536 Oct  3 09:04
help-mode-d4dbae3d-942d04d2.eln*
-rwxr-xr-x 1 holger holger  35328 Oct  3 09:04 icons-eafe82eb-aebf40bc.eln*
-rwxr-xr-x 1 holger holger  41688 Oct  3 09:05
ietf-drums-23d9ecfe-d43bb971.eln*
-rwxr-xr-x 1 holger holger  97616 Oct  3 09:06
mail-extr-e04131ae-0d3fbd03.eln*
-rwxr-xr-x 1 holger holger  19856 Oct  3 09:05
mail-parse-5e7f4583-4dd5f035.eln*
-rwxr-xr-x 1 holger holger  38032 Oct  3 09:05
mail-utils-ae525238-1df0075a.eln*
-rwxr-xr-x 1 holger holger  44736 Oct  3 09:05
mailabbrev-287b6d20-0b61dba5.eln*
-rwxr-xr-x 1 holger holger  75672 Oct  3 09:05
mailcap-a1205653-fa0834cd.eln*
-rwxr-xr-x 1 holger holger  26520 Oct  3 09:05
mailheader-2dff755b-d62c8c9d.eln*
-rwxr-xr-x 1 holger holger 571024 Oct  3 09:06
message-4a315c5a-c7ff10aa.eln*
-rwxr-xr-x 1 holger holger  29928 Oct  3 09:05
mm-bodies-5a92b2dc-09a021c3.eln*
-rwxr-xr-x 1 holger holger 176576 Oct  3 09:05
mm-decode-4a4c16d8-5bfcef52.eln*
-rwxr-xr-x 1 holger holger  27776 Oct  3 09:05
mm-encode-4f0ce800-f393314a.eln*
-rwxr-xr-x 1 holger holger  62432 Oct  3 09:05
mm-util-3a4439f0-1f9a87ba.eln*
-rwxr-xr-x 1 holger holger 126880 Oct  3 09:05 mml-34028078-bb605e70.eln*
-rwxr-xr-x 1 holger holger 103496 Oct  3 09:05
mml-sec-827872f6-853bc022.eln*
-rwxr-xr-x 1 holger holger  19384 Oct  3 09:05
password-cache-187e4eec-58743954.eln*
-rwxr-xr-x 1 holger holger  43240 Oct  3 09:06 pp-5d47c1cc-a707bff5.eln*
-rwxr-xr-x 1 holger holger  30168 Oct  3 09:05 puny-eb5a151f-3cb4b46d.eln*
-rwxr-xr-x 1 holger holger  16360 Oct  3 09:05
rfc2045-713c994b-52b58bf3.eln*
-rwxr-xr-x 1 holger holger  72400 Oct  3 09:05
rfc2047-b84e264d-9d53d444.eln*
-rwxr-xr-x 1 holger holger  33248 Oct  3 09:05
rfc2231-e2cbed75-26dda543.eln*
-rwxr-xr-x 1 holger holger  18032 Oct  3 09:05
rfc6068-5e4d60aa-08220a90.eln*
-rwxr-xr-x 1 holger holger  28592 Oct  3 09:05 rfc822-a91daeff-9d287a67.eln*
-rwxr-xr-x 1 holger holger 140704 Oct  3 09:04 rx-627d8c83-8e412280.eln*
-rwxr-xr-x 1 holger holger 119264 Oct  3 09:05
sendmail-bcf4df3f-de9a20b1.eln*
-rwxr-xr-x 1 holger holger  28792 Oct  3 09:06 shadow-87c8aad9-fa6a3d65.eln*
-rwxr-xr-x 1 holger holger  49616 Oct  3 09:06 sort-14dd51e7-e6a8ba97.eln*
-rwxr-xr-x 1 holger holger  16056 Oct  2 18:00
subr--trampoline-61626f72742d7265637572736976652d65646974_abort_recursive_edit_0.eln*
-rwxr-xr-x 1 holger holger  16056 Oct  2 18:00
subr--trampoline-6d616b652d70726f63657373_make_process_0.eln*
-rwxr-xr-x 1 holger holger  16056 Oct  2 18:00
subr--trampoline-73656c6563742d77696e646f77_select_window_0.eln*
-rwxr-xr-x 1 holger holger  16024 Oct  2 18:00
subr--trampoline-746f702d6c6576656c_top_level_0.eln*
-rwxr-xr-x 1 holger holger  49072 Oct  3 09:04 subr-x-02dfef32-177735b4.eln*
-rwxr-xr-x 1 holger holger  29264 Oct  3 09:05
text-property-search-db1383f6-ed2e2f1e.eln*
-rwxr-xr-x 1 holger holger  61032 Oct  4 21:08
thingatpt-6fc8a4ab-5c620eb5.eln*
-rwxr-xr-x 1 holger holger  56680 Oct  3 09:05
time-date-40951a48-f2fbd30f.eln*
-rwxr-xr-x 1 holger holger  31184 Oct  3 09:05
warnings-28e75f4d-02da775e.eln*
-rwxr-xr-x 1 holger holger  25088 Oct  3 09:05
yank-media-62540c94-43b16516.eln*

But some files are still recompiled again and again. Here are two different
output from the "*Async-native-compile-log*" with two different invocations
of "emacs -Q". And somehow the cl-loaddefs.el.gz gets compiled twice:

First one:

Compilation finished.
Compiling
/usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-loaddefs.el.gz...
uncompressing cl-loaddefs.el.gz...
uncompressing cl-loaddefs.el.gz...done
Compiling /usr/local/share/emacs/29.0.50/lisp/thingatpt.el.gz...
uncompressing thingatpt.el.gz...
uncompressing thingatpt.el.gz...done
Compilation finished.

(above file list is from this point-in-time)

Next one:

Compilation finished.
Compiling
/usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-loaddefs.el.gz...
uncompressing cl-loaddefs.el.gz...
uncompressing cl-loaddefs.el.gz...done
Compilation finished.

But despite this, nothing ends up in the eln-cache:

holger <at> holger:~$ find ~/.emacs.d/eln-cache/ -name "cl-load*"
holger <at> holger:~$

But ... it's not only cl-loaddefs.el. My Emacs setup normally is Emacs
Doom. So when I start Emacs without -Q, I see that

Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/pcase.el.gz...
uncompressing pcase.el.gz...
uncompressing pcase.el.gz...done

pcase.el gets native-compiled. But later ...

holger <at> holger:~$ find ~/.emacs.d/eln-cache/ -name "pcase*"
holger <at> holger:~$

.. doesn't find anything. So there seem to be more Emacs Lisp libraries
that fall through the roster.
[Message part 2 (text/html, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#58267; Package emacs. (Tue, 04 Oct 2022 19:46:01 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Holger Schurig <holgerschurig <at> gmail.com>
Cc: 58267 <at> debbugs.gnu.org
Subject: Re: bug#58267: 29.0.50; Native-compiling the same files at every start
Date: Tue, 04 Oct 2022 22:45:14 +0300
> From: Holger Schurig <holgerschurig <at> gmail.com>
> Date: Tue, 4 Oct 2022 21:20:36 +0200
> Cc: 58267 <at> debbugs.gnu.org
> 
> Thanks for looking into it. native-comp-eln-load-path is:
> 
> ("/home/holger/.emacs.d/eln-cache/" "/usr/local/stow/emacs/lib/emacs/29.0.50/native-lisp/")
> 
> And the first directory is certainly writable:
> 
> holger <at> holger:~$ ll ~/.emacs.d/eln-cache/
> total 4
> drwxr-xr-x 2 holger holger 4096 Oct  4 21:08 29.0.50-aee1894c/
> holger <at> holger:~$ ll ~/.emacs.d/eln-cache/29.0.50-aee1894c/
> total 4724
> -rwxr-xr-x 1 holger holger 108536 Oct  3 09:04 cl-extra-d7051cba-954d0113.eln*
> -rwxr-xr-x 1 holger holger  61192 Oct  3 09:04 cl-lib-8b938900-c76f14d9.eln*
> -rwxr-xr-x 1 holger holger 333328 Oct  3 09:05 cl-macs-7ae82f81-7195f6d0.eln*
> -rwxr-xr-x 1 holger holger  61032 Oct  4 21:07 cl-print-79bf9fb1-c759fffb.eln*
> -rwxr-xr-x 1 holger holger 128112 Oct  3 09:04 cl-seq-f464c4e2-41e7a709.eln*
> -rwxr-xr-x 1 holger holger  46168 Oct  3 09:05 derived-381801a7-44101f77.eln*
> -rwxr-xr-x 1 holger holger 314336 Oct  3 09:06 dired-6a3ae2bc-a97b899d.eln*
> -rwxr-xr-x 1 holger holger  39168 Oct  3 09:05 display-line-numbers-1d060f2e-ac11bdb2.eln*
> -rwxr-xr-x 1 holger holger  50896 Oct  3 09:06 emacsbug-2b184f71-463477ae.eln*
> -rwxr-xr-x 1 holger holger 109760 Oct  3 09:05 epa-bdd8ea1c-902eeb9e.eln*
> -rwxr-xr-x 1 holger holger  34696 Oct  3 09:05 epg-config-78240760-6b96d0a3.eln*
> -rwxr-xr-x 1 holger holger 414104 Oct  3 09:05 epg-de089247-f5f7c3c5.eln*
> -rwxr-xr-x 1 holger holger  22304 Oct  3 09:05 gmm-utils-3a9b481d-ca3307d0.eln*
> -rwxr-xr-x 1 holger holger 154784 Oct  3 09:05 gnus-util-b645aa9c-09000edd.eln*
> -rwxr-xr-x 1 holger holger 211592 Oct  3 09:04 gv-e0cf7478-70e05b9c.eln*
> -rwxr-xr-x 1 holger holger 182992 Oct  4 21:07 help-fns-d233c6e8-a099ac59.eln*
> -rwxr-xr-x 1 holger holger  73536 Oct  3 09:04 help-mode-d4dbae3d-942d04d2.eln*
> -rwxr-xr-x 1 holger holger  35328 Oct  3 09:04 icons-eafe82eb-aebf40bc.eln*
> -rwxr-xr-x 1 holger holger  41688 Oct  3 09:05 ietf-drums-23d9ecfe-d43bb971.eln*
> -rwxr-xr-x 1 holger holger  97616 Oct  3 09:06 mail-extr-e04131ae-0d3fbd03.eln*
> -rwxr-xr-x 1 holger holger  19856 Oct  3 09:05 mail-parse-5e7f4583-4dd5f035.eln*
> -rwxr-xr-x 1 holger holger  38032 Oct  3 09:05 mail-utils-ae525238-1df0075a.eln*
> -rwxr-xr-x 1 holger holger  44736 Oct  3 09:05 mailabbrev-287b6d20-0b61dba5.eln*
> -rwxr-xr-x 1 holger holger  75672 Oct  3 09:05 mailcap-a1205653-fa0834cd.eln*
> -rwxr-xr-x 1 holger holger  26520 Oct  3 09:05 mailheader-2dff755b-d62c8c9d.eln*
> -rwxr-xr-x 1 holger holger 571024 Oct  3 09:06 message-4a315c5a-c7ff10aa.eln*
> -rwxr-xr-x 1 holger holger  29928 Oct  3 09:05 mm-bodies-5a92b2dc-09a021c3.eln*
> -rwxr-xr-x 1 holger holger 176576 Oct  3 09:05 mm-decode-4a4c16d8-5bfcef52.eln*
> -rwxr-xr-x 1 holger holger  27776 Oct  3 09:05 mm-encode-4f0ce800-f393314a.eln*
> -rwxr-xr-x 1 holger holger  62432 Oct  3 09:05 mm-util-3a4439f0-1f9a87ba.eln*
> -rwxr-xr-x 1 holger holger 126880 Oct  3 09:05 mml-34028078-bb605e70.eln*
> -rwxr-xr-x 1 holger holger 103496 Oct  3 09:05 mml-sec-827872f6-853bc022.eln*
> -rwxr-xr-x 1 holger holger  19384 Oct  3 09:05 password-cache-187e4eec-58743954.eln*
> -rwxr-xr-x 1 holger holger  43240 Oct  3 09:06 pp-5d47c1cc-a707bff5.eln*
> -rwxr-xr-x 1 holger holger  30168 Oct  3 09:05 puny-eb5a151f-3cb4b46d.eln*
> -rwxr-xr-x 1 holger holger  16360 Oct  3 09:05 rfc2045-713c994b-52b58bf3.eln*
> -rwxr-xr-x 1 holger holger  72400 Oct  3 09:05 rfc2047-b84e264d-9d53d444.eln*
> -rwxr-xr-x 1 holger holger  33248 Oct  3 09:05 rfc2231-e2cbed75-26dda543.eln*
> -rwxr-xr-x 1 holger holger  18032 Oct  3 09:05 rfc6068-5e4d60aa-08220a90.eln*
> -rwxr-xr-x 1 holger holger  28592 Oct  3 09:05 rfc822-a91daeff-9d287a67.eln*
> -rwxr-xr-x 1 holger holger 140704 Oct  3 09:04 rx-627d8c83-8e412280.eln*
> -rwxr-xr-x 1 holger holger 119264 Oct  3 09:05 sendmail-bcf4df3f-de9a20b1.eln*
> -rwxr-xr-x 1 holger holger  28792 Oct  3 09:06 shadow-87c8aad9-fa6a3d65.eln*
> -rwxr-xr-x 1 holger holger  49616 Oct  3 09:06 sort-14dd51e7-e6a8ba97.eln*
> -rwxr-xr-x 1 holger holger  16056 Oct  2 18:00
> subr--trampoline-61626f72742d7265637572736976652d65646974_abort_recursive_edit_0.eln*
> -rwxr-xr-x 1 holger holger  16056 Oct  2 18:00
> subr--trampoline-6d616b652d70726f63657373_make_process_0.eln*
> -rwxr-xr-x 1 holger holger  16056 Oct  2 18:00
> subr--trampoline-73656c6563742d77696e646f77_select_window_0.eln*
> -rwxr-xr-x 1 holger holger  16024 Oct  2 18:00 subr--trampoline-746f702d6c6576656c_top_level_0.eln*
> -rwxr-xr-x 1 holger holger  49072 Oct  3 09:04 subr-x-02dfef32-177735b4.eln*
> -rwxr-xr-x 1 holger holger  29264 Oct  3 09:05 text-property-search-db1383f6-ed2e2f1e.eln*
> -rwxr-xr-x 1 holger holger  61032 Oct  4 21:08 thingatpt-6fc8a4ab-5c620eb5.eln*
> -rwxr-xr-x 1 holger holger  56680 Oct  3 09:05 time-date-40951a48-f2fbd30f.eln*
> -rwxr-xr-x 1 holger holger  31184 Oct  3 09:05 warnings-28e75f4d-02da775e.eln*
> -rwxr-xr-x 1 holger holger  25088 Oct  3 09:05 yank-media-62540c94-43b16516.eln*
> 
> But some files are still recompiled again and again. Here are two different output from the
> "*Async-native-compile-log*" with two different invocations of "emacs -Q". And somehow the
> cl-loaddefs.el.gz gets compiled twice:
> 
> First one:
> 
> Compilation finished.
> Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-loaddefs.el.gz...
> uncompressing cl-loaddefs.el.gz...
> uncompressing cl-loaddefs.el.gz...done
> Compiling /usr/local/share/emacs/29.0.50/lisp/thingatpt.el.gz...
> uncompressing thingatpt.el.gz...
> uncompressing thingatpt.el.gz...done
> Compilation finished.
> 
> (above file list is from this point-in-time)
> 
> Next one:
> 
> Compilation finished.
> Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-loaddefs.el.gz...
> uncompressing cl-loaddefs.el.gz...
> uncompressing cl-loaddefs.el.gz...done
> Compilation finished.
> 
> But despite this, nothing ends up in the eln-cache:
> 
> holger <at> holger:~$ find ~/.emacs.d/eln-cache/ -name "cl-load*"
> holger <at> holger:~$ 

cl-loaddefs.el has a "no-native-compile: t" cookie, so it's expected
that you will not find it in the eln-cache.  But all the other
cl-*.eln files are there, as your list above shows.

> But ... it's not only cl-loaddefs.el. My Emacs setup normally is Emacs Doom. So when I start Emacs without
> -Q, I see that 
> 
> Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/pcase.el.gz...
> uncompressing pcase.el.gz...
> uncompressing pcase.el.gz...done
> 
> pcase.el gets native-compiled. But later ...
> 
> holger <at> holger:~$ find ~/.emacs.d/eln-cache/ -name "pcase*"
> holger <at> holger:~$ 
> 
> .. doesn't find anything. So there seem to be more Emacs Lisp libraries that fall through the roster. 

What do you mean by "later"?  Does pcase*.eln appear in the eln-cache,
but gets deleted later, or does it never appear there?

If you start "emacs -Q" and type "M-x load-library RET pcase RET",
does pcase get compiled and deposited into your eln-cache?

And what exactly is the role of "GNU Stow" in this?  Did you try
installing the Emacs you've built with just "make install" instead?




Reply sent to Eli Zaretskii <eliz <at> gnu.org>:
You have taken responsibility. (Wed, 05 Oct 2022 05:27:02 GMT) Full text and rfc822 format available.

Notification sent to Holger Schurig <holgerschurig <at> gmail.com>:
bug acknowledged by developer. (Wed, 05 Oct 2022 05:27:02 GMT) Full text and rfc822 format available.

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

From: Eli Zaretskii <eliz <at> gnu.org>
To: Holger Schurig <holgerschurig <at> gmail.com>
Cc: 58267-done <at> debbugs.gnu.org
Subject: Re: bug#58267: 29.0.50; Native-compiling the same files at every start
Date: Wed, 05 Oct 2022 08:26:14 +0300
> From: Holger Schurig <holgerschurig <at> gmail.com>
> Date: Tue, 4 Oct 2022 22:13:24 +0200
> 
> > cl-loaddefs.el has a "no-native-compile: t" cookie, so it's expected
> 
> Ah, okay. Still weird that the log claims that it's logged as if it is compiled:
> 
> Compiling /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-loaddefs.el.gz...
> uncompressing cl-loaddefs.el.gz...
> uncompressing cl-loaddefs.el.gz...done
> 
> Would I have read
> 
> Uncompress /usr/local/share/emacs/29.0.50/lisp/emacs-lisp/cl-loaddefs.el.gz...
> ...done. no-native-compile set, ignored
> 
> then I wouldn't have wondered into this trap.
> 
> > If you start "emacs -Q" and type "M-x load-library RET pcase RET", does pcase get compiled and
> deposited into your eln-cache?
> 
> Ah, that is the difference. Yes, this time it did. Previously it didn't. And the difference was ...  I started
> "emacs" without -Q for the pcase.el example. So I did start Emacs Doom, not vanilla Emacs. And Dooms
> one sets different cache directories:
> 
> > native-comp-eln-load-path is a variable defined in comp.c.
> >
> > Value
> > ("/home/holger/.emacs.d/.local/cache/eln/" "/home/holger/.emacs.d/eln-cache/"
> "/usr/local/stow/emacs/lib/emacs/29.0.50/native-lisp/")
> 
> So the native-compiled pcase.el ended up in Doom's place, not in Emacs' place, where I did expect it.
> 
> That also explains what I reported in my original post.
> 
> * I started "emacs" (Doom) and noticed several files in the Async log
> * Then I started "emacs -Q" and saw the same files again
> * This was because Doom wrote the compiled ones into his directory, hidden from vanilla Emacs, and
> vanilla Emacs had to compile them. Again.
> * On top of that the cl-loaddefs file with the no-native-compile cookie confused me further
> 
> So, sorry that I bothered you. This bug isn't a bug and can be closed.

Thanks, I'm therefore closing this bug.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 02 Nov 2022 11:24:08 GMT) Full text and rfc822 format available.

This bug report was last modified 2 years and 225 days ago.

Previous Next


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