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