#9808: Upgrade numpy to 1.5.0 and scipy to 0.8
----------------------------------------------------------------------------------+
   Reporter:  maldun                                                            
  |       Owner:  maldun      
       Type:  task                                                              
  |      Status:  needs_work  
   Priority:  major                                                             
  |   Milestone:  sage-4.6    
  Component:  packages                                                          
  |    Keywords:  numpy, scipy
     Author:  Stefan Reiterer, Francois Bissey                                  
  |    Upstream:  N/A         
   Reviewer:  Karl-Dieter Crisman, David Kirkby, Leif Leonhardy, Francois 
Bissey  |      Merged:              
Work_issues:                                                                    
  |  
----------------------------------------------------------------------------------+

Comment(by drkirkby):

 Here's a recursive grep for {{{isfinite}}} in {{{/usr/include}}} on my
 !OpenSolaris machine. I've not tested the package on my !OpenSolaris
 machine, but given the results on Solaris 10, I doubt it would build.

 {{{
 drkir...@hawk:~$ ggrep -R isfinite /usr/include
 /usr/include/python2.6/pyconfig.h:/* Define to 1 if you have the
 declaration of `isfinite', and to 0 if you
 /usr/include/python2.6/pymath.h:#define Py_IS_FINITE(X) isfinite(X)
 ggrep: warning: /usr/include/gphoto2/gphoto2: recursive directory loop

 /usr/include/iso/math_c99.h:#undef      isfinite
 /usr/include/iso/math_c99.h:#define     isfinite(x)     __extension__( \
 /usr/include/iso/math_c99.h:                    { __typeof(x) __x_r = (x);
 isfinite(__x_r) && \
 /usr/include/iso/math_c99.h:#undef      isfinite
 /usr/include/iso/math_c99.h:#define     isfinite(x)
 __builtin_isfinite(x)
 }}}

 Note, there's no reference at all in {{{math.h}}} to {{{isfinite}}}. But
 when the conditions are right, the contents of
 {{{/usr/include/iso/math_c99.h}}} will get included, and so the macro
 {{{isfinite}}} will be defined.

 IMHO, the error message John got:

 {{{
 ImportError: ld.so.1: python: fatal: relocation error: file
 /home/palmieri/fulvia/numpy/sage-4.6.alpha2/local/lib/python2.6/site-
 packages/numpy/core/multiarray.so: symbol isfinite: referenced symbol not
 found
 }}}

 is related to the fact that for whatever reason, the C99 headers are not
 being included properly.

 Unless this is compiled with {{{-std=c99}}}, I doubt this will work.

 This contrasts to a Linux box (sage.math) where it looks to me that
 {{{isfinite}}} will be defined whenever {{{math.h}}} is included. That is
 just an error in my opinion, as {{{isfinite}}} was not defined until the
 C99 standard. So Linux is wrong to define it, but some software is
 assuming it's defined, and so fails when it is not.

 IMHO, the bug is in unlikely to be LAPACK or ATLAS.

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