Page MenuHomeFreeBSD

Add an option for py-scipy to link against openblas.
Needs RevisionPublic

Authored by demon on Mar 17 2015, 2:01 PM.

Details

Reviewers
olivierd
thierry
sbz
Group Reviewers
Python
Summary

The proposed patch adds an option to py-scipy port to link against openblas (similar to py-numpy)

Diff Detail

Lint
Lint Skipped
Unit
Unit Tests Skipped

Event Timeline

demon retitled this revision from to Add an option for py-scipy to link against openblas..
demon updated this object.
demon edited the test plan for this revision. (Show Details)
demon added reviewers: thierry, Python.
thierry requested changes to this revision.Mar 22 2015, 2:59 PM
thierry edited edge metadata.

With the proposed patch, the ATLAS option is shown twice.

I suggest the hereunder patch:

  • Makefile.orig 2015-03-22 15:53:07.665908000 +0100

+++ Makefile 2015-03-22 15:55:54.484720000 +0100
@@ -29,7 +29,7 @@

LDFLAGS+= -shared

-OPTIONS_DEFINE= ATLAS DOCS SUITESPARSE
+OPTIONS_DEFINE= DOCS SUITESPARSE
OPTIONS_SINGLE= BLASLIB
OPTIONS_SINGLE_BLASLIB= ATLAS BLAS OPENBLAS
OPTIONS_DEFAULT=BLAS SUITESPARSE

This revision now requires changes to proceed.Mar 22 2015, 2:59 PM

Actually, after more testings, it appears that these BLAS options are ignored within science/py-scipy: the build mechanism uses the file /usr/local/lib/python2.7/site-packages/numpy/distutils/site.cfg installed by math/py-numpy, so that it will always be linked with the libraries selected for Numpy.

How to check it:

  • build and install math/py-numpy with some BLAS option;
  • select another option for science/py-scipy
  • check the output of `make configure'
  • go on with the build
  • check the output of

ldd work/stage/usr/local/lib/python2.7/site-packages/scipy/lib/blas/cblas.so

Since PYNUMPY is a build- and run- dependency for py-scipy, we could anyway remove these options and these dependencies on Atlas / Blas / Openblas.

Aha, indeed. It seems the same statement it true for SUITESPARSE option.

Looks like it is also inherited from py-numpy via site.cfg