#6503: remove the pyprocessing spkg from sage, then sort out any fallout that
results
------------------------+---------------------------------------------------
   Reporter:  was       |       Owner:  mabshoff  
       Type:  defect    |      Status:  needs_work
   Priority:  blocker   |   Milestone:  sage-4.3.2
  Component:  packages  |    Keywords:            
     Author:            |    Upstream:  N/A       
   Reviewer:            |      Merged:            
Work_issues:            |  
------------------------+---------------------------------------------------
Changes (by mvngu):

  * status:  positive_review => needs_work


Comment:

 This might not be as easy as it seems. In my merge tree, I tried removing
 the pyprocessing spkg, and edited `spkg/install` and `spkg/standard/deps`
 to get rid of the rules relating to building pyprocessing. Based on this
 tree with pyprocessing removed, I cut a source tarball and parallel
 compile (using "export MAKE='make -j4'") everything from source. Trouble
 kicks in while compiling the Sage library. Here's a relevant snippet from
 the install log:
 {{{
 Building modified file sage/ext/interpreters/wrapper_el.pyx.
 Execute 248 commands (using 4 threads)
 Traceback (most recent call last):
   File "setup.py", line 752, in <module>
     execute_list_of_commands(queue)
   File "setup.py", line 249, in execute_list_of_commands
     execute_list_of_commands_in_parallel(command_list, nthreads)
   File "setup.py", line 188, in execute_list_of_commands_in_parallel
     from processing import Pool
 ImportError: No module named processing
 sage: There was an error installing modified sage library code.


 real    0m3.261s
 user    0m2.540s
 sys     0m0.770s
 Error building new version of SAGE.
 You might try typing 'sage -ba' or write to sage-support with as much
 information as possible.

 real    0m7.376s
 user    0m5.570s
 sys     0m1.820s
 sage: An error occurred while installing sage-4.3.1.alpha0-take1
 }}}
 The build error cannot be due to the patches or updated spkg's in my merge
 tree. I also tried cutting a source tarball of my merge tree (with
 pyprocessing intact where it is), and compile everything from source. This
 went OK. Removing pyrocessing would need to wait after releasing Sage
 4.3.2.alpha0. I'm putting this back to "needs work". The likely place to
 look is the file `devel/sage-main/setup.py`, especially the following
 function:
 {{{
 #!python
 def execute_list_of_commands_in_parallel(command_list, nthreads):
     """
     INPUT:
         command_list -- a list of pairs, consisting of a
              function to call and its argument
         nthreads -- integer; number of threads to use

     OUTPUT:
         Executes the given list of commands, possibly in parallel,
         using nthreads threads.  Terminates setup.py with an exit code of
 1
         if an error occurs in any subcommand.

     WARNING: commands are run roughly in order, but of course successive
     commands may be run at the same time.
     """
     print "Execute %s commands (using %s threads)"%(len(command_list),
 min(len(command_list),nthreads))
     from processing import Pool
     p = Pool(nthreads)
     for r in p.imap(apply_pair, command_list):
         if r:
             print "Parallel build failed with status %s."%r
             sys.exit(1)
 }}}

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