[Bug 257400] science/py-scipy add option for Atlas blas

From: <bugzilla-noreply_at_freebsd.org>
Date: Sun, 25 Jul 2021 06:13:24 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=257400

            Bug ID: 257400
           Summary: science/py-scipy add option for Atlas blas
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: python@FreeBSD.org
          Reporter: alt2600@icloud.com
             Flags: maintainer-feedback?(python@FreeBSD.org)
          Assignee: python@FreeBSD.org

Created attachment 226666
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=226666&action=edit
git-diff-scipy-add-atlas

Not sure I made the git diff correctly, getting used to this, and hacking as I
go, so I will also submit all the individual files. I took the basic Makefile
framework from py-numpy and tweaked it so it would be appropriate for py-scipy.
I tried to do netlib as well, but while it seemed to configure to use the right
libraries the final package had a dependency on atlas-math. I didn't dig to
hard to find why, but I suspect it is because the build notes for scipy say
they will default built against Atlas if found as presumably the preferred
blas. As I doubt anyone would be using netlib with this package, I opted to
limit things to Atlas and OpenBLAS. The issue is I have no way to test the
OpenBLAS is still working ok, but I can confirm the Atlas build is fine, and am
using it to build towards qgis ultimately. I believe the OpenBLAS case should
work as it is the same mechanism of numpy, which seems to be the master library
to scipy if I'm reading things right. Would be great to get this patch to allow
Atlas as well.


### ATLAS Configure abbreviated tail

creating /tmp/tmpcc9xcnvz/tmp
creating /tmp/tmpcc9xcnvz/tmp/tmpcc9xcnvz
compile options: '-MMD -MF /tmp/tmpcc9xcnvz/file.c.d -c'
cc: /tmp/tmpcc9xcnvz/file.c
  libraries tatlas not found in ['/usr/lib', '/usr/local/lib',
'/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd12.2/10.3.0/../../../']
Library tatlas was not found. Ignoring
  FOUND:
    include_dirs = ['/usr/local/include']
    language = f77
    libraries = ['alapack', 'ptf77blas', 'ptcblas']
    library_dirs = ['/usr/local/lib']
    define_macros = [('ATLAS_INFO', '"None"')]

accelerate_info:
  NOT AVAILABLE

  FOUND:
    include_dirs = ['/usr/local/include']
    language = f77
    libraries = ['alapack', 'ptf77blas', 'ptcblas']
    library_dirs = ['/usr/local/lib']
    define_macros = [('ATLAS_INFO', '"None"')]

blas_opt_info:
blas_mkl_info:
customize UnixCCompiler
C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG
-O2 -pipe -march=westmere -fstack-protector-strong -fno-strict-aliasing -O2
-pipe -march=westmere -fstack-protector-strong -fno-strict-aliasing -fPIC

creating /tmp/tmpqzo50prz/tmp
creating /tmp/tmpqzo50prz/tmp/tmpqzo50prz
compile options: '-MMD -MF /tmp/tmpqzo50prz/file.c.d -c'
cc: /tmp/tmpqzo50prz/file.c
  libraries mkl_rt not found in ['/usr/lib', '/usr/local/lib',
'/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd12.2/10.3.0/../../../']
  NOT AVAILABLE

blis_info:
customize UnixCCompiler
C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG
-O2 -pipe -march=westmere -fstack-protector-strong -fno-strict-aliasing -O2
-pipe -march=westmere -fstack-protector-strong -fno-strict-aliasing -fPIC

creating /tmp/tmp32nyh_rz/tmp
creating /tmp/tmp32nyh_rz/tmp/tmp32nyh_rz
compile options: '-MMD -MF /tmp/tmp32nyh_rz/file.c.d -c'
cc: /tmp/tmp32nyh_rz/file.c
  libraries blis not found in ['/usr/lib', '/usr/local/lib',
'/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd12.2/10.3.0/../../../']
  NOT AVAILABLE

atlas_3_10_blas_threads_info:
Setting PTATLAS=ATLAS
customize UnixCCompiler
C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG
-O2 -pipe -march=westmere -fstack-protector-strong -fno-strict-aliasing -O2
-pipe -march=westmere -fstack-protector-strong -fno-strict-aliasing -fPIC

creating /tmp/tmp1llo3grv/tmp
creating /tmp/tmp1llo3grv/tmp/tmp1llo3grv
compile options: '-MMD -MF /tmp/tmp1llo3grv/file.c.d -c'
cc: /tmp/tmp1llo3grv/file.c
Setting PTATLAS=ATLAS
Setting PTATLAS=ATLAS
Setting PTATLAS=ATLAS
Setting PTATLAS=ATLAS
customize UnixCCompiler
C compiler: cc -Wno-unused-result -Wsign-compare -Wunreachable-code -DNDEBUG
-O2 -pipe -march=westmere -fstack-protector-strong -fno-strict-aliasing -O2
-pipe -march=westmere -fstack-protector-strong -fno-strict-aliasing -fPIC

creating /tmp/tmp3uzvn3cw/tmp
creating /tmp/tmp3uzvn3cw/tmp/tmp3uzvn3cw
compile options: '-MMD -MF /tmp/tmp3uzvn3cw/file.c.d -c'
cc: /tmp/tmp3uzvn3cw/file.c
  libraries tatlas not found in ['/usr/lib', '/usr/local/lib',
'/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd12.2/10.3.0/../../../']
Library tatlas was not found. Ignoring
  FOUND:
    include_dirs = ['/usr/local/include']
    language = c
    define_macros = [('HAVE_CBLAS', None), ('ATLAS_INFO', '"None"')]
    libraries = ['ptf77blas', 'ptcblas']
    library_dirs = ['/usr/local/lib']

  FOUND:
    include_dirs = ['/usr/local/include']
    language = c
    define_macros = [('HAVE_CBLAS', None), ('ATLAS_INFO', '"None"')]
    libraries = ['ptf77blas', 'ptcblas']
    library_dirs = ['/usr/local/lib']

non-existing path in 'scipy/signal/windows': 'tests'
non-existing path in 'scipy/sparse': 'sparsetools/sparsetools_impl.h'
non-existing path in 'scipy/sparse': 'sparsetools/bsr_impl.h'
non-existing path in 'scipy/sparse': 'sparsetools/csc_impl.h'
non-existing path in 'scipy/sparse': 'sparsetools/csr_impl.h'
non-existing path in 'scipy/sparse': 'sparsetools/other_impl.h'
[makenpz] scipy/special/tests/data/boost.npz not rebuilt
[makenpz] scipy/special/tests/data/gsl.npz not rebuilt
[makenpz] scipy/special/tests/data/local.npz not rebuilt
running config

## pkg info -dr py38-scipy
/usr/ports/science/py-scipy|$} pkg info -dr py38-scipy
py38-scipy-1.6.0
Depends on     :
        py38-numpy-1.16.6_2,1
        atlas-math-3.8.4_18,1
        python38-3.8.11
        gcc10-10.3.0
        py38-setuptools-57.0.0

-- 
You are receiving this mail because:
You are the assignee for the bug.