I ran "brew upgrade" recently on two different Macs, one Intel and one Apple Silicon, and now the Sage documentation fails to build:
[hyperboli] from /Users/jpalmier/Desktop/Sage/sage_builds/TESTING/clean/sage-10.0.beta5/src/doc/en/reference/hyperbolic_geometry/sage/geometry/hyperbolic_space/hyperbolic_geodesic.rst:
[hyperboli] Traceback (most recent call last):
[hyperboli] File "sage/matrix/matrix_double_dense.pyx", line 345, in sage.matrix.matrix_double_dense.Matrix_double_dense.__invert__
[hyperboli] M._matrix_numpy = scipy.linalg.inv(self._matrix_numpy)
[hyperboli] File "/Users/jpalmier/Desktop/Sage/sage_builds/TESTING/clean/sage-10.0.beta5/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/scipy/linalg/_basic.py", line 975, in inv
[hyperboli] raise LinAlgError("singular matrix")
[hyperboli] numpy.linalg.LinAlgError: singular matrix
[hyperboli] During handling of the above exception, another exception occurred:
[hyperboli] Traceback (most recent call last):
[hyperboli] File "/Users/jpalmier/Desktop/Sage/sage_builds/TESTING/clean/sage-10.0.beta5/local/var/lib/sage/venv-python3.11/lib/python3.11/site-packages/matplotlib/sphinxext/plot_directive.py", line 517, in _run_code
[hyperboli] exec(code, ns)
[hyperboli] File "<string>", line 3, in <module>
[hyperboli] File "/Users/jpalmier/Desktop/Sage/sage_builds/TESTING/clean/sage-10.0.beta5/src/sage/geometry/hyperbolic_space/hyperbolic_geodesic.py", line 1625, in perpendicular_bisector
[hyperboli] isom_mtrx = S.inverse() * (T1 * T2) * S
[hyperboli] ^^^^^^^^^^^
[hyperboli] File "sage/matrix/matrix2.pyx", line 9964, in sage.matrix.matrix2.Matrix.inverse
[hyperboli] return ~self
[hyperboli] File "sage/matrix/matrix_double_dense.pyx", line 347, in sage.matrix.matrix_double_dense.Matrix_double_dense.__invert__
[hyperboli] raise ZeroDivisionError("input matrix must be nonsingular")
[hyperboli] ZeroDivisionError: input matrix must be nonsingular
(I saw this first with 10.0.beta6 but then went and tried with 10.0.beta5, which had succeeded earlier. Now it fails.)
Perhaps this is due to an upgraded openblas? That's the most obvious among the recently upgraded packages, at least to me: homebrew just upgraded these:
drwxr-xr-x 3 jpalmier admin 96 Mar 27 10:21 gnupg
drwxr-xr-x 3 jpalmier admin 96 Mar 27 10:21 pinentry
drwxr-xr-x 3 jpalmier admin 96 Mar 27 10:21 npth
drwxr-xr-x 3 jpalmier admin 96 Mar 27 10:21 libusb
drwxr-xr-x 3 jpalmier admin 96 Mar 27 10:21 libksba
drwxr-xr-x 3 jpalmier admin 96 Mar 27 10:21 libgcrypt
drwxr-xr-x 3 jpalmier admin 96 Mar 27 10:21 libassuan
drwxr-xr-x 3 jpalmier admin 96 Mar 27 10:21 libgpg-error
drwxr-xr-x 3 jpalmier admin 96 Mar 27 10:00 gh
drwxr-xr-x 3 jpalmier admin 96 Mar 27 10:00 imagemagick
drwxr-xr-x 3 jpalmier staff 96 Mar 27 09:59 tox
drwxr-xr-x 3 jpalmier admin 96 Mar 27 09:59 primecount
drwxr-xr-x 3 jpalmier staff 96 Mar 27 09:59 tcl-tk
drwxr-xr-x 3 jpalmier admin 96 Mar 27 09:59 qt
drwxr-xr-x 3 jpalmier admin 96 Mar 27 09:59 gobject-introspection
drwxr-xr-x 3 jpalmier admin 96 Mar 27 09:59 netpbm
drwxr-xr-x 3 jpalmier admin 96 Mar 27 09:59 glib
drwxr-xr-x 3 jpalmier admin 96 Mar 27 09:59 mpg123
drwxr-xr-x 3 jpalmier admin 96 Mar 27 09:59 cmake
drwxr-xr-x 3 jpalmier staff 96 Mar 27 09:59 ghostscript
drwxr-xr-x 3 jpalmier staff 96 Mar 27 09:59 sqlite
drwxr-xr-x 3 jpalmier staff 96 Mar 27 09:59 openblas
"brew info openblas" says that it's version 0.3.22, whereas Sage comes with 0.3.21. Everything works after building with `./configure --with-system-openblas=no`, but that flag triggers some other packages to be built by Sage rather than come from the system, so I'm not 100% sure it's the issue.
Has anyone else seen this?
--
John