‘guile3.0-guix’ occasionally fails to build on i686-linux: --8<---------------cut here---------------start------------->8--- [ 94%] GUILEC gnu/services/cuirass.go [ 94%] GUILEC gnu/services/cups.go GC Warning: Failed to expand heap by 8388608 bytes GC Warning: Failed to expand heap by 8388608 bytes [...] GC Warning: Failed to expand heap by 8388608 bytes GC Warning: Failed to expand heap by 8388608 bytes Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS /gnu/store/7ffcr3knh5jrj3lig4qf4fv0iws51l14-bash-minimal-5.0.7/bin/bash: line 7: 28331 Aborted XDG_CACHE_HOME=/nowhere host=i686-unknown-linux-gnu srcdir="." ./pre-inst-env /gnu/store/znlp9v4z0pda450bbsfqzppqj2m61sz9-guile-next-3.0.2/bin/guile -L "." -L "." --no-auto-compile -s "."/build-aux/compile-all.scm […] --8<---------------cut here---------------end--------------->8--- (From <https://berlin.guixsd.org/log/czsdfjykhlc4ngjdva17i4rglpnh86fl-guile3.0-guix-1.0.1-15.0984481>.) <https://berlin.guixsd.org/search?query=guile3.0-guix+system%3Ai686-linux> suggests it happens only occasionally. I suspect it’s more likely when doing ‘-j 96’ than when doing ‘-j 4’ because the former requires more memory. Ludo’.
[-- Attachment #1: Type: text/plain, Size: 288 bytes --] https://github.com/Macaulay2/M2/issues/500 says there it's the Boehm GC being configured for small memory by default. They say setting the environment variable GC_INITIAL_HEAP_SIZE (to like "50G") helps. Not sure why. Also, there's an environment variable GC_MAXIMUM_HEAP_SIZE. [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --]
Hi, Danny Milosavljevic <dannym@scratchpost.org> skribis: > https://github.com/Macaulay2/M2/issues/500 says there it's the Boehm GC being > configured for small memory by default. Hmm, weird. ‘core-updates’ is on libgc 8.x (instead of 7.x), so we’ll have to check if the same happens. > They say setting the environment variable GC_INITIAL_HEAP_SIZE (to > like "50G") helps. Not sure why. > > Also, there's an environment variable GC_MAXIMUM_HEAP_SIZE. Looks like an ugly workaround, at best. :-) Thanks for checking! Ludo’.
Hi,
Ludovic Courtès <ludo@gnu.org> skribis:
> ‘guile3.0-guix’ occasionally fails to build on i686-linux:
>
> [ 94%] GUILEC gnu/services/cuirass.go
> [ 94%] GUILEC gnu/services/cups.go
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
>
> [...]
>
> GC Warning: Failed to expand heap by 8388608 bytes
> GC Warning: Failed to expand heap by 8388608 bytes
> Too many heap sections: Increase MAXHINCR or MAX_HEAP_SECTS
> /gnu/store/7ffcr3knh5jrj3lig4qf4fv0iws51l14-bash-minimal-5.0.7/bin/bash: line 7: 28331 Aborted XDG_CACHE_HOME=/nowhere host=i686-unknown-linux-gnu srcdir="." ./pre-inst-env /gnu/store/znlp9v4z0pda450bbsfqzppqj2m61sz9-guile-next-3.0.2/bin/guile -L "." -L "." --no-auto-compile -s "."/build-aux/compile-all.scm […]
>
> (From
> <https://berlin.guixsd.org/log/czsdfjykhlc4ngjdva17i4rglpnh86fl-guile3.0-guix-1.0.1-15.0984481>.)
I believe this is fixed by the switch to Guile 3.0.4 in commit
a2991de0f44a5f4db71ddad67e914fe3344a4505 (June 2020), where ‘-O1’ uses
the new “baseline compiler”, which is much less memory-hungry.
Ludo’.