Subject: 30.0.91; Emacs 30 build fails on Ubuntu 24.04
From: Mark Grosen <[email-masked]>
To: [email-masked]
Date: Sat, 21 Sep 2024 14:52:45 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Building Emacs 30.0.91 and later on Ubuntu 24.04 fails with a
"Pure Lisp overflowed" error. To workaround this issue, I used
the following build steps:

make bootstrap MYCPPFLAGS='-DSYSTEM_PURESIZE_EXTRA=200000'
./configure
make MYCPPFLAGS='-DSYSTEM_PURESIZE_EXTRA=400000'

Note that the 'bootstrap' build required a smaller extra size
on my system.

With these changes, the build succeeded and Emacs appears to
function normally. This was required on the current emacs-30
branch.

In GNU Emacs 30.0.91 (build 2, x86_64-pc-linux-gnu, GTK+ Version
 3.24.41, cairo version 1.18.0) of 2024-09-21 built on sam
Repository revision: c1f2501f55d7454222389244512f732ac5e778b4
Repository branch: mg-emacs-30
System Description: Ubuntu 24.04.1 LTS

Configured using:
 'configure --with-pgtk --with-imagemagick --with-native-compilation
 --with-tree-sitter --without-compress-install --with-webp
 --prefix=/home/mark/emacs'

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
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  paredit-mode: t
  display-battery-mode: t
  doom-modeline-mode: t
  popper-echo-mode: t
  popper-mode: t
  which-key-mode: t
  global-corfu-mode: t
  corfu-mode: t
  all-the-icons-completion-mode: t
  marginalia-mode: t
  vertico-multiform-mode: t
  vertico-mode: t
  recentf-mode: t
  windmove-mode: t
  jinx-mode: t
  override-global-mode: t
  pyvenv-tracking-mode: t
  minions-mode: t
  amx-mode: t
  savehist-mode: t
  server-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  context-menu-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  minibuffer-regexp-mode: 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/mark/.emacs.d/elpa/transient-20240918.1138/transient hides
/home/mark/emacs/share/emacs/30.0.91/lisp/transient
/home/mark/.emacs.d/elpa/ef-themes-1.8.0/theme-loaddefs hides
/home/mark/emacs/share/emacs/30.0.91/lisp/theme-loaddefs

Features:
(shadow sort mail-extr emacsbug mule-util minibuf-eldef facemenu
two-column flyspell ispell org-modern oc-basic ol-eww ol-rmail ol-mhe
ol-irc ol-info ol-gnus nnselect gnus-art mm-uu mml2015 mm-view mml-smime
smime gnutls dig gnus-sum gnus-group gnus-undo gnus-start gnus-dbus
gnus-cloud nnimap nnmail mail-source utf7 nnoo gnus-spec gnus-int
gnus-range message sendmail yank-media rfc822 mml mml-sec mm-decode
mm-bodies mm-encode mailabbrev gmm-utils mailheader gnus-win ol-docview
doc-view jka-compr ol-bibtex bibtex ol-bbdb ol-w3m ol-doi org-link-doi
org-journal org-crypt epa derived cal-iso paredit battery doom-modeline
doom-modeline-segments doom-modeline-env doom-modeline-core shrink-path
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 init popper-echo popper
tmr ellama vc vc-dispatcher eww url-queue mm-url gnus nnheader gnus-util
mail-utils range llm-ollama llm-provider-utils llm-request-plz url-http
url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums
mail-prsvr url-gw plz-event-source plz-media-type plz llm cus-edit
cus-load casual-suite casual-symbol-overlay
casual-symbol-overlay-settings casual-symbol-overlay-version
casual-symbol-overlay-utils symbol-overlay casual-agenda
casual-agenda-settings casual-agenda-version casual-agenda-utils
org-clock org-agenda casual-bookmarks casual-bookmarks-settings
casual-bookmarks-version casual-bookmarks-utils casual-avy
casual-avy-version gptel-org the-org-mode-expansions embark-org
org-element org-persist org-id org-refile org-element-ast avl-tree org
ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-src sh-script
smie executable ob-comint org-pcomplete org-list org-footnote org-faces
org-entities ob-emacs-lisp ob-core ob-eval org-cycle org-table ol
org-fold org-fold-core org-keys oc org-loaddefs cal-menu calendar
cal-loaddefs org-version org-compat org-macs display-line-numbers
casual-re-builder casual-re-builder-settings casual-re-builder-version
casual-re-builder-utils casual-info casual-info-settings
casual-info-utils casual-info-variables casual-info-version
casual-ibuffer casual-ibuffer-filter ibuf-ext casual-ibuffer-settings
casual-ibuffer-version casual-ibuffer-utils ibuffer ibuffer-loaddefs
casual-isearch casual-isearch-settings casual-isearch-version
casual-isearch-utils casual-dired casual-dired-settings
casual-dired-version casual-dired-sort-by casual-dired-utils
casual-dired-variables elint checkdoc lisp-mnt image-dired
image-dired-tags image-dired-external image-dired-util image-mode exif
wdired dired-x casual-calc casual-calc-symbolic casual-calc-variables
casual-calc-algebra calcalg3 casual-calc-financial casual-calc-stack
calc-undo calc-yank casual-calc-trail casual-calc-graphics
casual-calc-fileio calc-vec casual-calc-vector casual-calc-predicates
casual-calc-units casual-calc-trigonometric casual-calc-time
casual-calc-settings casual-calc-angle-measure casual-calc-rounding
casual-calc-random calc-comb casual-calc-logarithmic
casual-calc-conversion casual-calc-complex casual-calc-binary
casual-calc-radix casual-calc-labels casual-calc-version
casual-calc-utils casual-lib casual-lib-version casual-calc--calc
calc-math calc-ext calc calc-loaddefs rect calc-macs dictionary
external-completion dictionary-connection dwim-shell-commands proced
dwim-shell-command view dired-aux helpful cc-langs trace cl-print edebug
debug backtrace info-look help-fns radix-tree elisp-refs relint osm
ready-player xr secrets dbus gptel-anthropic gptel gptel-openai devdocs
shr pixel-fill kinsoku url-file svg xml dom which-key lsp-pyright
lsp-mode lsp-protocol network-stream puny nsm markdown-mode noutline
outline inline imenu ht filenotify f ewoc epg rfc6068 epg-config
tempel-collection tempel corfu orderless all-the-icons-completion
marginalia vertico-multiform vertico easy-kill recentf tree-widget
wid-edit buffer-move windmove expand-region yaml-mode-expansions
text-mode-expansions cc-mode-expansions python-el-fgallina-expansions
er-basic-expansions expand-region-core expand-region-custom dumb-jump
popup xref wgrep grep deadgrep spinner embark-consult consult embark
ffap avy flycheck-vale let-alist flycheck powerthesaurus jeison dash
jinx vterm-toggle tramp-sh vterm bookmark pp tramp trampver
tramp-integration tramp-message tramp-compat xdg parse-time iso8601
time-date tramp-loaddefs face-remap color advice find-func vterm-module
term/xterm xterm yaml-mode scad-mode cc-mode cc-fonts cc-guess cc-menus
cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs cmake-mode
thingatpt rst compile text-property-search make-mode
use-package-bind-key bind-key easy-mmode edit-indirect cl pyvenv eshell
esh-cmd generator esh-ext esh-opt esh-proc esh-io esh-arg esh-module
esh-module-loaddefs esh-util files-x printing ps-print ps-print-loaddefs
lpr keycast all-the-icons all-the-icons-faces data-material
data-weathericons data-octicons data-fileicons data-faicons
data-alltheicons minions amx comp comp-cstr warnings comp-run
comp-common s re-builder finder-inf savehist ef-maris-dark-theme
ef-themes server pixelblaze websocket bindat ediff ediff-merg ediff-mult
ediff-wind ediff-diff ediff-help ediff-init ediff-util mp-mode transient
dired dired-loaddefs python rx project treesit term disp-table shell
pcomplete ehelp comint ansi-osc ansi-color use-package-ensure
use-package-core mg all-the-icons-completion-autoloads
all-the-icons-dired-autoloads all-the-icons-autoloads amx-autoloads
binky-autoloads buffer-move-autoloads cargo-autoloads
casual-suite-autoloads casual-agenda-autoloads
casual-bookmarks-autoloads casual-re-builder-autoloads
casual-info-autoloads casual-avy-autoloads casual-ibuffer-autoloads
casual-dired-autoloads casual-isearch-autoloads casual-calc-autoloads
casual-symbol-overlay-autoloads casual-lib-autoloads
cmake-mode-autoloads consult-dir-autoloads consult-projectile-autoloads
corfu-autoloads dap-mode-autoloads bui-autoloads deadgrep-autoloads
define-word-autoloads devdocs-autoloads doom-modeline-autoloads
dumb-jump-autoloads dwim-shell-command-autoloads easy-kill-autoloads
edit-indirect-autoloads ef-themes-autoloads ellama-autoloads
embark-consult-autoloads consult-autoloads embark-autoloads
expand-region-autoloads flycheck-vale-autoloads gnuplot-autoloads
gptel-autoloads helpful-autoloads elisp-refs-autoloads iedit-autoloads
indent-bars-autoloads jinx-autoloads js2-mode-autoloads
kconfig-mode-autoloads keycast-autoloads llm-autoloads
lsp-docker-autoloads lsp-pyright-autoloads lsp-treemacs-autoloads
lsp-ui-autoloads lsp-mode-autoloads lua-mode-autoloads magit-autoloads
pcase magit-section-autoloads marginalia-autoloads
markdown-preview-mode-autoloads minions-autoloads nerd-icons-autoloads
nov-autoloads esxml-autoloads kv-autoloads orderless-autoloads
org-journal-autoloads org-modern-autoloads osm-autoloads
package-lint-autoloads paredit-autoloads pixelblaze-autoloads
plz-autoloads popper-autoloads popup-autoloads format-spec edmacro
kmacro compat cl-extra help-mode hydra ring lv jeison-autoloads
projectile-autoloads pyvenv-autoloads ready-player-autoloads
relint-autoloads rustic-autoloads flycheck-autoloads rust-mode-autoloads
scad-mode-autoloads shrink-path-autoloads f-autoloads soccer-autoloads
spinner-autoloads sx-autoloads markdown-mode-autoloads
symbol-overlay-autoloads tempel-collection-autoloads tempel-autoloads
tmr-autoloads transient-autoloads treemacs-autoloads cfrs-autoloads
posframe-autoloads ht-autoloads hydra-autoloads lv-autoloads
pfuture-autoloads ace-window-autoloads avy-autoloads s-autoloads
dash-autoloads vertico-autoloads vterm-toggle-autoloads vterm-autoloads
web-mode-autoloads web-server-autoloads websocket-autoloads
wgrep-autoloads info with-editor-autoloads xr-autoloads
xterm-color-autoloads yaml-autoloads yaml-mode-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 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 893887 413249) (symbols 48 60492 53) (strings 32 245825 85410)
 (string-bytes 1 7249550) (vectors 16 97247) (vector-slots 8 1134736 131249)
 (floats 8 1560 385) (intervals 56 958 287) (buffers 992 12))