The new Emacs 30.1 fails to build on all of Debian's 32-bit release architectures, Intel and Arm.
The failures look a little different in each case but in all three the
string "Pure Lisp storage overflow" appears near the end of the log:
armel: https://buildd.debian.org/status/fetch.php?pkg=emacs&arch=armel&ver=1%3A30.1%2B1-1&stamp=1740392779&raw=0
armhf: https://buildd.debian.org/status/fetch.php?pkg=emacs&arch=armhf&ver=1%3A30.1%2B1-1&stamp=1740392697&raw=0
i386: https://buildd.debian.org/status/fetch.php?pkg=emacs&arch=armhf&ver=1%3A30.1%2B1-1&stamp=1740392697&raw=0
From: Sean Whitton <spwhitton@spwhitton.name>
Cc: debian-emacsen@lists.debian.org
Date: Mon, 24 Feb 2025 20:02:58 +0800
On Mon 24 Feb 2025 at 07:42pm +08, Sean Whitton wrote:
The new Emacs 30.1 fails to build on all of Debian's 32-bit release architectures, Intel and Arm.
The failures look a little different in each case but in all three the string "Pure Lisp storage overflow" appears near the end of the log:
armel: https://buildd.debian.org/status/fetch.php?pkg=emacs&arch=armel&ver=1%3A30.1%2B1-1&stamp=1740392779&raw=0
armhf: https://buildd.debian.org/status/fetch.php?pkg=emacs&arch=armhf&ver=1%3A30.1%2B1-1&stamp=1740392697&raw=0
i386: https://buildd.debian.org/status/fetch.php?pkg=emacs&arch=armhf&ver=1%3A30.1%2B1-1&stamp=1740392697&raw=0
Xiyue pointed me to #75907 -- thank you.
I can boost the BASE_PURESIZE just on Debian's builds but does it make
sense that we're hitting it sooner on 32-bit archs?
The actual use of pure space depends on the length of the file names
involved in the build, so if you build in a deeper directory, it could overflow.
Also, are you building the original release tarballs,
and only with "configure && make -jN", or are you building using some different procedure? That could also explain the overflow.
By how much do you need to enlarge to make the builds succeed?
The new Emacs 30.1 fails to build on all of Debian's 32-bit release architectures, Intel and Arm.
From: Xiyue Deng <manphiz@gmail.com>
Cc: emacs-devel@gnu.org, debian-emacsen@lists.debian.org
Date: Mon, 24 Feb 2025 16:37:53 -0800
By how much do you need to enlarge to make the builds succeed?
FTR in the log of Debian armhf buildd[1] there is a line says:
,----
| emacs:0:Pure Lisp storage overflow (approx. 4546239 bytes needed)
`----
I tested that increasing the base value to 4500000 worked on i386 (patch attached). Also tested that 4M was not large enough. Sean is also
testing 45 * 1024 * 1024 on 32-bit arm* buildds.
Though 4.5M is probably sufficient for now, I wonder whether it's
acceptable to further increase this to 5000000 to be more future proof?
On the other hand, I see there are threads on emacs-devel talking about removing pure space. Is that referring to this pure lisp storage?
From: Sean Whitton <spwhitton@spwhitton.name>
Cc: emacs-devel@gnu.org, debian-emacsen@lists.debian.org
Date: Tue, 25 Feb 2025 09:17:37 +0800
Also, are you building the original release tarballs,
We use the emacs-30.1 git tag, not tarballs, if that's relevant.
It might be relevant, yes. Does building the release tarball work
without increasing the puresize on the same architecture?
3400000->4500000 seems to do the trick, based on the error messages
asking for roughly 4.3MB.
The number it is asking for is not directly usable as BASE_PURESIZE,
because Emacs then performs all kinds of juggling with that before it determines the size of the array. See puresize.h.
From: Sean Whitton <spwhitton@spwhitton.name>
Cc: emacs-devel@gnu.org, debian-emacsen@lists.debian.org
Date: Wed, 26 Feb 2025 19:03:25 +0800
Also, are you building the original release tarballs,
We use the emacs-30.1 git tag, not tarballs, if that's relevant.
It might be relevant, yes. Does building the release tarball work
without increasing the puresize on the same architecture?
Doing a pure 'cd emacs-30.1 && make' does not reproduce the problem.
I could try to attach our build scripts to the tarball rather than to
git, but given how pure space is going away, and Fedora don't see this problem, I'm not sure it's worth the time.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 546 |
Nodes: | 16 (2 / 14) |
Uptime: | 01:36:28 |
Calls: | 10,385 |
Calls today: | 2 |
Files: | 14,057 |
Messages: | 6,416,579 |