#9780: Check for static libraries libatlas.a, libcblas.a, libf77blas and
liblapack.a, so SAGE_ATLAS_LIB works
------------------------+---------------------------------------------------
   Reporter:  drkirkby  |       Owner:  drkirkby  
       Type:  defect    |      Status:  needs_work
   Priority:  major     |   Milestone:  sage-4.6  
  Component:  solaris   |    Keywords:            
     Author:            |    Upstream:  N/A       
   Reviewer:            |      Merged:            
Work_issues:            |  
------------------------+---------------------------------------------------
Changes (by drkirkby):

  * status:  needs_review => needs_work


Old description:

> As noted at #9356, a change which was made to ensure {{{SAGE_ATLAS_LIB}}}
> worked on Solaris, is not a complete solution. On Solaris, no shared
> library {{{liblapack.so}}} is created, as for reasons unknown, the shared
> library causes problems on Solaris.
>
> As noted [http://groups.google.com/group/sage-
> devel/msg/6f064c4120fe2f65?hl=en here] by François Bissey, liblapack.so
> often fails to build. (I assume François means on Linux). He also notes
> that {{{libcblas.so}}}, though I think he means {{{libf77blas.so}}}.
> Basically building the shared libraries is problematic in ATLAS, with
> different issues affecting Solaris, Linux and FreeBSD. In contrast, the
> static libraries are relieably built.
>
> The changes to this code only affect the file {{{system_atlas.py}}} and
> make that test for the 4 static libraries and ignore the four shared
> libraries. Assuming the static libraries exist, links are made.
>
> It was also necessary to update the messages to indicate that static
> libraries are needed.
>
> It should be noted that:
>  * On OS X, only two shared libraries are built
>  * Mathematica 7 ships with only static libraries related to ATLAS and no
> shared libraries.
>
> It may be wisest to simply not build the shared libraries at all, but
> that can be left for another ticket.
>
> An updated package can be found at
>
> http://boxen.math.washington.edu/home/kirkby/patches/atlas-3.8.3.p15.spkg
>

> Dave

New description:

 As noted at #9356, a change which was made to ensure {{{SAGE_ATLAS_LIB}}}
 worked on Solaris, is not a complete solution. On Solaris, no shared
 library {{{liblapack.so}}} is created, as for reasons unknown, the shared
 library causes problems on Solaris.

 As noted [http://groups.google.com/group/sage-
 devel/msg/6f064c4120fe2f65?hl=en here] by François Bissey, liblapack.so
 often fails to build. (I assume François means on Linux). He also notes
 that {{{libcblas.so}}}, though I think he means {{{libf77blas.so}}}.
 Basically building the shared libraries is problematic in ATLAS, with
 different issues affecting Solaris, Linux and FreeBSD. In contrast, the
 static libraries are relieably built.

 The changes to this code only affect the file {{{system_atlas.py}}} and
 make that test for the 4 static libraries and ignore the four shared
 libraries. Assuming the static libraries exist, links are made.

 It was also necessary to update the messages to indicate that static
 libraries are needed.

 It should be noted that Mathematica 7 ships with only static libraries
 related to ATLAS and no shared libraries. Yet Wolfram Research primarily
 use shared libraries.

 It may be wisest to simply not build the shared libraries at all, but that
 can be left for another ticket.

 An updated package can be found at

 http://boxen.math.washington.edu/home/kirkby/patches/atlas-3.8.3.p15.spkg


 Dave

--

Comment:

 Replying to [comment:7 jhpalmieri]:
 > One small correction: on OS X, I don't think anything gets installed:
 the system's ATLAS gets used instead.  Notice these lines in {{{spkg-
 install-script}}}:
 > {{{
 > if [ `uname` = "Darwin" ]; then
 >     exit 0
 > fi
 > }}}
 > These happen before the call to {{{make_correct_shared.sh}}}, so any
 lines in the latter script actually have no effect on Darwin, as far as I
 can tell.

 Thank you John,

 In view of this, I'll delete those lines related to OS X in
 {{{make_correct_shared.sh}}}, as they only add confusion.


 The version I created that linked to the static libraries in /ATLAS on
 Solaris 10 SPARC ({{{t2.math}}})

 {{{
 kir...@t2:32 ~/t2/32/sage-4.5.3.rc0/local/lib$ ls -l | grep ATLAS
 lrwxrwxrwx   1 kirkby   1093          21 Sep  6 16:56 libatlas.a ->
 /ATLAS/lib/libatlas.a
 lrwxrwxrwx   1 kirkby   1093          21 Sep  6 16:56 libcblas.a ->
 /ATLAS/lib/libcblas.a
 lrwxrwxrwx   1 kirkby   1093          23 Sep  6 16:56 libf77blas.a ->
 /ATLAS/lib/libf77blas.a
 lrwxrwxrwx   1 kirkby   1093          22 Sep  6 16:56 liblapack.a ->
 /ATLAS/lib/liblapack.a
 }}}

 failed one doc test

 {{{
 The following tests failed:

         sage -t  -long devel/sage/sage/parallel/decorate.py # 1 doctests
 failed
 ----------------------------------------------------------------------
 Total time for all tests: 11326.4 seconds
 }}}

 but the system had run out of swap space, as shown in the system logs. I
 added some swap space, then the test passed:

 {{{
 kir...@t2:32 ~/t2/32/sage-4.5.3.rc0$ ./sage -t  -long
 devel/sage/sage/parallel/decorate.py
 sage -t -long "devel/sage/sage/parallel/decorate.py"
          [39.6 s]

 ----------------------------------------------------------------------
 All tests passed!
 Total time for all tests: 39.8 seconds
 }}}

 It also built OK on Linux ({{{sage.math}}}), though I've not run the
 doctests on that yet.

 I'm marking this as "needs work" as I want to remove the erroneous
 information about OS X that exists in  {{{make_correct_shared.sh}}} and
 probably in {{{SPKG.txt too}}}.

 It's very tempting to rename {{{make_correct_shared.sh}}} to something
 like {{{occasionally_make_correct_shared.sh}}} !!

 Dave

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