We are in the process of updating the fink 10.7 suitesparse package and are
running into a build issue with scipy-0.90 when built against suitesparse-3.6.1...
building 'scipy.sparse.linalg.dsolve.umfpack.__umfpack' extension
compiling C sources
C compiler: gcc -fno-strict-aliasing -g -O2 -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -I/sw/include
creating build/temp.macosx-10.7-x86_64-2.6/build/src.macosx-10.7-x86_64-2.6/scipy/sparse/linalg/dsolve
creating build/temp.macosx-10.7-x86_64-2.6/build/src.macosx-10.7-x86_64-2.6/scipy/sparse/linalg/dsolve/umfpack
compile options: '-DNO_ATLAS_INFO=3 -I/sw/lib/python2.6/site-packages/numpy/core/include -I/sw/include/python2.6 -c'
extra options: '-msse3 -I/System/Library/Frameworks/vecLib.framework/Headers'
gcc: build/src.macosx-10.7-x86_64-2.6/scipy/sparse/linalg/dsolve/umfpack/_umfpack_wrap.c
build/src.macosx-10.7-x86_64-2.6/scipy/sparse/linalg/dsolve/umfpack/_umfpack_wrap.c:2351:23: warning: explicitly assigning a variable of type 'int' to itself [-Wself-assign]
res = SWIG_AddCast(res);
~~~ ^ ~~~
build/src.macosx-10.7-x86_64-2.6/scipy/sparse/linalg/dsolve/umfpack/_umfpack_wrap.c:2354:23: warning: explicitly assigning a variable of type 'int' to itself [-Wself-assign]
res = SWIG_AddCast(res);
~~~ ^ ~~~
build/src.macosx-10.7-x86_64-2.6/scipy/sparse/linalg/dsolve/umfpack/_umfpack_wrap.c:6941:14: warning: explicitly assigning a variable of type 'void *' to itself [-Wself-assign]
clientdata = clientdata;
~~~~~~~~~~ ^ ~~~~~~~~~~
3 warnings generated.
gcc -L/sw/lib -bundle -L/sw/lib/python2.6/config -lpython2.6 -I/sw/include build/temp.macosx-10.7-x86_64-2.6/build/src.macosx-10.7-x86_64-2.6/scipy/sparse/linalg/dsolve/umfpack/_umfpack_wrap.o -L/opt/local/lib -Lbuild/temp.macosx-10.7-x86_64-2.6 -lumfpack -lamd -o build/lib.macosx-10.7-x86_64-2.6/scipy/sparse/linalg/dsolve/umfpack/__umfpack.so -Wl,-framework -Wl,Accelerate
Undefined symbols for architecture x86_64:
"_cholmod_start", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_transpose", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_analyze", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_free_sparse", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_free_factor", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_print_common", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_finish", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_l_start", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_transpose", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_analyze", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_free_sparse", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_free_factor", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_print_common", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_finish", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Undefined symbols for architecture x86_64:
"_cholmod_start", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_transpose", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_analyze", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_free_sparse", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_free_factor", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_print_common", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_finish", referenced from:
_umf_i_cholmod in libumfpack.a(umf_i_cholmod.o)
"_cholmod_l_start", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_transpose", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_analyze", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_free_sparse", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_free_factor", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_print_common", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
"_cholmod_l_finish", referenced from:
_umf_l_cholmod in libumfpack.a(umf_l_cholmod.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: Command "gcc -L/sw/lib -bundle -L/sw/lib/python2.6/config -lpython2.6 -I/sw/include build/temp.macosx-10.7-x86_64-2.6/build/src.macosx-10.7-x86_64-2.6/scipy/sparse/linalg/dsolve/umfpack/_umfpack_wrap.o -L/opt/local/lib -Lbuild/temp.macosx-10.7-x86_64-2.6 -lumfpack -lamd -o build/lib.macosx-10.7-x86_64-2.6/scipy/sparse/linalg/dsolve/umfpack/__umfpack.so -Wl,-framework -Wl,Accelerate" failed with exit status 1
### execution of /var/tmp/tmp.1.p2OWF9 failed, exit code 1
FYI, the build patch we are using for suitesparse is...
diff -uNr SuiteSparse/KLU/Include/klu_internal.h SuiteSparse.patched/KLU/Include/klu_internal.h
--- SuiteSparse/KLU/Include/klu_internal.h 2009-03-24 14:55:04.000000000 -0400
+++ SuiteSparse.patched/KLU/Include/klu_internal.h 2011-07-24 09:50:47.000000000 -0400
@@ -9,7 +9,6 @@
#include "klu.h"
#include "btf.h"
-#include "klu_version.h"
/* ========================================================================== */
/* make sure debugging and printing is turned off */
@@ -36,6 +35,8 @@
#include <limits.h>
#include <stdlib.h>
#include <math.h>
+/* moved klu_version.h after math.h to circumvent compile error on ppc */
+#include "klu_version.h"
#undef ASSERT
#ifndef NDEBUG
diff -uNr SuiteSparse/UFconfig/UFconfig.mk SuiteSparse.patched/UFconfig/UFconfig.mk
--- SuiteSparse/UFconfig/UFconfig.mk 2011-05-10 16:47:15.000000000 -0400
+++ SuiteSparse.patched/UFconfig/UFconfig.mk 2011-07-24 09:53:37.000000000 -0400
@@ -54,7 +54,7 @@
F77LIB =
# C and Fortran libraries
-LIB = -lm
+# LIB = -lm
# For compiling MATLAB mexFunctions (MATLAB 7.5 or later)
MEX = mex -O -largeArrayDims -lmwlapack -lmwblas
@@ -91,8 +91,8 @@
# naming the BLAS and LAPACK library (*.a or *.so) files.
# This is probably slow ... it might connect to the Standard Reference BLAS:
-BLAS = -lblas -lgfortran
-LAPACK = -llapack
+# BLAS = -lblas -lgfortran
+# LAPACK = -llapack
# NOTE: this next option for the "Goto BLAS" has nothing to do with a "goto"
# statement. Rather, the Goto BLAS is written by Dr. Kazushige Goto.
@@ -132,13 +132,13 @@
# The path is relative to where it is used, in CHOLMOD/Lib, CHOLMOD/MATLAB, etc.
# You may wish to use an absolute path. METIS is optional. Compile
# CHOLMOD with -DNPARTITION if you do not wish to use METIS.
-METIS_PATH = ../../metis-4.0
-METIS = ../../metis-4.0/libmetis.a
+# METIS_PATH = ../../metis-4.0
+# METIS = ../../metis-4.0/libmetis.a
# If you use CHOLMOD_CONFIG = -DNPARTITION then you must use the following
# options:
-# METIS_PATH =
-# METIS =
+METIS_PATH =
+METIS =
#------------------------------------------------------------------------------
# UMFPACK configuration:
@@ -194,7 +194,7 @@
# -DNSUNPERF for Solaris only. If defined, do not use the Sun
# Performance Library
-CHOLMOD_CONFIG =
+CHOLMOD_CONFIG = -DNPARTITION
#------------------------------------------------------------------------------
# SuiteSparseQR configuration:
@@ -208,7 +208,7 @@
# -DHAVE_TBB enable the use of Intel's Threading Building Blocks (TBB)
# default, without timing, without TBB:
-SPQR_CONFIG =
+SPQR_CONFIG = -DNPARTITION
# with timing and TBB:
# SPQR_CONFIG = -DTIMING -DHAVE_TBB
# with timing
@@ -328,11 +328,11 @@
# Macintosh
#------------------------------------------------------------------------------
-# CC = gcc
-# CFLAGS = -O3 -fno-common -no-cpp-precomp -fexceptions
-# LIB = -lstdc++
-# BLAS = -framework Accelerate
-# LAPACK = -framework Accelerate
+CC = gcc
+CFLAGS = -O3 -fno-common -no-cpp-precomp -fexceptions
+LIB = -lstdc++
+BLAS = -framework Accelerate
+LAPACK = -framework Accelerate
#------------------------------------------------------------------------------
# IBM RS 6000
What is the known versions of suitesparse that are compatible with scipy-0.90?
There seems to be a range of different suitesparse releases in use for Linux
these days but no distribution appears to be using the 3.6.x releases.
Jack
ps On fink, scipy-0.90 builds fine against suitesparse-3.1.0. MacPorts is
building against suitesparse-3.4.0 which is the latest version that I see
any vendor shipping.