Is a parallel build of Maxima (using make -j N), OK?



On 27 November 2010 13:53, Raymond Toy <toy.raymond at gmail.com> wrote:
> On 11/26/10 5:46 PM, Dr. David Kirkby wrote:
>> If one sets something like
>>
>> MAKE="make -j 20"
>>
>> to build maxima with 20 threads in paralllel, is this safe? With well
>> written Makefiles this is, but unless care was taken to make sure
>> there are no race conditions, this can be unwise.
>>
>> Does anyone know the status of the Maxima makefile?
> FWIW, I tried "make -j 32" just a couple of days ago. ?This worked, I
> think, and did speed up compilation a little on my Core 2 Duo machine
> since I normally do builds with clisp, ccl, cmucl, and ecl. ?Perhaps I
> was lucky.
>
> I don't think anyone tries to make sure parallel builds work. ?That was
> the first time for me to try that.
>
> Ray

I built it about 10 times without failure. Some of the tests including
inserting a random delay before gcc was called, to try to detect race
conditions. Nut it actually failed on a test where there was no delay.

Unless people try to make parallel builds work, they will probably not
work! One neads to be a lot more careful in listing the dependencies
in the file used to create the makefile.

See:
http://www.cmcrossroads.com/ask-mr-make/7483--the-pitfalls-and-benefits-of-gnu-make-parallelization


Dave