Gentoo Archives: gentoo-science

From: fbissey@××××××××××××.nz
To: gentoo-science@l.g.o
Subject: [gentoo-science] new blas infrastructure on OS X prefix
Date: Fri, 09 Sep 2011 02:56:41
Message-Id: 20110909145107.4cgssok0gw0kw8kc@webmail.slingshot.co.nz
In Reply to: Re: [gentoo-science] new blas infrastructure and prefix by fbissey@slingshot.co.nz
1 Hi,
2
3 I have to sadly report that currently the new blas infrastructure from the
4 science overlay is broken on at least OS X prefix. For example sage doesn't
5 start with the following message:
6 sage
7 ----------------------------------------------------------------------
8 | Sage Version 4.7.2.alpha2, Release Date: 2011-08-24 |
9 | Type notebook() for the GUI, and license() for information. |
10 ----------------------------------------------------------------------
11 **********************************************************************
12 * *
13 * Warning: this is a prerelease version, and it may be unstable. *
14 * *
15 **********************************************************************
16 ---------------------------------------------------------------------------
17 ImportError Traceback (most recent call last)
18
19 /Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/IPython/ipmaker.pyc
20 in force_import(modname, force_reload)
21 61 reload(sys.modules[modname])
22 62 else:
23 ---> 63 __import__(modname)
24 64
25 65
26
27 /Users/frb15/Desktop/Gentoo/usr/bin/ipy_profile_sage.py in ()
28 5 preparser(True)
29 6
30 ----> 7 import sage.all_cmdline
31 8 sage.all_cmdline._init_cmdline(globals())
32 9
33
34 /Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/all_cmdline.py
35 in ()
36 12 try:
37 13
38 ---> 14 from sage.all import *
39 15 from sage.calculus.predefined import x
40 16 preparser(on=True)
41
42 /Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/all.py in ()
43 73 from time import sleep
44 74
45 ---> 75 from sage.misc.all import * # takes a while
46 76
47 77 from sage.misc.sh import sh
48
49 /Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/misc/all.py
50 in
51 ()
52 79 from func_persist import func_persist
53 80
54 ---> 81 from functional import (additive_order,
55 82 sqrt as numerical_sqrt,
56 83 arg,
57
58 /Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/misc/functional.py
59 in ()
60 36
61 37
62 ---> 38 from sage.rings.complex_double import CDF
63 39 from sage.rings.real_double import RDF, RealDoubleElement
64 40
65
66 ImportError:
67 dlopen(/Users/frb15/Desktop/Gentoo/usr/lib/python2.7/site-packages/sage/rings/complex_double.bundle,
68 2): Symbol not found: _cblas_caxpy
69 Referenced from: /Users/frb15/Desktop/Gentoo/usr/lib/libgsl.0.dylib
70 Expected in: dynamic lookup
71
72 The key word is dynamic lookup. On OS X most library have an install_name that
73 is losely speaking similar to a rpath. Library declare their install_name and
74 the install_name of all the libraries they depend on. But you can use "dynamic
75 look up" to get the kind of behavior you would expect on linux. For
76 some reason
77 switching to the new infrastructure break the dynamic look up of cblas
78 for gsl,
79 and probably scipy and other. I don't know if it is limited to python
80 extension
81 (in OS X speak bundles, on linux they appear as .so but in fact they may have
82 more in common with plugins).
83
84 I also don't know if it is broken on other prefix, I suspect linux
85 prefixes are
86 OK.
87
88 Francois