Hi,
I have to sadly report that currently the new blas infrastructure from the
science overlay is broken on at least OS X prefix. For example sage doesn't
start with the following message:
sage
----------------------------------------------------------------------
| Sage Version 4.7.2.alpha2, Release Date: 2011-08-24 |
| Type notebook() for the GUI, and license() for information. |
----------------------------------------------------------------------
**********************************************************************
* *
* Warning: this is a prerelease version, and it may be unstable. *
* *
**********************************************************************
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/IPython/ipmaker.pyc
in force_import(modname, force_reload)
61 reload(sys.modules[modname])
62 else:
---> 63 __import__(modname)
64
65
/Users/frb15/Desktop/Gentoo/usr/bin/ipy_profile_sage.py in ()
5 preparser(True)
6
----> 7 import sage.all_cmdline
8 sage.all_cmdline._init_cmdline(globals())
9
/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/all_cmdline.py
in ()
12 try:
13
---> 14 from sage.all import *
15 from sage.calculus.predefined import x
16 preparser(on=True)
/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/all.py in ()
73 from time import sleep
74
---> 75 from sage.misc.all import * # takes a while
76
77 from sage.misc.sh import sh
/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/misc/all.py
in
()
79 from func_persist import func_persist
80
---> 81 from functional import (additive_order,
82 sqrt as numerical_sqrt,
83 arg,
/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/misc/functional.py
in ()
36
37
---> 38 from sage.rings.complex_double import CDF
39 from sage.rings.real_double import RDF, RealDoubleElement
40
ImportError:
dlopen(/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/rings/complex_double.bundle,
2): Symbol not found: _cblas_caxpy
Referenced from: /Users/frb15/Desktop/Gentoo/usr/lib/libgsl.0.dylib
Expected in: dynamic lookup
The key word is dynamic lookup. On OS X most library have an install_name that
is losely speaking similar to a rpath. Library declare their install_name and
the install_name of all the libraries they depend on. But you can use "dynamic
look up" to get the kind of behavior you would expect on linux. For
some reason
switching to the new infrastructure break the dynamic look up of cblas
for gsl,
and probably scipy and other. I don't know if it is limited to python
extension
(in OS X speak bundles, on linux they appear as .so but in fact they may have
more in common with plugins).
I also don't know if it is broken on other prefix, I suspect linux
prefixes are
OK.
Francois