Subject: bug#76586: 30.1; Question regarding eln-cache

From: Ship Mints <[email-masked]>
Date: Wed, 26 Feb 2025 09:08:40 -0500

It should be sufficient to differentiate by architecture, not by host.
'comp-native-version-dir' is used internally by Emacs and I don't think you
need to reference it.

I think you asked this on reddit and seemed satisfied with this response
https://www.reddit.com/r/emacs/comments/1hgjra6/comment/m3i486t/ which
seems to suffice for your use case.

-Stephane

On Wed, Feb 26, 2025 at 8:57 AM Rahul Martim Juliato <[email-masked]>
wrote:

>
> This is not a bug, more of a question.
>
> I noticed the addition of `comp-native-version-dir' and found it nice
> to be there.
>
> I currently have a workflow where I use the same (but not at the same
> time) emacs config from a network folder for both macos (arm
> architecture) and debian (x64).
>
> In my config I manually set the name of the folders `eln-cache` to be
> something like `eln-cache-machine1` and `eln-cache-machine2`.
>
> Since 30.1 became released, the `comp-native-version-dir' is added to
> organize the subfolder.
>
> Does it create this magic number taking in consideration also the
> machine architecture? If not, could we make
> distinctions between architectures when creating the sub-folders?
>
> If I use the same pre-compiled binaries, will this number be the same on
> both machines?
>
> I tried to collect some of this info on [email-masked], confusion
> was everywhere, we couldn't conclude anything. Could Emacs maintainers
> provide us with a little bit more info or where to find it?
>
> Thanks!
>
>
>
>
> In GNU Emacs 30.1 (build 2, x86_64-pc-linux-gnu, GTK+ Version 3.24.38,
>  cairo version 1.16.0) of 2025-02-24 built on debian
> System Description: Debian GNU/Linux 12 (bookworm)
>
> Configured using:
>  'configure --with-native-compilation=aot --with-tree-sitter --with-gif
>  --with-png --with-jpeg --with-rsvg --with-tiff --with-imagemagick
>  --with-pgtk --with-mailutils'
>
> Configured features:
> ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ
> IMAGEMAGICK JPEG LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 MODULES
> NATIVE_COMP NOTIFY INOTIFY PDUMPER PGTK PNG RSVG SECCOMP SOUND SQLITE3
> THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER WEBP XIM GTK3 ZLIB
>
> Important settings:
>   value of $LANG: en_US.UTF-8
>   locale-coding-system: utf-8-unix
>
> Major mode: Dashboard
>
> Minor modes in effect:
>   emms-mode-line-mode: t
>   emms-playing-time-display-mode: t
>   emms-playing-time-mode: t
>   diff-hl-margin-mode: t
>   diff-hl-flydiff-mode: t
>   global-diff-hl-mode: t
>   treemacs-project-follow-mode: t
>   treemacs-filewatch-mode: t
>   treemacs-follow-mode: t
>   treemacs-git-mode: t
>   treemacs-fringe-indicator-mode: t
>   recentf-mode: t
>   which-key-mode: t
>   global-treesit-auto-mode: t
>   vertico-mode: t
>   global-evil-collection-unimpaired-mode: t
>   evil-collection-unimpaired-mode: t
>   global-evil-matchit-mode: t
>   evil-matchit-mode: t
>   global-evil-surround-mode: t
>   evil-surround-mode: t
>   evil-mode: t
>   evil-local-mode: t
>   pulsar-global-mode: t
>   pulsar-mode: t
>   global-undo-tree-mode: t
>   undo-tree-mode: t
>   async-bytecomp-package-mode: t
>   persp-mode-project-bridge-mode: t
>   persp-mode: t
>   global-ligature-mode: t
>   ligature-mode: t
>   nerd-icons-completion-mode: t
>   marginalia-mode: t
>   corfu-popupinfo-mode: t
>   global-corfu-mode: t
>   corfu-mode: t
>   override-global-mode: t
>   xterm-mouse-mode: t
>   winner-mode: t
>   savehist-mode: t
>   save-place-mode: t
>   pixel-scroll-precision-mode: t
>   global-auto-revert-mode: t
>   delete-selection-mode: t
>   global-eldoc-mode: t
>   show-paren-mode: t
>   electric-indent-mode: t
>   mouse-wheel-mode: t
>   file-name-shadow-mode: t
>   global-font-lock-mode: t
>   font-lock-mode: t
>   minibuffer-regexp-mode: t
>   buffer-read-only: t
>   column-number-mode: t
>   line-number-mode: t
>   transient-mark-mode: t
>   auto-composition-mode: t
>   auto-encryption-mode: t
>   auto-compression-mode: t
>
> Load-path shadows:
> /home/rmj/.emacs.d/elpa/transient-20250222.1912/transient hides
> /usr/local/share/emacs/30.1/lisp/transient
> /home/rmj/.emacs.d/elpa/modus-themes-20250220.647/theme-loaddefs hides
> /usr/local/share/emacs/30.1/lisp/theme-loaddefs
>
> Features:
> (shadow mail-extr emacsbug help-fns radix-tree evil-collection-emms
> emms-idapi-browser emms-idapi emms-idapi-musicbrainz emms-mpris dbus
> emms-librefm-stream xml emms-librefm-scrobbler emms-playlist-limit
> emms-i18n emms-history emms-score emms-stream-info
> emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon
> emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl
> emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played
> emms-player-xine emms-player-mpd tq emms-lyrics emms-url emms-streams
> emms-show-all emms-tag-editor format-spec emms-tag-tracktag emms-mark
> emms-mode-line emms-cache emms-info-native emms-info-native-spc
> emms-info-native-mp3 emms-info-native-ogg emms-info-native-opus
> emms-info-native-flac emms-info-native-vorbis bindat emms-info-exiftool
> emms-info-tinytag emms-info-metaflac emms-info-opusinfo
> emms-info-ogginfo emms-info-mp3info emms-playlist-mode emms-player-vlc
> emms-player-mpv emms-playing-time emms-info emms-later-do
> emms-player-mplayer emms-player-simple emms-source-playlist
> emms-source-file locate emms-setup emms emms-compat
> evil-collection-wgrep wgrep evil-collection-diff-hl diff-hl-margin
> diff-hl-dired diff-hl-flydiff diff-hl evil-collection-log-view log-view
> evil-collection-vc-dir vc-dir ewoc evil-collection-log-edit log-edit
> message sendmail yank-media puny evil-collection-dired nerd-icons-dired
> dired dired-loaddefs rfc822 mml mml-sec evil-collection-epa epa derived
> epg rfc6068 epg-config gnus-util time-date mm-decode mm-bodies mm-encode
> mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr
> mailabbrev mail-utils gmm-utils mailheader pcvs-util add-log vc
> vc-dispatcher evil-collection-diff-mode diff-mode track-changes
> orderless cursor-sensor treemacs-nerd-icons treemacs-evil
> treemacs-project-follow-mode treemacs treemacs-header-line
> treemacs-compatibility treemacs-mode treemacs-interface
> treemacs-persistence treemacs-filewatch-mode treemacs-follow-mode
> treemacs-rendering treemacs-annotations treemacs-async
> treemacs-workspaces treemacs-dom treemacs-visuals
> treemacs-fringe-indicator treemacs-faces treemacs-icons treemacs-scope
> treemacs-themes treemacs-core-utils pfuture inline hl-line ht
> treemacs-logging treemacs-customization treemacs-macros s dash
> evil-collection-dashboard dashboard dashboard-widgets mule-util ffap
> private recentf tree-widget evil-collection-which-key which-key
> treesit-auto treesit evil-collection-vertico vertico
> evil-collection-unimpaired evil-collection-tabulated-list
> evil-collection-tab-bar evil-collection-so-long evil-collection-simple
> evil-collection-replace evil-collection-process-menu
> evil-collection-package-menu evil-collection-minibuffer
> evil-collection-kmacro evil-collection-info evil-collection-indent
> evil-collection-ibuffer evil-collection-help evil-collection-grep
> evil-collection-elisp-mode evil-collection-eldoc evil-collection-custom
> evil-collection-corfu evil-collection-compile evil-collection-comint
> evil-collection-buff-menu evil-matchit evil-matchit-evil-setup
> evil-matchit-sdk semantic/lex semantic/fw mode-local find-func
> evil-surround evil-collection annalist evil evil-integration evil-maps
> evil-commands reveal evil-jumps evil-command-window evil-types
> evil-search evil-ex evil-macros evil-repeat evil-states evil-core
> evil-common thingatpt rect evil-vars edmacro kmacro pulsar pulse color
> undo-tree diff queue async-bytecomp async persp-mode-project-bridge
> persp-mode ligature lemacs-init nerd-icons-ibuffer nerd-icons-completion
> nerd-icons nerd-icons-faces nerd-icons-data nerd-icons-data-mdicon
> nerd-icons-data-flicon nerd-icons-data-codicon nerd-icons-data-devicon
> nerd-icons-data-sucicon nerd-icons-data-wicon nerd-icons-data-faicon
> nerd-icons-data-powerline nerd-icons-data-octicon
> nerd-icons-data-pomicon nerd-icons-data-ipsicon ibuffer-project project
> ibuf-ext ibuffer ibuffer-loaddefs comp comp-cstr cl-extra help-mode
> warnings comp-run comp-common rx flymake-eslint marginalia
> corfu-popupinfo corfu cape compat server pinentry
> modus-vivendi-tinted-theme modus-themes cus-edit pp wid-edit time
> auth-source-pass bind-key xt-mouse winner savehist saveplace
> pixel-scroll cua-base autorevert filenotify desktop frameset so-long
> delsel grep compile text-property-search comint ansi-osc ansi-color ring
> cus-load 0x0-autoloads add-node-modules-path-autoloads
> apheleia-autoloads easy-mmode breadcrumb-autoloads cape-autoloads
> catppuccin-theme-autoloads colorful-mode-autoloads corfu-autoloads
> dashboard-autoloads diff-hl-autoloads dired-subtree-autoloads
> dired-hacks-utils-autoloads diredfl-autoloads docker-autoloads
> dockerfile-mode-autoloads doom-modeline-autoloads dotenv-mode-autoloads
> eat-autoloads eldoc-box-autoloads elfeed-tube-mpv-autoloads
> elfeed-tube-autoloads aio-autoloads elfeed-autoloads ellama-autoloads
> embark-consult-autoloads consult-autoloads embark-autoloads
> emms-autoloads erc-hl-nicks-autoloads
> eshell-syntax-highlighting-autoloads eshell-z-autoloads
> evil-collection-autoloads annalist-autoloads evil-matchit-autoloads
> evil-surround-autoloads exec-path-from-shell-autoloads
> expand-region-autoloads flymake-eslint-autoloads forge-autoloads
> closql-autoloads emacsql-autoloads geiser-guile-autoloads
> geiser-autoloads gh-md-autoloads ghub-autoloads
> git-timemachine-autoloads handlebars-mode-autoloads hl-todo-autoloads
> ibuffer-project-autoloads indent-guide-autoloads js-pkg-mode-autoloads
> khalel-autoloads kkp-autoloads ligature-autoloads llm-autoloads
> lsp-tailwindcss-autoloads lsp-mode-autoloads magit-stats-autoloads
> marginalia-autoloads markdown-mode-autoloads modus-themes-autoloads
> mpv-autoloads nerd-icons-completion-autoloads nerd-icons-corfu-autoloads
> nerd-icons-dired-autoloads nerd-icons-ibuffer-autoloads
> olivetti-autoloads orderless-autoloads org-modern-autoloads
> org-ros-autoloads package-lint-autoloads
> persp-mode-project-bridge-autoloads persp-mode-autoloads
> pinentry-autoloads plz-event-source-autoloads plz-media-type-autoloads
> plz-autoloads polymode-autoloads proced-narrow-autoloads
> pulsar-autoloads pyvenv-autoloads rainbow-delimiters-autoloads
> ready-player-autoloads sass-mode-autoloads haml-mode-autoloads
> scss-mode-autoloads shrink-path-autoloads f-autoloads sly-autoloads
> smartparens-autoloads spinner-autoloads sudo-edit-autoloads
> tablist-autoloads tempel-collection-autoloads tempel-autoloads
> transmission-autoloads transpose-frame-autoloads treemacs-evil-autoloads
> evil-autoloads goto-chg-autoloads treemacs-icons-dired-autoloads
> treemacs-magit-autoloads magit-autoloads pcase transient-autoloads
> magit-section-autoloads llama-autoloads treemacs-nerd-icons-autoloads
> treemacs-autoloads cfrs-autoloads posframe-autoloads ht-autoloads
> hydra-autoloads lv-autoloads pfuture-autoloads ace-window-autoloads
> avy-autoloads s-autoloads dash-autoloads nerd-icons-autoloads
> treepy-autoloads treesit-auto-autoloads typescript-mode-autoloads
> undo-tree-autoloads queue-autoloads vc-msg-autoloads popup-autoloads
> vdirel-autoloads helm-autoloads helm-core-autoloads async-autoloads
> org-vcard-autoloads verb-autoloads vertico-autoloads web-mode-autoloads
> wfnames-autoloads wgrep-autoloads info with-editor-autoloads
> xclip-autoloads xterm-color-autoloads yaml-autoloads yaml-mode-autoloads
> yeetube-autoloads package browse-url url url-proxy url-privacy
> url-expand url-methods url-history url-cookie generate-lisp-file
> url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq
> eieio eieio-core cl-macs icons password-cache json subr-x map byte-opt
> gv bytecomp byte-compile url-vars cl-loaddefs cl-lib early-init rmc
> iso-transl tooltip cconv eldoc paren electric uniquify ediff-hook
> vc-hooks lisp-float-type elisp-mode mwheel term/pgtk-win pgtk-win
> term/common-win touch-screen pgtk-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
> theme-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 dbusbind inotify
> dynamic-setting system-font-setting font-render-setting cairo gtk pgtk
> lcms2 multi-tty move-toolbar make-network-process native-compile emacs)
>
> Memory information:
> ((conses 16 748467 190575) (symbols 48 29921 19)
>  (strings 32 214960 6008) (string-bytes 1 8549689) (vectors 16 52457)
>  (vector-slots 8 1316547 238197) (floats 8 1275 55)
>  (intervals 56 4166 738) (buffers 992 14))
>
>
>
>