Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

build/pkgs/openblas/spkg-configure.m4: Reject version 0.3.22 #35377

Merged
merged 1 commit into from
Apr 6, 2023

Conversation

mkoeppe
Copy link
Contributor

@mkoeppe mkoeppe commented Mar 28, 2023

📚 Description

openblas 0.3.22 is broken, see:

We reject it.

📝 Checklist

  • The title is concise, informative, and self-explanatory.
  • The description explains in detail what this PR is about.
  • I have linked a relevant issue or discussion.
  • I have created tests covering the changes.
  • I have updated the documentation accordingly.

⌛ Dependencies

@tobiasdiez
Copy link
Contributor

Shouldn't the conda version be restricted as well, otherwise this will lead to problems once 0.3.22 is released on conda (which happens with conda-forge/openblas-feedstock#150)

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Mar 29, 2023

Trusting the packagers to not package a broken version

@jhpalmieri
Copy link
Member

With this branch applied to 10.0.beta6, I ran ./bootstrap and ./configure and it rejected the system's version of openblas, which is good. I am seeing doctest failures, though. For example:

File "src/sage/tests/books/computational-mathematics-with-sagemath/float_doctest.py", line 402, in sage.tests.books.computational-mathematics-with-sagemath.float_doctest
Failed example:
    NearlySingularMatrix(RDF,n).det() == 0.0
Expected:
    True
Got:
    False

and

File "src/sage/matrix/matrix_integer_dense.pyx", line 3722, in sage.matrix.matrix_integer_dense.Matrix_integer_dense.determinant
Failed example:
    A.determinant(algorithm='linbox',proof=False) == d
Expected:
    True
Got:
    False

The full list of failures:

sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/plot/plot3d/plot3d.py  # Killed due to segmentation fault
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/geometry/polyhedron/library.py  # 1 doctest failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/modular/modform_hecketriangle/readme.py  # 1 doctest failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/modular/modform_hecketriangle/abstract_space.py  # 3 doctests failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/tests/books/computational-mathematics-with-sagemath/float_doctest.py  # 1 doctest failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/graphs/generators/families.py  # 2 doctests failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/matrix/matrix_integer_dense.pyx  # 1 doctest failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/modular/modform_hecketriangle/space.py  # 2 doctests failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/graphs/graph_generators.py  # 1 doctest failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/combinat/posets/posets.py  # Killed due to abort
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/stats/time_series.pyx  # 8 doctests failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/doc/en/thematic_tutorials/numerical_sage/scipy.rst  # Killed due to segmentation fault
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/geometry/polyhedron/base7.py  # 1 doctest failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/doc/it/faq/faq-usage.rst  # Killed due to segmentation fault
sage -t --long --random-seed=244469894400536995489090131539290714853 src/doc/en/faq/faq-usage.rst  # Killed due to segmentation fault
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/matrix/matrix_double_dense.pyx  # 2 doctests failed
sage -t --long --random-seed=244469894400536995489090131539290714853 src/sage/numerical/sdp.pyx  # 2 doctests failed

Some of these are known issues being tracked elsewhere, but some are new.

@dimpase
Copy link
Member

dimpase commented Mar 29, 2023

could you try uninstalling brew's openblas and see if it helps these tests?

@jhpalmieri
Copy link
Member

First a clarification: I haven't run full tests on an Apple M2 machine, but I don't see any failures in src/sage/matrix, for example: I'm only seeing the failures on an Intel machine.

Second, I uninstalled homebrew's openblas and I got the same failures. (I did brew uninstall --ignore-dependencies openblas, for what it's worth.) These must be old failures and not due to this ticket, but it's a problem if Sage's openblas doesn't work well.

@GMS103
Copy link
Member

GMS103 commented Apr 2, 2023

  • SageMath 10.0.beta7
  • Apple Silicon Macs ("M" series)
  • macOS 11.7.5, macOS 12.6.4, macOS 13.3
  • Homebrew up to date but without OpenBLAS (still at version 0.3.22 which is buggy).

make installs OpenBLAS SPKG version 0.3.21.
make ptestlong succeeds (except for unrelated issues).

@jhpalmieri
Copy link
Member

My earlier problems are probably just dependent on that particular machine. On another Intel mac, all relevant tests pass.

@dimpase
Copy link
Member

dimpase commented Apr 2, 2023 via email

@GMS103
Copy link
Member

GMS103 commented Apr 2, 2023 via email

@jhpalmieri
Copy link
Member

Even if a later version fixes this bug, we still need to black-list 0.3.22.

@vbraun vbraun merged commit 8a355d2 into sagemath:develop Apr 6, 2023
@mkoeppe mkoeppe added this to the sage-10.0 milestone Apr 7, 2023
@jhpalmieri jhpalmieri mentioned this pull request Apr 12, 2023
5 tasks
@mkoeppe mkoeppe deleted the openblas_reject_broken_0_3_22 branch April 30, 2023 05:34
vbraun pushed a commit that referenced this pull request May 7, 2023
    
### 📚 Description

The configure script was updated to reject openblas 0.3.22 but the test
introduced in #35377  is too restrictive and excludes openblas 0.3.23.
This patch addresses the issue for the non `pkg-config` case (currently
on Archlinux, `openblas.pc` has no version number and `pkg-config` is
not used in the configure process).

### 📝 Checklist

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies
    
URL: #35524
Reported by: Rémy Oudompheng
Reviewer(s): Dima Pasechnik, Matthias Köppe, Rémy Oudompheng
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants