[SciPy-dev] Error building from svn on Intel Macs.

Nils Wagner nwagner@iam.uni-stuttgart...
Wed Jun 4 05:11:32 CDT 2008


On Wed, 04 Jun 2008 01:52:43 -0700
  Damian Eads <eads@soe.ucsc.edu> wrote:
> 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
> _______________________________________________
> Scipy-dev mailing list
> Scipy-dev@scipy.org
> http://projects.scipy.org/mailman/listinfo/scipy-dev

AFAIK,
you need something like

[amd]
library_dirs= /data/home/nwagner/src/UMFPACKv4.4/AMD/Lib
include_dirs= 
/data/home/nwagner/src/UMFPACKv4.4/AMD/Include
#
[umfpack]
library_dirs= 
/data/home/nwagner/src/UMFPACKv4.4/UMFPACK/Lib
include_dirs= 
/data/home/nwagner/src/UMFPACKv4.4/UMFPACK/Include

in your site.cfg

I have installed UMFPACK version 4.4. It works fine here.

And there is a new possibility to install UMFPACK as a 
scikit

svn co http://svn.scipy.org/svn/scikits/trunk/umfpack 
umfpack

but I am not familiar with that.

Robert C. might help you in this context.

BTW, which versions of UMFPACK are currently supported by
scipy ?

The current version is 5.2.0

http://www.cise.ufl.edu/research/sparse/umfpack/

Cheers,
           Nils



  


More information about the Scipy-dev mailing list