The atlas library does not provide a complete interface to the LAPACK package. (See: http://math-atlas.sourceforge.net/errata.html#completelp) The complete interface is only provided by the atlas port by compiling atlas with -DWITH_STATICLIB. 1. The current scipy-port checks if the atlas library is installed, but it does not check if it is installed with the complete lapack interface. 2. If it is currently not installed, scipy builds atlas without the static libraries Fix: 1. Check if atlas is installed with static libraries, if not ask the user to rebuild atlas with -DWITH_STATICLIB 2. Build atlas from scipy with -DWITH_STATICLIB How-To-Repeat: Build atlas by installing the scipy-port. $python from scipy import sparse A = sparse.csr_matrix(10,10,nzmax=100) -> ImportError, Python claims missing symbols
State Changed From-To: open->feedback Awaiting maintainers feedback
On Thu, Jul 20, 2006 at 09:20:22AM +0000, Edwin Groothuis wrote: > Maintainer of science/py-scipy, > > Please note that PR ports/100600 has just been submitted. > > If it contains a patch for an upgrade, an enhancement or a bug fix > you agree on, reply to this email stating that you approve the patch > and a committer will take care of it. > > The full text of the PR can be found at: > http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/100600 Something like this should be sufficient, but it would be nice if a warning was also added to the math/atlas port as well, suggesting that it be compiled with WITH_STATICLIB if it is to be used with scipy. I am not certain this warrants a REVISION bump as atlas packages are not normally built. I simply didn't bother with a diff.. .include <bsd.port.pre.mk> .if ! exists(${LOCALBASE}/lib/libalapack.a) IGNORE = atlas needs to be built with WITH_STATICLIB for scipy to function prop erly .endif post-install: ... > > -- > Edwin Groothuis > edwin@FreeBSD.org > -- - db@db.net http://www.db.net/~db
State Changed From-To: feedback->open Feedback received.
State Changed From-To: open->closed Committed the IGNORE patch from Diane.