[SciPy-dev] Error building from svn on Intel Macs.
Damian Eads
eads@soe.ucsc....
Wed Jun 4 03:52:43 CDT 2008
David Cournapeau wrote:
> Damian Eads wrote:
>> There is an example file in the Scipy source tree, site.cfg.example that
>> you can modify and save as site.cfg. site.cfg is necessary so the Scipy
>> build script can properly locate dependencies. AFAK, UMFPACK is required
>> to build scipy.stats, which depends on scipy.sparse.
>
> I would be surprised if this were true (umfpack is only available under
> the GPL, and numpy/scipy have a policy to not depend on non BSD code). I
> don't have umfpack, and up to recently, I could build scipy from the trunk.
Hi David,
You are the build expert here so I will defer to you.
Recalling from personal experience, the only way I could get Scipy to
build properly with support for scipy.stats is by building UMFPACK.
I just checked out a fresh copy, did not edit the site.cfg.example file
to prevent setup.py from finding UMFPACK, and got the same errors as
Christopher.
[eads@pumpkin trunk]
creating build/src.linux-i686-2.5/scipy/sparse/linalg/dsolve
creating build/src.linux-i686-2.5/scipy/sparse/linalg/dsolve/umfpack
adding 'scipy/sparse/linalg/dsolve/umfpack/umfpack.i' to sources.
swig: scipy/sparse/linalg/dsolve/umfpack/umfpack.i
swig -python -I/usr/include/atlas -o
build/src.linux-i686-2.5/scipy/sparse/linalg/dsolve/umfpack/_umfpack_wrap.c
-outdir build/src.linux-i686-2.5/scipy/sparse/linalg/dsolve/umfpack
scipy/sparse/linalg/dsolve/umfpack/umfpack.i
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:192: Error: Unable to find
'umfpack.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:193: Error: Unable to find
'umfpack_solve.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:194: Error: Unable to find
'umfpack_defaults.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:195: Error: Unable to find
'umfpack_triplet_to_col.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:196: Error: Unable to find
'umfpack_col_to_triplet.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:197: Error: Unable to find
'umfpack_transpose.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:198: Error: Unable to find
'umfpack_scale.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:200: Error: Unable to find
'umfpack_report_symbolic.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:201: Error: Unable to find
'umfpack_report_numeric.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:202: Error: Unable to find
'umfpack_report_info.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:203: Error: Unable to find
'umfpack_report_control.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:215: Error: Unable to find
'umfpack_symbolic.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:216: Error: Unable to find
'umfpack_numeric.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:225: Error: Unable to find
'umfpack_free_symbolic.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:226: Error: Unable to find
'umfpack_free_numeric.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:248: Error: Unable to find
'umfpack_get_lunz.h'
scipy/sparse/linalg/dsolve/umfpack/umfpack.i:272: Error: Unable to find
'umfpack_get_numeric.h'
error: command 'swig' failed with exit status 1
[eads@pumpkin trunk]$
If I comment out the code
#config.add_subpackage('umfpack')
in scipy/sparse/linalg/dsolve/setup.py, I get the following import error
when importing scipy.stats.
In [2]: import scipy.stats
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/home/eads/work/tst/<ipython console> in <module>()
/tmp/qt/lib/python2.5/site-packages/scipy/stats/__init__.py in <module>()
5 from info import __doc__
6
----> 7 from stats import *
8 from distributions import *
9 from rv import *
/tmp/qt/lib/python2.5/site-packages/scipy/stats/stats.py in <module>()
190 from numpy import array, asarray, dot, ma, zeros, sum
191 import scipy.special as special
--> 192 import scipy.linalg as linalg
193 import numpy as np
194
/tmp/qt/lib/python2.5/site-packages/scipy/linalg/__init__.py in <module>()
11 from blas import *
12
---> 13 from iterative import *
14
15
/tmp/qt/lib/python2.5/site-packages/scipy/linalg/iterative.py in <module>()
3 # Deprecated on January 26, 2008
4
----> 5 from scipy.sparse.linalg import isolve
6 from numpy import deprecate
7
/tmp/qt/lib/python2.5/site-packages/scipy/sparse/linalg/__init__.py in
<module>()
4
5 from isolve import *
----> 6 from dsolve import *
7 from interface import *
8 from eigen import *
/tmp/qt/lib/python2.5/site-packages/scipy/sparse/linalg/dsolve/__init__.py
in <module>()
3 from info import __doc__
4
----> 5 import umfpack
6 #__doc__ = '\n\n'.join( (__doc__, umfpack.__doc__) )
7 del umfpack
ImportError: No module named umfpack
In [3]:
So, I guess, in a nutshell, it was this cursory experience that led me
to assume UMFPACK was an essential dependency.
Good point about licensing -- I suppose UMFPACK being released under the
GPL would preclude it from being a mandatory dependency.
Damian
More information about the Scipy-dev
mailing list