From nobody Fri Mar 11 22:34:56 2022 X-Original-To: python@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4710A1A18794 for ; Fri, 11 Mar 2022 22:34:57 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4KFgjX6StWz3rPj for ; Fri, 11 Mar 2022 22:34:56 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org (kenobi.freebsd.org [IPv6:2610:1c1:1:606c::50:1d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id BB091216F1 for ; Fri, 11 Mar 2022 22:34:56 +0000 (UTC) (envelope-from bugzilla-noreply@freebsd.org) Received: from kenobi.freebsd.org ([127.0.1.5]) by kenobi.freebsd.org (8.15.2/8.15.2) with ESMTP id 22BMYuEi061960 for ; Fri, 11 Mar 2022 22:34:56 GMT (envelope-from bugzilla-noreply@freebsd.org) Received: (from www@localhost) by kenobi.freebsd.org (8.15.2/8.15.2/Submit) id 22BMYuar061959 for python@FreeBSD.org; Fri, 11 Mar 2022 22:34:56 GMT (envelope-from bugzilla-noreply@freebsd.org) X-Authentication-Warning: kenobi.freebsd.org: www set sender to bugzilla-noreply@freebsd.org using -f From: bugzilla-noreply@freebsd.org To: python@FreeBSD.org Subject: [Bug 257400] science/py-scipy Add OPTION for Atlas blas Date: Fri, 11 Mar 2022 22:34:56 +0000 X-Bugzilla-Reason: AssignedTo CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: Ports & Packages X-Bugzilla-Component: Individual Port(s) X-Bugzilla-Version: Latest X-Bugzilla-Keywords: feature, needs-qa X-Bugzilla-Severity: Affects Some People X-Bugzilla-Who: alt2600@icloud.com X-Bugzilla-Status: Open X-Bugzilla-Resolution: X-Bugzilla-Priority: --- X-Bugzilla-Assigned-To: python@FreeBSD.org X-Bugzilla-Flags: maintainer-feedback+ maintainer-feedback? X-Bugzilla-Changed-Fields: attachments.isobsolete attachments.created Message-ID: In-Reply-To: References: Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Bugzilla-URL: https://bugs.freebsd.org/bugzilla/ Auto-Submitted: auto-generated List-Id: FreeBSD-specific Python issues List-Archive: https://lists.freebsd.org/archives/freebsd-python List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-freebsd-python@freebsd.org X-BeenThere: freebsd-python@freebsd.org MIME-Version: 1.0 ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1647038097; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=wJZlMVf3CkyKpuhuSQ8+rmn2sqcflrsT2UDXeMRNK1M=; b=CxxHTPN0B4alnfHoBLLFHObFgCGnsGA5shVNJyPeBcOTe+vOWPG0zUECd/cE5NZI97yS+j Nmzeoeu+5G/hvLredTJhzbfEOE8coziuCfWC6KK0UYsMjf0WgOwDVhWE/m/vObhJKLUhPE eC7HfZBnCmU4l7SoFZyhr2tlwE/yF2OUnPa4GEITMk+irX2j5fbsdwLuoyZ2Ard7ldcjRZ LDwtzNE5a10LUgKkezq5b/rpFc3edIXf0F9s7TWRa/M0UccGuQRntwGaRO6hW+VyPo2Ms5 X26ZLuJSpC+EGe9knIUlDpk+AZig/Fv1dQ1BAZ4w2MXEpDCx0xTFjLc6SXC2HA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1647038097; a=rsa-sha256; cv=none; b=yTdGZdfjfFvMKpi5Y6O5x9nUKIijFVi48tNv4Wqza/5SY98yfEQNn1vB587rm9v6aZG4If /iOGfh7LDS8q2QjsXN36Sch1nxM9lHiNN8SA6VHtfpZqApt6ZL1J21sUqJmcQ3fRATntsk GCjmFvom0+JLnq/dXARebVClfPwS2EllCCtIqEllFt/4LRAarsb3niGVSEgeeW+klgBeFT xHt9tqnLvronQlg8V82DGif3pYJd4rSSudjScN6qk89ZFiAyZirw7B08Kc7u2LKF9N+pCb hi8hGI+LGA/Rx3+sElu4vtlMcuQfFMQWd4dBOiV4KgEb4Mff8ZSz3yn78UK9/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D257400 alt2600@icloud.com changed: What |Removed |Added ---------------------------------------------------------------------------- Attachment #229421|0 |1 is obsolete| | --- Comment #11 from alt2600@icloud.com --- Created attachment 232395 --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=3D232395&action= =3Dedit 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, a= nd 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 j= ust add blaslapack:atlas to the USES line after deleting the LIB_DEPENDS line a= nd its ATLAS only for you. OPTIONS_DEFAULT=3D OPENBLAS OPTIONS_SINGLE=3D BLASLIB OPTIONS_SINGLE_BLASLIB=3D ATLAS OPENBLAS ATLAS_USES=3D blaslapack:atlas OPENBLAS_LIB_DEPENDS=3D libblas.so:math/blas \ libopenblas.so:math/openblas tweak your default if you want or make sure to use OPTION_SET and OPTION_UN= SET using ports.conf if using portconf =3D=3D 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=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -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=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -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 =3D ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs =3D ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language =3D c define_macros =3D [('HAVE_CBLAS', None)] FOUND: libraries =3D ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs =3D ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language =3D c define_macros =3D [('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=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -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 =3D ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs =3D ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language =3D c define_macros =3D [('HAVE_CBLAS', None)] FOUND: libraries =3D ['openblas', 'gfortran', 'openblas', 'gfortran'] library_dirs =3D ['/usr/local/lib', '/usr/local/lib/gcc10/gcc/x86_64-portbld-freebsd13.0/10.3.0/../../../'] language =3D c define_macros =3D [('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 =3D=3D=3DOPENBLAS OPTION check-orphans =3D=3D=3D=3D> Checking for pkg-plist issues (check-plist) =3D=3D=3D> Parsing plist =3D=3D=3D> Checking for items in STAGEDIR missing from pkg-plist =3D=3D=3D> Checking for items in pkg-plist which are not in STAGEDIR =3D=3D=3D> No pkg-plist issues found (check-plist) =3D=3D=3DOPENBLAS 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 =3D=3D=3DATLAS 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=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -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=3DATLAS 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 Setting PTATLAS=3DATLAS 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=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -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=3Dwestmere -fstack-protector-strong -fno-strict-aliasing -= O2 -pipe -march=3Dwestmere -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=3DATLAS Setting PTATLAS=3DATLAS Setting PTATLAS=3DATLAS 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 =3D ['/usr/local/include'] language =3D f77 libraries =3D ['alapack', 'ptf77blas', 'ptcblas'] library_dirs =3D ['/usr/local/lib'] FOUND: include_dirs =3D ['/usr/local/include'] language =3D f77 libraries =3D ['alapack', 'ptf77blas', 'ptcblas'] library_dirs =3D ['/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=3DATLAS 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=3DATLAS Setting PTATLAS=3DATLAS Setting PTATLAS=3DATLAS Setting PTATLAS=3DATLAS Setting PTATLAS=3DATLAS FOUND: include_dirs =3D ['/usr/local/include'] language =3D c define_macros =3D [('HAVE_CBLAS', None)] libraries =3D ['ptf77blas', 'ptcblas', 'ptf77blas', 'ptcblas'] library_dirs =3D ['/usr/local/lib'] FOUND: include_dirs =3D ['/usr/local/include'] language =3D c define_macros =3D [('HAVE_CBLAS', None)] libraries =3D ['ptf77blas', 'ptcblas', 'ptf77blas', 'ptcblas'] library_dirs =3D ['/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 =3D=3D=3DATLAS OPTION check-orphans =3D=3D=3D=3D> Checking for pkg-plist issues (check-plist) =3D=3D=3D> Parsing plist =3D=3D=3D> Checking for items in STAGEDIR missing from pkg-plist =3D=3D=3D> Checking for items in pkg-plist which are not in STAGEDIR =3D=3D=3D> No pkg-plist issues found (check-plist) =3D=3D=3DATLAS 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 --=20 You are receiving this mail because: You are the assignee for the bug. You are on the CC list for the bug.=