#5310: Add an spkg to Sage for Msieve factoring program
-------------------------------------------------------------------------------------+
   Reporter:  jblakeslee                                                        
     |          Owner:                       
       Type:  enhancement                                                       
     |         Status:  needs_work           
   Priority:  major                                                             
     |      Milestone:  sage-4.8             
  Component:  interfaces                                                        
     |       Keywords:  msieve, factorization
Work_issues:  does not work on 32-bit, Solaris not handled well, no spkg-check 
file  |       Upstream:  N/A                  
   Reviewer:  David Kirkby, Leif Leonhardy                                      
     |         Author:  André Apitzsch       
     Merged:                                                                    
     |   Dependencies:                       
-------------------------------------------------------------------------------------+
Changes (by drkirkby):

  * work_issues:  does not work on 32-bit => does not work on 32-bit,
                  Solaris not handled well, no spkg-check
                  file


Comment:

 The fails on my !OpenSolaris box, and I can see will fail on any sort of
 Solaris system. These lines:

 {{{
 if [ "`uname -m`" = "SunOS" ]; then
     $MAKE generic ECM=1
 fi
 }}}

 make no sense, as the -m option to 'uname' is defined by POSIX to return
 the hardware, not the operating system. See:

 http://pubs.opengroup.org/onlinepubs/009695399/utilities/uname.html

 So it produces:

 {{{
 drkirkby@hawk:~$ uname -m
 i86pc
 }}}

 and on a SPARC would produce something different, like sun4m, sun4u, sun4v
 and possibly something else for the newer processors. On my old SPARC

 {{{
 -bash-3.00$ uname -m
 sun4u
 }}}


 Rather than invoke the external program 'uname', it is better to use the
 sage variable UNAME. The following is the most robust way of testing a
 variable, which will work for any shell, and pretty much any
 circumstances.

 {{{
 if [ "x$UNAME" = xSunOS ] ; then
 }}}

 There's nothing to build a 64-bit version on Solaris - the SAGE64 variable
 is not used.

 I also got another failure:

 {{{
 ****************************************************
 patching file Makefile
 Error building Msieve -- no file msieve was produced.

 real    0m0.022s
 user    0m0.006s
 sys     0m0.015s
 sage: An error occurred while installing msieve-1.49.p0
 }}}

 I suspect this is picking up the Solaris version of patch, not the GNU one
 which is part of Sage, though I've never seen this issue before.

 Also, this seems a bit pointless

 {{{
 $CP msieve "$SAGE_LOCAL"/bin/
 }}}

 We should just call 'cp' directly. Variables are useful for programs like
 "make", but not for a simple copy like this.

 The whole of spkg-install is a bit of a mess. It basically needs a total
 re-write.

 Also, there is no spkg-check file.

 Dave

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