Depois de assistir a uma palestra na HPC e fazer algumas pesquisas, tive a resposta.
Parece que o kernel associa uma certa quantidade de memória aos processos de compilação. Esse recurso ajuda em alguns casos, quando os bugs podem surgir e eles começam a alocar desnecessariamente grandes quantidades de memória. Mas, às vezes, a compilação exige mais memória do que o normal e começa a receber erros.
Depois, usando o seguinte comando, ele define uma quantidade ilimitada de memória para a compilação.
ulimit -s unlimited
Agora tudo funciona bem.
Obrigado ao @steeldriver pelas perguntas extras.