#10508: Update ATLAS to stable version 3.10
-------------------------------------------------------+--------------------
Reporter: vbraun | Owner: tbd
Type: enhancement | Status:
needs_work
Priority: major | Milestone:
sage-5.4
Component: packages | Resolution:
Keywords: ATLAS | Work issues:
Report Upstream: Reported upstream. No feedback yet. | Reviewers:
Benjamin Jones
Authors: Volker Braun | Merged in:
Dependencies: #13160 | Stopgaps:
-------------------------------------------------------+--------------------
Comment (by GeorgSWeber):
Replying to [comment:202 kcrisman]:
> So who was right?
> {{{
> Dasher-03:~/Desktop/sage-4.8/local/lib/python/site-packages/cvxopt
student$ otool -L lapack.so
> lapack.so:
> /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 88.1.12)
> /Users/student/Desktop/sage-4.8/local/lib/libgsl.0.dylib
(compatibility version 17.0.0, current version 17.0.0)
> /Users/student/Desktop/sage-4.8/local/lib/libgslcblas.0.dylib
(compatibility version 1.0.0, current version 1.0.0)
> /usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 1.0.0)
> }}}
> This is with Sage 4.8, the last working binary I have on this box. I
foolishly deleted all newer ones in the meantime. Sage 5.3 works on it,
of course - in fact, I just used the app bundle yesterday - but it would
take some time to start a fresh 5.3 or 5.4.beta0.
It is not necessary to "start a fresh 5.3 or 5.4.beta0". Instead, one can
go to some Sage OS X PPC download page,
http://boxen.math.washington.edu/home/sagemath/sage-
mirror/osx/powerpc/index.html , download from there e.g. "sage-5.3-OSX-
32bit-10.4-PowerMacintosh-Darwin.dmg", and look inside --- on any OS X
system/version. The result is ... surprising, to say the least:
{{{
sagebuilder$ otool -L lapack.so
lapack.so:
/Users/buildbot/build/sage/moufang-1/moufang_binary/build/sage-5.3/local/lib/libgfortran.3.dylib
(compatibility version 4.0.0, current version 4.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 1.0.0)
/Users/buildbot/build/sage/moufang-1/moufang_binary/build/sage-5.3/local/lib/libgcc_s.1.dylib
(compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 88.1.12)
}}}
The two occurences of "libgcc_s.1.dylib" are somewhat fishy, but
apparently nothing new, and I'd vote for that topic being a complete
different story, and not to be treated here any further. The library
"libSystem.B.dylib" is the C runtime on OS X, AFAIK. But then only
libfortran.dylib --- and no trace whatsoever of any *las.dylib?!?!? For
comparison, on OS X 10.4 Intel, for Sage-5.3.rc1 the analoguous result is:
{{{
sagebuilder$ otool -L lapack.so
lapack.so:
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
(compatibility version 1.0.0, current version 192.15.0)
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
(compatibility version 1.0.0, current version 192.15.0)
/Users/Shared/sage/sage-5.3.rc1/local/lib/libgfortran.3.dylib
(compatibility version 4.0.0, current version 4.0.0)
/usr/lib/libgcc_s.1.dylib (compatibility version 1.0.0, current
version 1.0.0)
/Users/Shared/sage/sage-5.3.rc1/local/lib/libgcc_s.1.dylib
(compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 88.3.11)
}}}
I would conclude that it is problematic, that the OS X 10.4 PPC
linker/loader builds at all the current cvxopt-1.1.5 spkg contained in
Sage-5.3, producing results with such incomplete dependency information.
Looking closely on the command line, it is told to use "-undefined
dynamic_lookup" (which seems to save us at runtime later, however only by
chance, I guess), so essentially it does what it should --- but then, why
does that linker/loader under some very comparable circumstances error out
with "/usr/bin/ld: can't locate file for: -lblas"???
Of the different alternatives to come to an end with this ticket here
(which is about the new atlas-3.10 spkg), I like the "link idea" (see the
comment 191 from Francois), i.e. the atlas spkg, generally on OS X (!),
doing no more and no less than creating links in $SAGE_LOCAL/lib/ --- the
same as exist in /usr/lib/, at least on OS X 10.4 Intel. More precisely,
three links pointing to the "framework" blas library:
{{{
libatlas.dylib ->
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
libblas.dylib ->
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
libcblas.dylib ->
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
}}}
and one more link for the "framework" lapack library (all link targets
being absolute, not relative):
{{{
liblapack.dylib ->
/System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libLAPACK.dylib
}}}
A quick check shows that at least on OS X Intel, the absolute path to
these framework libraries is the same for OS X 10.4, 10.5, 10.6, and 10.7
(I can't check for OS X 10.8), and even on OS X 10.7.3, there still is
only one version "A", which is the "Current" version of that framework.
This change, for all OS X variants, would be a bit intrusive. But to me,
it seems to bring the OS X world a bit closer to the situation on the
other OSes. I offer to test a respectively updated atlas spkg on the OS X
systems/versions I have access to. (In the "patches" subdir, one also
might wish to delete the "edit" duplicates of two files, those with a
tilde at the end of their file name.)
Thoughts?
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10508#comment:205>
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.