#12118: Parallel build of libgpg_error is broken
------------------------+---------------------------------------------------
   Reporter:  justin    |          Owner:  GeorgSWeber  
       Type:  defect    |         Status:  needs_review 
   Priority:  major     |      Milestone:  sage-4.8     
  Component:  packages  |       Keywords:               
Work_issues:            |       Upstream:  N/A          
   Reviewer:            |         Author:  Justin Walker
     Merged:            |   Dependencies:               
------------------------+---------------------------------------------------
Changes (by newvalueoldvalue):

  * component:  build => packages
  * author:  justin => Justin Walker


Old description:

> Beginning with the first 4.8 alpha, the build will fail if the build
> system is sufficiently fast, and perhaps, with sufficiently many cores
> available.
>
> The attached log file (from a 4.8.a3 build) shows that the spkg
> libgpg_error-1.6.p3 blows up because it tries to make a directory that
> already exists.  Georg Weber (gsw') seems to have an explanation: while
> the Makefile does check to see that the file exists, if the build is
> sufficiently parallel, two checks can occur at the same time, see no
> directory, and then both try to make the directory.  Only one can
> succeed.
>
> His comment on the list that "hyperthreading" may be the problem, I
> think, is not the case.  For me, the build fails on a dual 6-core Xeon
> Mac Pro for "-j24", "-h12", and "-j8".  It succeeds with "-j4".
>
> It appears that the directories are made in a shell file, rather than a
> Makefile.  If so, the usual "-mkdir" Makefile trick won't work.  However,
> at least on Mac OS X, using "mkdir -p" will ignore failures because the
> directory exists.
>
> Is this portable across all the systems we support?  The man page implies
> that it is.

New description:

 Beginning with the first 4.8 alpha, the build will fail if the build
 system is sufficiently fast, and perhaps, with sufficiently many cores
 available.

 The attached log file (from a 4.8.a3 build) shows that the spkg
 libgpg_error-1.6.p3 blows up because it tries to make a directory that
 already exists.  Georg Weber (gsw') seems to have an explanation: while
 the Makefile does check to see that the file exists, if the build is
 sufficiently parallel, two checks can occur at the same time, see no
 directory, and then both try to make the directory.  Only one can succeed.

 His comment on the list that "hyperthreading" may be the problem, I think,
 is not the case.  For me, the build fails on a dual 6-core Xeon Mac Pro
 for "-j24", "-h12", and "-j8".  It succeeds with "-j4".

 I found an undecorated (non-macro) mkdir's in src/Makefile. I added a
 leading "-" to these, and the build succeeded (as did a subsequent
 "ptestlong").

--

Comment:

 This should be reported upstream.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12118#comment:4>
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.

Reply via email to