#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.