#9497: Fix the Singular spkg so it can take advantage of building in parallel
----------------------------------------------+-----------------------------
Reporter: was | Owner: GeorgSWeber
Type: enhancement | Status: needs_review
Priority: minor | Milestone: sage-4.7
Component: build | Keywords: singular
Author: Martin Albrecht, John Palmieri | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
----------------------------------------------+-----------------------------
Comment(by drkirkby):
John,
I thought the parallel builds of Singular 3-1-1-4 were fixed on #9946 -
where I tested a parallel build of Singular 3-1-1-4 for 500 times, with
no failures. I'm a bit puzzled why parallel builds need to be enabled in
this package, when they should have been done on #9946
The problem with builds that break in parallel is that they are very hard
to test properly. Just because something builds a few times, does not mean
it will build 100% of the time. Failures tend to be random in nature.
Martin Albrecht has tested this 16 times, which I don't think is enough
really. It took me more than 16 builds of Sage to find that
{{{boehm_gc-7.1.p6}}} has a race condition.
http://www.mail-archive.com/[email protected]/msg42997.html
BTW,
if you use my machine hawk, and change your path to use the compilers:
{{{
/usr/local/gcc-4.5.0-delayed/bin/gcc
/usr/local/gcc-4.5.0-delayed/bin/g++
/usr/local/gcc-4.5.0-delayed/bin/gfortran
}}}
then set an environment variable
{{{
MAX_COMPILER_DELAY_IN_MICRO_SECONDS
}}}
to something like 100000, then it will pause a random amount of time (in
the range 0 to 100 ms) before invoking the compiler. These random delays
will tend to help induce race problems, as it changes the order in which
files are built. The file
{{{
/usr/local/gcc-4.5.0-delayed/bin/gcc
}}}
is just a shell script, which calls something to pause for a random time
before actually compiling the C file.
{{{
#!/bin/sh
/usr/local/bin/randomsleep
/usr/local/gcc-4.5.0/bin/gcc "$@"
drkirkby@hawk:~$
}}}
In fact, I use {{{/usr/local/gcc-4.5.0-delayed/bin/gcc}}} all the time,
though I rarely have {{{MAX_COMPILER_DELAY_IN_MICRO_SECONDS}}} set.
Perhaps you can clarify what has changed here since #9946 - I'm too tired
to look now. It will have to wait until I have had some sleep.
The changes from p5 to p6 look fine, but I've not investigated what has
changed between #9946 and the p5 you have created.
Dave
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9497#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.