[gambit-list] Make: Out of Memory error

Marc Feeley feeley at iro.umontreal.ca
Fri Jul 10 11:39:30 EDT 2009


On 10-Jul-09, at 9:52 AM, Daniel Jomphe wrote:

> Ok, using the FSF's gcc 4.4, I was able to build (gambit and) jazz.
> Apple's gcc 4.2 and 4.0 were the culprits here.
>
> FSF's gcc often reports it doesn't recognize '-no-cpp-precomp', but
> that's all.
>
> Making jazz eats up to ~1.5G of memory, and takes 4m45s on my
> late-2007 iMac (2.4 GHz).
>
> Making jedi eats up to ~1.5G, and takes:
>  real	14m39.396s
>  user	16m0.217s
>  sys 	1m39.301s
>
> Both makes are asked to use 2 parallel jobs, although only the jedi
> one seems to use the second core.
>
> ...You guys seem to have very fast MacBook Pros :)

If you want to speed the compilation then use a Gambit that was  
configured with no options (except for --prefix=... and the like), i.e.

    % ./configure

In this case the C files generated by the Gambit compiler will be  
compiled in "multiple host" mode, which means that each Scheme  
procedure will be compiled as a C function (i.e. the C compiler will  
have multiple (small) C functions to compile).  If you specify -- 
enable-single-host then a single (large) C function will contain the  
whole group of Scheme procedures in the file.  This usually generates  
much faster code (factor of 2 is typical) but the C compiler will take  
longer and require more memory.  Unfortunately the gcc compiler has a  
time/space complexity that is not very stable over successive version  
of the compiler.  So one version of gcc may compile the code in a  
reasonable time, and the next may require so much memory that the C  
compilation fails.  Newer versions are not necessarily better.

Marc




More information about the Gambit-list mailing list