Created attachment 226666 [details] 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
Created attachment 226667 [details] files/site.cfg new files/site.cfg adapted from numpy
Created attachment 226668 [details] Makefile complete py-scipy Makefile for Atlas/OpenBLAS selection I left OpenBLAS the default
Created attachment 226669 [details] patch-Makefile-scipy-add-atlas standalone Makefile patch too add atlas and hopefully not break openblas. Just like files/site.cfg in case I didn't prepare the git diff correctly or if its easier to use these instead of that
Thank you for your patch. Can you provide your changes as a single diff against the port? You can use `git diff > patch`. For updating/patching WRKSRC (upstream sources) files, you can use the `make makepatch method` outlined here: https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/slow-patch.html
(In reply to Kubilay Kocak from comment #4) that is the first attachment.
(In reply to alt2600 from comment #5) If the other patches duplicate the one you refer to, just separated, please obsolete them, otherwise include their changes into a single diff Thanks!
Created attachment 226716 [details] git-diff-scipy-add-atlas obsoleting redundant attachments
(In reply to Kubilay Kocak from comment #6) sorry, if this notified already, not sure if it only sends email when its a reply or if just posting does it. not trying to be bothersome, just didn't want you waiting on me doing this earlier. I plan to stand up a bhyve to make testing easier when options are system breaking for my setup, ie openblas. in case there are issues with the patch and openblas.
Created attachment 226789 [details] git-diff-scipy-add-atlas-rev1 confirmed under openblas based bhyve to configure and build correctly. Noticed under PR 251718 and from the configure this wants both openblas and blas so I added back a LIB_DEPENDS for the OPENBLAS option to include it, but otherwise the uses blaslapack:openblas caused no issue. not sure if in the end this port wants cblas or how applicable that is with openblas but I just wanted to confirm no breakage, not extend features. This patch will allow ATLAS or OpenBLAS use, maintaining OpenBLAS as the default. I consider this patch to now be tested and complete. it should work for Netlib case, but if Atlas is installed it will bring in an Atlas dependency, despite possibly not linking to it in reality. If someone wants to get netlib I'm sure they can explore the syntax further. I can confirm it appears to configure for it, build, and install, but still shows an Atlas pkg dependency once installed so it remains excluded. see math/py-numpy if someone really wanted to take the time for netlib. ### make configure tail excerpt creating /tmp/tmpqmtazvj7/tmp creating /tmp/tmpqmtazvj7/tmp/tmpqmtazvj7 compile options: '-MMD -MF /tmp/tmpqmtazvj7/file.c.d -c' cc: /tmp/tmpqmtazvj7/file.c FOUND: libraries = ['openblas', 'blas'] library_dirs = ['/usr/local/lib'] include_dirs = ['/usr/include', '/usr/local/include'] language = c define_macros = [('HAVE_CBLAS', None)] FOUND: define_macros = [('NO_ATLAS_INFO', 1), ('HAVE_CBLAS', None)] libraries = ['openblas', 'blas'] library_dirs = ['/usr/local/lib'] include_dirs = ['/usr/include', '/usr/local/include'] language = c 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 /usr/ports/science/py-scipy $ sudo make install clean Password: ===> Installing for py38-scipy-1.6.0 ===> Checking if py38-scipy is already installed ===> Registering installation for py38-scipy-1.6.0 Installing py38-scipy-1.6.0... /usr/ports/science/py-scipy $ pkg info -dr py38-scipy py38-scipy-1.6.0 Depends on : py38-numpy-1.16.6_2,1 openblas-0.3.16,1 blas-3.10.0 python38-3.8.11 gcc10-10.3.0 py38-setuptools-57.0.0
Created attachment 229421 [details] git-diff-scipy-add-atlas-rev2.diff updated add ATLAS support patch for py-scipy 1.7.1 confirmed builds under OPENBLAS default fine to match existing behavior as well as under ATLAS. Uses same method math/py-numpy utilizes to allow atlas support. ===== OPENBLAS configure snippet FOUND: libraries = ['openblas', 'blas', 'openblas', 'blas'] library_dirs = ['/usr/local/lib'] language = c define_macros = [('HAVE_CBLAS', None)] FOUND: libraries = ['openblas', 'blas', 'openblas', 'blas'] library_dirs = ['/usr/local/lib'] language = c define_macros = [('HAVE_CBLAS', None)] blas_opt_info: blas_mkl_info: 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: 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 openblas_info: 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/tmpwb0b8251/tmp creating /tmp/tmpwb0b8251/tmp/tmpwb0b8251 compile options: '-c' cc: /tmp/tmpwb0b8251/source.c cc /tmp/tmpwb0b8251/tmp/tmpwb0b8251/source.o -L/usr/local/lib -lopenblas -lblas -o /tmp/tmpwb0b8251/a.out FOUND: libraries = ['openblas', 'blas', 'openblas', 'blas'] library_dirs = ['/usr/local/lib'] language = c define_macros = [('HAVE_CBLAS', None)] FOUND: libraries = ['openblas', 'blas', 'openblas', 'blas'] library_dirs = ['/usr/local/lib'] language = c define_macros = [('HAVE_CBLAS', None)] ===== OPENBLAS check orphans ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist ===> Checking for items in pkg-plist which are not in STAGEDIR ===> No pkg-plist issues found (check-plist) ===== OPENBLAS install ===> Installing for py38-scipy-1.7.1 ===> Checking if py38-scipy is already installed ===> Registering installation for py38-scipy-1.7.1 Installing py38-scipy-1.7.1... ===== OPENBLAS pkg info -d py38-scipy py38-scipy-1.7.1: py38-numpy-1.20.3,1 openblas-0.3.18,1 blas-3.10.0 python38-3.8.12_1 gcc10-10.3.0 py38-setuptools-57.0.0 ===== ATLAS configure snippet atlas_3_10_threads_info: Setting PTATLAS=ATLAS libraries lapack_atlas not found in /usr/lib libraries ptf77blas,ptcblas not found in /usr/lib libraries lapack_atlas not found in /usr/local/lib <class 'numpy.distutils.system_info.atlas_3_10_threads_info'> Setting PTATLAS=ATLAS get_default_fcompiler: matching types: '['gnu', 'gnu95']' customize GnuFCompiler Found executable /usr/local/bin/gfortran10 gnu: no Fortran 90 compiler found Could not locate executable cc -shared Found executable /usr/local/bin/ld Found executable /usr/local/bin/ar Found executable /usr/local/bin/ranlib gnu: no Fortran 90 compiler found customize Gnu95FCompiler customize Gnu95FCompiler customize Gnu95FCompiler using config compiling '_configtest.c': /* This file is generated from numpy/distutils/system_info.py */ void ATL_buildinfo(void); int main(void) { ATL_buildinfo(); return 0; } 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 compile options: '-c' cc: _configtest.c cc _configtest.o -L/usr/local/lib -lptf77blas -lptcblas -o _configtest ld: error: undefined symbol: ATL_buildinfo >>> referenced by _configtest.c >>> _configtest.o:(main) cc: error: linker command failed with exit code 1 (use -v to see invocation) failure. removing: _configtest.c _configtest.o _configtest.o.d Status: 255 Output: compiling '_configtest.c': /* This file is generated from numpy/distutils/system_info.py */ void ATL_buildinfo(void); int main(void) { ATL_buildinfo(); return 0; } 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 compile options: '-c' cc: _configtest.c cc _configtest.o -L/usr/local/lib -lptf77blas -lptcblas -o _configtest Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS 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'] FOUND: include_dirs = ['/usr/local/include'] language = f77 libraries = ['alapack', 'ptf77blas', 'ptcblas'] library_dirs = ['/usr/local/lib'] blas_opt_info: blas_mkl_info: 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: 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 openblas_info: libraries openblas 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 libraries tatlas 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_info: libraries satlas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd12.2/10.3.0/../../../'] NOT AVAILABLE atlas_blas_threads_info: Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS FOUND: include_dirs = ['/usr/local/include'] language = c define_macros = [('HAVE_CBLAS', None)] libraries = ['ptf77blas', 'ptcblas', 'ptf77blas', 'ptcblas'] library_dirs = ['/usr/local/lib'] FOUND: include_dirs = ['/usr/local/include'] language = c define_macros = [('HAVE_CBLAS', None)] libraries = ['ptf77blas', 'ptcblas', 'ptf77blas', 'ptcblas'] library_dirs = ['/usr/local/lib'] ===== ATLAS check orphans ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist ===> Checking for items in pkg-plist which are not in STAGEDIR ===> No pkg-plist issues found (check-plist) ===== ATLAS install ===> Installing for py38-scipy-1.7.1 ===> Checking if py38-scipy is already installed ===> Registering installation for py38-scipy-1.7.1 Installing py38-scipy-1.7.1... ===== ATLAS pkg info -d py38-scipy py38-scipy-1.7.1: py38-numpy-1.20.3,1 atlas-math-3.8.4_18,1 python38-3.8.12_1 gcc10-10.3.0 py38-setuptools-57.0.0
Created attachment 232395 [details] git-diff-py-scipy-atlas-rev3.diff with the 1.8.0 py-scipy release it has become trivially easy to support multiple BLAS libraries, no more janky hacks adapted from py-numpy are necessary. As I have heard no feedback in months on if this patch will be accepted or not this will be the last time I update it for new versions of py-scipy. At this point I'll just make it work for myself as need arises, and if anyone else wants it this diff will show the basics, but essentially it just takes a single radio that either uses blaslapack:atlas, for atlas, or uses the lib depends on blas and openblas for openblas. In principal this should work with netlib, but it you have atlas it will be chosen over netlib so I didnt implement, but uses blaslapack should make it work fine if you do not have openblas nor atlas installed. I kept OPENBLAS the default, despite it being conflicting and not the default blas library for ports, as that is what it is now. for those looking in the future you can enable options like this delete the LIB_DEPENDS line referencing blas and openblas and add this or just add blaslapack:atlas to the USES line after deleting the LIB_DEPENDS line and its ATLAS only for you. OPTIONS_DEFAULT= OPENBLAS OPTIONS_SINGLE= BLASLIB OPTIONS_SINGLE_BLASLIB= ATLAS OPENBLAS ATLAS_USES= blaslapack:atlas OPENBLAS_LIB_DEPENDS= libblas.so:math/blas \ libopenblas.so:math/openblas tweak your default if you want or make sure to use OPTION_SET and OPTION_UNSET using ports.conf if using portconf == OPENBLAS OPTION configure snippet lapack_opt_info: lapack_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/tmpnwlzq1iw/tmp creating /tmp/tmpnwlzq1iw/tmp/tmpnwlzq1iw compile options: '-MMD -MF /tmp/tmpnwlzq1iw/file.c.d -c' cc: /tmp/tmpnwlzq1iw/file.c libraries mkl_rt not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE openblas_lapack_info: 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/tmpavviamb0/tmp creating /tmp/tmpavviamb0/tmp/tmpavviamb0 compile options: '-c' cc: /tmp/tmpavviamb0/source.c cc /tmp/tmpavviamb0/tmp/tmpavviamb0/source.o -L/usr/local/lib -L/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../ -lopenblas -lgfortran -o /tmp/tmpavviamb0/a.out FOUND: libraries = ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs = ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language = c define_macros = [('HAVE_CBLAS', None)] FOUND: libraries = ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs = ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language = c define_macros = [('HAVE_CBLAS', None)] blas_opt_info: blas_mkl_info: libraries mkl_rt not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE blis_info: libraries blis not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE openblas_info: 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/tmpofuclsmh/tmp creating /tmp/tmpofuclsmh/tmp/tmpofuclsmh compile options: '-c' cc: /tmp/tmpofuclsmh/source.c cc /tmp/tmpofuclsmh/tmp/tmpofuclsmh/source.o -L/usr/local/lib -L/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../ -lopenblas -lgfortran -o /tmp/tmpofuclsmh/a.out FOUND: libraries = ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs = ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language = c define_macros = [('HAVE_CBLAS', None)] FOUND: libraries = ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs = ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language = c define_macros = [('HAVE_CBLAS', None)] 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 ===OPENBLAS OPTION check-orphans ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist ===> Checking for items in pkg-plist which are not in STAGEDIR ===> No pkg-plist issues found (check-plist) ===OPENBLAS OPTION pkg info -d py38-scipy-1.8.0 Depends on : py38-numpy-1.20.3,1 openblas-0.3.18,1 blas-3.10.0 python38-3.8.12_2 gcc10-10.3.0 py38-setuptools-57.0.0 ===ATLAS OPTION configure snippet lapack_opt_info: lapack_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/tmppkk1xmzc/tmp creating /tmp/tmppkk1xmzc/tmp/tmppkk1xmzc compile options: '-MMD -MF /tmp/tmppkk1xmzc/file.c.d -c' cc: /tmp/tmppkk1xmzc/file.c libraries mkl_rt not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE openblas_lapack_info: libraries openblas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE openblas_clapack_info: libraries openblas,lapack not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE flame_info: libraries flame not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE atlas_3_10_threads_info: Setting PTATLAS=ATLAS libraries lapack_atlas not found in /usr/lib libraries ptf77blas,ptcblas not found in /usr/lib libraries lapack_atlas not found in /usr/local/lib <class 'numpy.distutils.system_info.atlas_3_10_threads_info'> Setting PTATLAS=ATLAS get_default_fcompiler: matching types: '['gnu', 'gnu95']' customize GnuFCompiler Found executable /usr/local/bin/gfortran10 gnu: no Fortran 90 compiler found Could not locate executable cc -shared Found executable /usr/local/bin/ld Found executable /usr/local/bin/ar Found executable /usr/local/bin/ranlib gnu: no Fortran 90 compiler found customize Gnu95FCompiler customize Gnu95FCompiler customize Gnu95FCompiler using config compiling '_configtest.c': /* This file is generated from numpy/distutils/system_info.py */ void ATL_buildinfo(void); int main(void) { ATL_buildinfo(); return 0; } 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 compile options: '-c' cc: _configtest.c cc _configtest.o -L/usr/local/lib -lptf77blas -lptcblas -o _configtest ld: error: undefined symbol: ATL_buildinfo >>> referenced by _configtest.c >>> _configtest.o:(main) cc: error: linker command failed with exit code 1 (use -v to see invocation) failure. removing: _configtest.c _configtest.o _configtest.o.d Status: 255 Output: compiling '_configtest.c': /* This file is generated from numpy/distutils/system_info.py */ void ATL_buildinfo(void); int main(void) { ATL_buildinfo(); return 0; } 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 compile options: '-c' cc: _configtest.c cc _configtest.o -L/usr/local/lib -lptf77blas -lptcblas -o _configtest Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS libraries tatlas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/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'] FOUND: include_dirs = ['/usr/local/include'] language = f77 libraries = ['alapack', 'ptf77blas', 'ptcblas'] library_dirs = ['/usr/local/lib'] blas_opt_info: blas_mkl_info: libraries mkl_rt not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE blis_info: libraries blis not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE openblas_info: libraries openblas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE atlas_3_10_blas_threads_info: Setting PTATLAS=ATLAS libraries tatlas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE atlas_3_10_blas_info: libraries satlas not found in ['/usr/lib', '/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] NOT AVAILABLE atlas_blas_threads_info: Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS Setting PTATLAS=ATLAS FOUND: include_dirs = ['/usr/local/include'] language = c define_macros = [('HAVE_CBLAS', None)] libraries = ['ptf77blas', 'ptcblas', 'ptf77blas', 'ptcblas'] library_dirs = ['/usr/local/lib'] FOUND: include_dirs = ['/usr/local/include'] language = c define_macros = [('HAVE_CBLAS', None)] libraries = ['ptf77blas', 'ptcblas', '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 ===ATLAS OPTION check-orphans ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist ===> Checking for items in pkg-plist which are not in STAGEDIR ===> No pkg-plist issues found (check-plist) ===ATLAS OPTION pkg info -d py38-scipy-1.8.0: py38-numpy-1.20.3,1 atlas-math-3.8.4_18,1 python38-3.8.12_2 gcc10-10.3.0 py38-setuptools-57.0.0
posted patch continues to work for py-scipy 1.8.1 as is without modification
Created attachment 235932 [details] git-diff-py-scipy-atlas.rev4 minor tweaks to work with V1.9.0 update. found the docs link has been hard coded to the docs for v1.8.1 from using a make variable, but also found that it appears v1.9.0 docs are available so not sure why 1.8.1 was hard coded in as its the old docs.
supplied patch continues to apply and function for 1.9.1 version update the other day
Created attachment 237495 [details] git-py-scipy-atlas-rev5.diff Updated patch for v 1.9.2 ATLAS tested on live system, OPENBLAS the default tested with poudriere on 13.1p2 amd64
patch continues to work with py-scipy 1.10 ATLAS from within live system and OPENBLAS from within poudriere