Ludovic Courtès skribis: > In a nutshell, Guile installs its own GMP memory allocation routines > (when ‘scm_install_gmp_memory_functions’ is true, which is the default) > so that GMP allocates via libgc. GnuTLS uses Nettle, which uses GMP, so > Nettle too ends up allocating via libgc; however, since pointers to that > memory are not scanned by libgc, they end up being reclaimed early. For the record, one option I considered is to link GnuTLS against Nettle-with-mini-GMP, whereby Nettle uses a bundled mini-GMP instead of mini-GMP. Another option is to build GnuTLS --with-nettle-mini, where GnuTLS links against a bundled mini-Nettle, instead linked against a bundled mini-GMP (!). Currently both options lead to build failures in GnuTLS: https://lists.gnutls.org/pipermail/gnutls-help/2021-February/004680.html (Package definitions attached for posterity.) Ludo’.