#9356: make SAGE_ATLAS_LIB work on Solaris
-------------------------------+--------------------------------------------
 Reporter:  jhpalmieri         |         Owner:  drkirkby     
     Type:  defect             |        Status:  closed       
 Priority:  minor              |     Milestone:  sage-4.5.3   
Component:  solaris            |    Resolution:  fixed        
 Keywords:                     |        Author:  John Palmieri
 Upstream:  N/A                |      Reviewer:  David Kirkby 
   Merged:  sage-4.5.3.alpha0  |   Work_issues:               
-------------------------------+--------------------------------------------

Comment(by drkirkby):

 Replying to [comment:19 fbissey]:
 > Replying to [comment:15 drkirkby]:
 >
 > > Yes, you are probably right. That's something I can address at #9780.
 In fact, I don't think there's any need to have the lapack package in
 Sage.
 >
 > The sage spkg doesn't use it. However:
 >
 >  * numpy can use it.
 >  * scipy '''requires''' it.
 >  * linbox pretends to want it. - the reality is more subtle than that.
 Which is why even so liblinbox*.so are compiled against lapack sage
 components compiled against these do not need to be linked to lapack as
 well.
 >  * R can use it.

 What's confusing me is that in the ATLAS package, in the file
 {{{make_correct_shared.sh}}} there is this line:


 {{{
         lapack_command="ld -L"$f95_dir" -L"$SAGE_LOCAL"/lib  -shared
 -soname liblapack.so -o liblapack.so  --whole-archive liblapack.a --no-
 whole-archive -lc -lm -lf95"
 }}}

 which makes a shared library {{{liblapack.so}}} from a static library
 {{{liblapack.a}}}. But the LAPACK package also creates {{{liblapack.a}}}

 Since LAPACK is listed as a dependency of ATLAS, it would appear that
 LAPACK gets built first, creates {{{liblapack.a}}}, then ATLAS overwrites
 {{{liblapack.a}}}. (Overwriting files like this is not supposed to happen
 in Sage, but if ATLAS creates a more optimised version, I can see there
 may be the logical thing to do).

 So it seems if you want to make use of a pre-existing {{{liblapack.a}}}
 from ATLAS, which means creating a symbolic link, would need to remove the
 {{{liblapack.a}}} created by LAPACK first, then create the link.
 (Otherwise, I think creating the link might fail, though I'm not sure.) I
 need to rush out, so dont have time to test that.

 Dave

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